Как смоделировать точку останова Delphi в коде?
Я почти уверен, что видел это раньше, но я не узнал / не вспомнил, как это сделать. Я хочу иметь строку кода, которая при запуске из отладчика Delphi, я хочу, чтобы отладчик всплывал, как будто на этой строке была точка останова.
Что-то вроде:
FooBar := Foo(Bar);
SimulateBreakPoint; // Cause break point to occur in Delphi IDE if attached
WriteLn('Value: ' + FooBar);
Надеюсь, это имеет смысл. Я знаю, что мог бы использовать исключение, но это было бы намного больше, чем я хочу. Это для демонстрационного кода.
Заранее спасибо!
2 ответа
Решение
Чтобы вызвать отладчик из кода (предположительно, у меня нет удобной копии delphi):
asm int 3 end;
Смотрите эту страницу:
http://17slon.com/blogs/gabr/2008/03/debugging-with-lazy-breakpoints.html
Как заявил Андреас Хаусладен в комментариях к этой статье, функция Win32 API DebugBreak() менее требовательна к DOS и одинаково хорошо работает.