如何确定Java进程是否在调试器中启动?

maa*_*nus 3 java debugging

我有时会使用一个计时器来调用System.exit,以便在几秒钟之后终止我的丢弃代码片段,这在它吃100%CPU和Windows因此而不负责任时非常有用.它非常方便,除非我在调试器中启动它.在调试器中我想自动禁用它,否则我会忘记它并且我的调试过程被杀死.我可以看一下进程是否在调试器中启动了吗?

注意:我知道我不应该将此用于任何严肃的事情.我不打算.

Rod*_*ahn 5

点击这里.这将检查JDWP.

基本上:

boolean isDebug = java.lang.management.ManagementFactory.getRuntimeMXBean().
    getInputArguments().toString().indexOf("-agentlib:jdwp") > 0;
Run Code Online (Sandbox Code Playgroud)