DebugBreak 相当于 Java 中的佼佼者?

2022-09-02 14:00:43

我正在寻找一种从Java代码闯入调试器的方法,而无需在IDE中设置断点。

在Win32中,在C#中有DebugBreak()等效于C#,但我在Java中找不到任何东西。DebugBreak()

我想做的是:假设我有一个30秒超时的等待,但在正常情况下,等待应该总是<1秒。我想使用ByteMan或类似的东西来等待1s超时,如果等待超时,则闯入调试器。


答案 1

不是直接回答您的问题,但在大多数IDE中,您可以设置。conditional breakpoints

这将要求您在超时之前在代码中设置时间戳变量,并在超时之后在断点中测试其值。如果增量大于阈值,则有条件触发断点。


答案 2

这个问题的海报已经完成了我一直在寻找的东西:生产JVM的安全调试

它再现了 的最佳功能,即只有在命中断点后才能将 IDE 附加到程序。DebugBreak