Как записать виртуальную условную точку останова в Java

Я сожалею, если заголовок вопроса может дезинформировать Вас, но я не могу найти, что надлежащее слово объясняет это.

Если бы Вы когда-нибудь работающий с.NET, Вы знали бы, что существует, Утверждают класс, который автоматически проснется и присоединит отладчик при необходимости и затем иметь отладчик (Visual Studio), приостанавливающаяся при команде Assert, учитывая отказавшую команду Assert.

Учитывая я запускаю программу Java и имею соединенный отладчик, затем как у меня может быть отладчик для повреждения на определенном условии без вручную установки точки останова?

Я ожидаю что-то как этот:

void doSomeThing(String x){
   if (x==null) breakDebuggerNow();
}
1
задан Phương Nguyễn 22 April 2010 в 14:10
поделиться

2 ответа

Насколько я знаю, в Java нет такой возможности. JVM не знает об отладчике, если он не подключен. Для .Net это Windows, которая делает некоторую пользу в этом аспекте. Однако есть assert , предназначенное для такого использования. Это вызовет ошибку java.lang.AssertionError, которая не является Exception и, следовательно, не должна обрабатываться обычными catch es. Если ваш отладчик настроен для обработки необработанных исключений (или, скорее, Throwable s), он перехватит такой случай.

1
ответ дан 3 September 2019 в 01:06
поделиться

При использовании eclipse можно изменять точки останова в представлении точек останова (по умолчанию в перспективе отладки) с помощью контекстного меню (щелкните правой кнопкой мыши точку останова). Можно задать счетчик попаданий или включить условие. Другой вариант - срабатывать на исключениях, нажмите на значок с набором 'J!', выберите конкретное исключение.

1
ответ дан 3 September 2019 в 01:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: