我知道(jvm)启动选项让jvm等到调试器连接 - 这不是我的意思。
是否可以从Java代码中检测调试器的附件,以便我可以例如写一个“脚本”,正在做一些东西,然后在某一点让我的应用程序等待调试器?
我知道(jvm)启动选项让jvm等到调试器连接 - 这不是我的意思。
是否可以从Java代码中检测调试器的附件,以便我可以例如写一个“脚本”,正在做一些东西,然后在某一点让我的应用程序等待调试器?
不可以。选项是JVM选项,在调试器连接之前不会执行Javacode。然而,您可以让应用程序启动,并在getter上为变量启动,您可以从调试器设置该变量以继续使用您的应用程序。
根据你想做的事情,可能值得调查一下 onthrow
JDWP子选项。我实际上没有尝试过这个;-)但似乎你可以创建一个特殊的异常类型,你抛出并捕获以触发JVM暂停。如链接示例所示,结合使用 launch
可以提供一些有趣的替代品。当然,逻辑/工作流程与您所表达的不同,但它需要考虑......
看到 确定Eclipse中的Java应用程序是否处于调试模式 用于检测调试器
您可以使用TimerTask轮询附件