我的一个程序停在某个位置(也不例外,似乎也没有崩溃),但我不知道那个位置。而不是设置一个断点(这意味着你已经需要知道某些事情发生的位置),是否有可能获得一个代码行被执行为最后的信息(=之前)?我正在使用Eclipse,这可能在调试视图中以某种方式可能吗?
想想一步一步的代码执行,除了我不想逐步点击一百万次,而Eclipse或其他工具应该为我做。
感谢您提供任何暗示!
答案 0 :(得分:1)
我遇到了同样的问题。绿色箭头/三角形右侧有一个“暂停”按钮(两个垂直的黄色条 - 见图像的右上角),这将阻止您进入调试器。在识别部分代码之前,您可能需要仔细查看调试堆栈。
这对我来说非常有用 - 我正处于一个正则表达式的灾难性回溯中(这可能需要数年才能终止!)而我绝不会猜到这一点。
[如果您没有任何断点,则需要从调试器透视图开始查看按钮。]
答案 1 :(得分:0)
在Eclipse中,如果单击调试UI中的“挂起”按钮,则可以暂停线程或整个VM。你可能会挂在某种类型的等待之后,可能需要沿着堆栈跟踪走下去,找到代码中调用正在等待的服务的行。
答案 2 :(得分:0)
正如其他人所说,Eclipse有Suspend按钮。
但是,老式的方法是添加大量System.out.println("No problem so far at line 'x' " )
语句并手动跟踪错误。