在我作为一名C/C++程序员的过去生活中,有些平台和调试器组合可以选择性地暂停线程。在触发断点后,可以发出命令(或在GUI中点击)来挂起/恢复线程。在进一步的步骤/下一步/运行/继续命令之后,挂起的线程不会执行任何指令。
今天的任何JVM或Java IDE都可以实现这个功能吗?我使用IntelliJ,但我没有看到这个功能,也无法通过Google找到任何信息。
澄清一下:我不是在询问断点的线程策略,例如,挂起当前线程还是所有线程。我知道JVM调试器的这个功能。
开发环境是原始的:我使用IntelliJ Java IDE,并且可以访问相关的源代码。
最后,我意识到“Java调试器”是一个比较模糊的术语。据我所知,Sun发布了一种调试器用于与JVM通信的调试格式。也许每个JVM(IBM vs Sun vs IcedTea vs ???)都支持不同的调试能力,但我只熟悉Sun/Oracle JVM。
今天的任何JVM或Java IDE都可以实现这个功能吗?我使用IntelliJ,但我没有看到这个功能,也无法通过Google找到任何信息。
澄清一下:
boolean threadSuspended
和if (!threadSuspended)
模式,并在调试器中手动设置该布尔值。很抱歉我找不到更好的答案。 - vikingsteve