Я сожалею, если заголовок вопроса может дезинформировать Вас, но я не могу найти, что надлежащее слово объясняет это.
Если бы Вы когда-нибудь работающий с.NET, Вы знали бы, что существует, Утверждают класс, который автоматически проснется и присоединит отладчик при необходимости и затем иметь отладчик (Visual Studio), приостанавливающаяся при команде Assert, учитывая отказавшую команду Assert.
Учитывая я запускаю программу Java и имею соединенный отладчик, затем как у меня может быть отладчик для повреждения на определенном условии без вручную установки точки останова?
Я ожидаю что-то как этот:
void doSomeThing(String x){
if (x==null) breakDebuggerNow();
}
Насколько я знаю, в Java нет такой возможности. JVM не знает об отладчике, если он не подключен. Для .Net это Windows, которая делает некоторую пользу в этом аспекте. Однако есть assert
, предназначенное для такого использования. Это вызовет ошибку java.lang.AssertionError, которая не является Exception
и, следовательно, не должна обрабатываться обычными catch
es. Если ваш отладчик настроен для обработки необработанных исключений (или, скорее, Throwable
s), он перехватит такой случай.
При использовании eclipse можно изменять точки останова в представлении точек останова (по умолчанию в перспективе отладки) с помощью контекстного меню (щелкните правой кнопкой мыши точку останова). Можно задать счетчик попаданий или включить условие. Другой вариант - срабатывать на исключениях, нажмите на значок с набором 'J!', выберите конкретное исключение.