Если вы устанавливаете уровень отладки из вашей собственной программы, это может быть строка вроде:
public static final boolean DEBUG_MODE = System.getProperty("java.vm.info", "").contains("sharing");
сделает свое дело.
Только что протестировал в eclipse3.5:
package test;
public class Test
{
/**
* @param args
*/
public static void main(String[] args)
{
System.out.println(System.getProperty("java.vm.info", ""));
}
}
отобразит:
mixed mode, sharing
если запущен без отладки
mixed mode
если выполняется с помощью средства запуска отладки
Йоахим Зауэр комментарии:
Это сильно зависит от системы.
Я предполагаю, что «совместное использование» означает, что совместное использование классов между виртуальными машинами активно.
Это очень новая функция и доступна только на некоторых платформах.
Кроме того, может быть много возможных причин для его включения или отключения, поэтому я бы не стал использовать это для обнаружения в режиме отладки.
(Примечание: я протестировал его с последней версией jdk1.6b14. Я оставляю это как CW-ответ.)