我希望有这样的东西:
long timeout = isDebugModeActive() ? Long.MAX_VALUE : 10000;
因此,当调试器在断点处停止时,不会发生超时。
是否有任何API或系统/环境属性可以找到它?
答案 0 :(得分:2)
this thread的作者找到了这个解决方案:
java.lang.management.ManagementFactory.getRuntimeMXBean().
getInputArguments().toString().indexOf("-agentlib:jdwp") > 0;
标准免责声明似乎是合适的 - 这非常脆弱(因为它在触发时非常具体)并且可能导致Heisenbugs(当您尝试时不会出现错误调试)。对于许多场景,系统属性或环境变量可能更好。
答案 1 :(得分:1)
您可以进行新的运行配置(运行 - >运行配置)并在那里添加环境变量或系统属性。
答案 2 :(得分:1)
如果您开发RCP应用程序,您可以使用:
if(Platform.inDevelopmentMode()) {
// ....
}
答案 3 :(得分:1)
可以通过检查启动程序的JVM
参数来实现。
你会看到:
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=[port]
然后检查端口正在侦听或有连接。