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

有时,我会使用计时器来调用System.exit,以便在几秒钟后杀死我扔掉的代码片段,这在万一占用100%CPU且Windows对此不负责任的情况下非常有用.这很方便,除非我在调试器中启动它.在调试器中,我想自动禁用它,否则我会忘记它,并且调试过程会被杀死.我可以确定是否在调试器中启动了进程吗?

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

解决方法:

检查here.这将检查JDWP.

基本上:

boolean isDebug = java.lang.management.ManagementFactory.getRuntimeMXBean().
    getInputArguments().toString().indexOf("-agentlib:jdwp") > 0;
上一篇:haproxy故障转移群集


下一篇:c-堆栈溢出-内存中的缓冲区位置