【问题标题】:How to find out if a Java process was started in debugger?如何确定 Java 进程是否在调试器中启动?
【发布时间】:2011-06-24 02:18:18
【问题描述】:

我有时会使用计时器来调用 System.exit,以便在几秒钟后杀死我的一次性代码 sn-p,这在它占用 100% CPU 并且 Windows 会因此而变得不负责任的情况下非常有用。它非常方便,除非我在调试器中启动它。在调试器中,我想自动禁用它,否则我会忘记它并且我的调试进程被杀死。 我可以查明某个进程是否在调试器中启动了吗?

注意:我知道我不应该将它用于任何严重的事情。我不会。

【问题讨论】:

标签: java debugging


【解决方案1】:

检查here。这将检查JDWP

基本上:

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

【讨论】:

  • 酷,它有效。唯一的问题:我需要等待 10 分钟才能接受这个答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-10
  • 2012-09-17
  • 2011-04-16
  • 2013-01-22
  • 2012-03-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多