Tag: 调试

无法摆脱JdbcOdbcDriver.finalize()中的断点

我使用MyEclipse 8.6 + Apache Tomcat 5.5.27 + JRockit 1.6.0 05进行Web开发。 每次我从MyEclipse以调试模式启动Tomcat时,它都会挂起JdbcOdbcDriver.finalize():96″的NullPointerException JdbcOdbcDriver.finalize():96″ 。堆栈跟踪只是Thread.run (当然,终结器): protected synchronized void finalize() { if (OdbcApi.getTracer().isTracing()) { OdbcApi.getTracer().trace(“Driver.finalize”); } try { if (hDbc != 0L) { disconnect(hDbc); closeConnection(hDbc); hDbc = 0L; } } catch (SQLException localSQLException) {} } 真的很烦人,每个工作日都会看到这几百次。 我没有把这个断点放在这里,我无法禁用它。 我检查了exception断点是否已关闭。 你有什么建议吗? 断点如何“冻结”到JVM中?

Eclipse在单独的窗口中打开代码

我在eclipse中编程,在两个监视器设置上运行。 在其中一个监视器上,我只将Project Explorer和Editor作为自定义Perspective,另一个我得到了其他工具,如控制台,调试,任务,变量,断点等 例如,当我单击任务视图中的任务时,这将打开// TODO注释所在的资源。 唯一的问题是资源是在第二个监视器中打开的。 如何将eclipse配置为始终在现有编辑器中打开资源文件,即使它位于另一个窗口中?

调试语句的最佳实践是什么,其中包含字符串操作?

我经常发现自己在log4net和log4j的调试语句中添加了连接字符串或使用字符串格式化器,我应该用“if debug”块来包围这些调试语句,以便通过处理这些参数来阻止自己浪费资源,即使调试语句将会不打印出来? 我会假设检查if(isDebug)是否比发生字符串操作更快更有效,但是当调试级别设置高于debug时,它会导致程序以不同的方式运行(更快),这可能意味着同步问题当我写入日志时,在生产中发生的事情不会发生。

从崩溃转储中确定Eclipse的版本

我有Eclipse的崩溃转储并想报告错误。 对于错误报告,我想指定崩溃的Eclipse版本,因为它可能与问题有关。 不幸的是,我通常的方法不起作用, lm vm不显示版本信息: 0:048> lm vm eclipse start end module name 00000000`00400000 00000000`0044f000 eclipse (deferred) Image path: C:\Program Files\eclipse\eclipse.exe Image name: eclipse.exe Timestamp: Wed Feb 04 14:12:28 2015 (54D21ABC) CheckSum: 00050686 ImageSize: 0004F000 File version: 0.0.0.0 Product version: 0.0.0.0 File flags: 0 (Mask 0) File OS: 0 Unknown Base File type: 0.0 Unknown […]

如何在java中处理bug“dead store to local variable”?

我写了一个简单的测试代码。 这是一个圆圈。 我想大多数人都可以想象什么是圆圈类,所以我不会粘贴它。 在测试代​​码中,我尝试使用无效点测试圆形构造函数,并假设抛出exception。 但是发生了一个错误。 我在线检查,但仍然不知道如何解决问题。 有没有人可以帮助我? 谢谢 代码信息,bug在下面代码的最后一句中 /** * Tests that the Circle constructor throws an exception for center Point. */ @Test (expected = IllegalArgumentException.class) public void testIllegalCenter() { //Instantiates a circle with an incorrect center point. @SuppressWarnings(“unused”) final Circle testCircle = new Circle(VALID_RADIUS, INVALID_POINT, VALID_COLOR); } 错误报告 错误:在CircleTest.testIllegalCenter()中将测试存储到testCircle 此指令为局部变量赋值,但不会在任何后续指令中读取或使用该值。 通常,这表示错误,因为从未使用计算的值。 请注意,Sun的javac编译器通常会为最终的局部变量生成死存储。 因为FindBugs是一个基于字节码的工具,所以没有简单的方法来消除这些误报。

代码中罕见的无限循环,不想等待它再次发生

好吧,所以我有一个在netbeans中运行的遗传算法,它运行了5个小时,似乎进入了无限循环。 有什么方法可以附加调试器吗? 或者至少得到一些关于它在代码中的位置的线索? 在我等待它再次发生的时候,我宁愿不再坐5个小时。

如何在Eclipse Java调试器中将字节数组显示为char数组?

我想在Eclipse(Helios Release,build id:20100617-1415)Java调试器中查看字节数组作为char数组? 那可能吗? 怎么样? 例如,我想显示这个: … as:’\ 0’,’0’,’G’,’\ 22’等。

附加调试器(使用eclipse)播放框架失败

我正在使用Scala在eclipse IDE的Play框架上编写一个Web。 我正在尝试调试我的应用程序,但命中调试附加失败。 我尝试使用Java而不是Scala进行切换,但是我得到了同样的错误。 这就是我的工作。 创建一个项目并运行play clean compile 运行play debug run 在Eclipse中,设置’debug configration’ – >远程java应用程序 – > host:localhost,port:9999和common:debug 在浏览器中键入URL并输入:localhost:9999。 然后在play framework命令行中出现以下故障:Debugger无法附加:握手失败 – 收到>GET / HTTP/1.1JDWP-Handshake< 知道什么是错的吗?

Eclipse java断点 – 目的是什么?

我正在使用Android教程,我刚刚进入调试部分,我想知道断点的目的是什么。 我还说不出来……它实际上是在停止应用程序所以我可以确定它会一直运行到那一点,或者我可以设置多个断点并将它们用作标记来从断点到断点检查“停止并继续”我的代码?

在Netbeans中运行/调试Maven JavaSE应用程序

我有一个JavaSE多模块应用程序,我想在调试模式下构建和运行。 然后,一旦应用程序运行(在我的本地计算机上),我希望能够附加到该进程。 我们使用的是Maven,IDE是Netbeans。 我已经找到了这个信息: 您可以调试NetBeans中的任何Maven目标转到/Project Properties/Actions/ ,选择您要调试的目标,在最后一个选项Set Properties选择Add ,然后选择Debug Maven build 。 但是,我不知道要为Execute Goals输入什么以使其在Debug模式下运行。 我可以选择Run – > Clean and Build Maven Project ,看看我的项目是在调试模式下构建的(即[debug] execute contextualize)。 我在这里找到了一个答案,说明了8000本地机器的默认端口。 那么如何在该端口上运行应用程序,以便我可以附加到它?