【问题标题】:Eclipse Java Debugger just stepping after first resumeEclipse Java 调试器在第一次恢复后只是步进
【发布时间】:2014-11-10 13:52:57
【问题描述】:

在 JDK8 中使用 Eclipse Juno 4.4.1 简单的 java 应用程序/junit(没关系)调试在第一次恢复后正常工作:

  1. 设置断点
  2. 调试
  3. 调试器保留在第一个断点
    • 已启用恢复、暂停、终止
    • 进入、跨步、返回禁用(灰色)
    • 变量未列出
  4. 恢复后调试器在下一个断点处正常工作(步进和变量)

已经尝试过新项目、新工作区、导出/导入多项设置。 -> 问题在新工作区消失了 可能是配置/插件问题,但无法隔离 当我认为我得到它时,问题再次出现(在重启 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 的同样问题
  • 你能检查一下如果你暂停而不是恢复会发生什么?

标签: java eclipse debugging


【解决方案1】:

要明确: 确保 Window/Show View/Debug>(向下箭头按钮)/Java/Show Thread Groups 未选择

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-18
    • 1970-01-01
    • 2019-01-16
    • 2013-09-05
    相关资源
    最近更新 更多