我知道(jvm)启动选项让jvm等到连接调试器 - 这不是我的意思。
是否可以从Java代码中检测调试器的附件,以便我可以例如写一个“脚本”,做一些东西,然后在某一点让我的应用程序等待调试器?
答案 0 :(得分:8)
没有。选项是JVM选项,在调试器连接之前不会执行任何Javacode。然而,您可以让应用程序启动,并在变量的getter上旋转,您可以从调试器设置该变量以继续使用该应用程序。
答案 1 :(得分:3)
根据您的喜好,调查onthrow
JDWP sub-option可能是值得的。我实际上没有尝试过这个;-)但似乎你可以创建一个特殊的异常类型,你抛出并捕获以触发JVM暂停。如链接示例所示,与launch
结合可以提供一些有趣的替代方案。当然,逻辑/工作流程与您所表达的不同,但需要考虑......
答案 2 :(得分:0)
请参阅Determine if a java application is in debug mode in Eclipse检测调试器
您可以使用TimerTask轮询附件