Есть ли способ сигнализировать точку останова в Java, например System.Diagnostics.Debugger.Break() в С#?
System.Diagnostics.Debugger.Break() как с помощью java?
Ответ 1
Не совсем. Но я предполагаю, что он может быть реализован путем доступа к интерфейсу отладки через интерфейс и установки точки останова в текущий класс, где реализована функция Break(). Интересный вопрос, хотя.
Ответ 2
да, я хотел что-то вроде этого, поэтому я реализовал довольно простое решение из моих дней C. Это может быть полезно, если вы хотите получить легкий ответ.
public class DebugHelper
{
public static breakHere()
{
int i = 0; // Set breakpoint on this line in your IDE
}
}
Использовать этот метод. Поместите контрольную точку в свой код на "int я = 0;" линия. И вызовите этот метод в коде, который вы отлаживаете. Это быстрый ответ на получение динамической отладки и быстрее, чем часы на переменной.
Пример...
private something(...)
{
for( ... )
{
if( null == value ) DebugHelper.breakHere();
}
}
Конечно, в C вы можете поместить правильную инструкцию точки останова ASM;-) Это работает отлично для меня в редких случаях, я хочу что-то вроде этого.
Ответ 3
Как насчет того, чтобы бросить и поймать конкретное исключение для этой цели и создать контрольную точку исключения в вашей среде IDE?
Ответ 4
Обычно точки прерывания - это функция, предлагаемая самой IDE. Возможно, вы можете взглянуть на Java Debugger Architecture.