【发布时间】:2014-11-10 13:52:57
【问题描述】:
在 JDK8 中使用 Eclipse Juno 4.4.1 简单的 java 应用程序/junit(没关系)调试在第一次恢复后正常工作:
- 设置断点
- 调试
- 调试器保留在第一个断点
- 已启用恢复、暂停、终止
- 步进入、跨步、返回禁用(灰色)
- 变量未列出
- 恢复后调试器在下一个断点处正常工作(步进和变量)
已经尝试过新项目、新工作区、导出/导入多项设置。 -> 问题在新工作区消失了 可能是配置/插件问题,但无法隔离 当我认为我得到它时,问题再次出现(在重启 Eclipse 时)
有什么想法吗?
== 按照要求,但问题似乎取决于 eclipse,而不是代码或 sdk
public static void main(String[] args) {
System.out.println(""); // BP1, debugger holds but no stepping, vars
System.out.println(""); // BP2, debugger holds after resume, stepping available, vars shown
}
更新 它是 Debug 视图中的线程焦点(上下文切换)。当我手动选择主线程时,我可以(微不足道地)控制并再次看到它。
问题 如何自动选择第一个断点的主线程/上下文? 目前,开始调试后选择第一行(“App (4) [Java Application]”)。
堆栈转储:
App (4) [Java Application]
com.test.App at localhost:52658
Thread Group [system]
Daemon System Thread [Reference Handler] (Running)
Daemon System Thread [Finalizer] (Running)
Daemon System Thread [Signal Dispatcher] (Running)
Daemon System Thread [Attach Listener] (Running)
Thread Group [main]
Thread [main] (Suspended (breakpoint at line 6 in com.test.App))
com.test.App.main(java.lang.String[]) line: 6
C:\Program Files\Java\jre8\bin\javaw.exe (10.11.2014 17:38:26)
【问题讨论】:
-
您是否对某些异常设置了常规断点?例如捕获所有 NullPointerExceptions?您是否使用特殊的框架或插件?所以你使用的是没有插件的空白 Eclipse,你没有使用 Spring、Maven 等?
-
很简单:public static void main(String[] args){
System.out.println("test"); ... -
您能否发布代码并通过一些 cmets 告诉我们您在哪一行添加了断点?因为这样我们就可以重现问题了?
-
使用JavaEE,附加插件:runJettyRun 使用纯java项目:无服务器,无maven; JUnit 的同样问题
-
你能检查一下如果你暂停而不是恢复会发生什么?