Мозг и когнитивные функции

пятница, 14 сентября 2007 г.

Как определить, запущено ли Java приложение под отладчиком?

Для JDK1.5 я использую некоторые полезности из JMX API.
RuntimeMXBean позволяет получить доступ к JVM аргументам запуска, в которых ищется соответствующая опция "-agentlib:". Не очень "концептуально" и без использования JPDA.

public static boolean isRunningAsDebug() {
try {
RuntimeMXBean rtb = ManagementFactory.getRuntimeMXBean();
if (rtb!=null) {
List rtargs = rtb.getInputArguments();
if (rtargs==null||rtargs.size()==0) return false;
for (String arg:rtargs)
if (arg!=null&&arg.startsWith("-agentlib:")) return true;
}
return false;
} catch(Throwable err) {
return false;
}
}

Комментариев нет: