Как смоделировать точку останова Delphi в коде? - PullRequest
25 голосов
/ 02 октября 2008

Я почти уверен, что видел это раньше, но я не узнал / не вспомнил, как это сделать. Я хочу иметь строку кода, которая при запуске из отладчика Delphi, я хочу, чтобы отладчик всплывал, как будто на этой строке была точка останова.

Что-то вроде:

FooBar := Foo(Bar);
SimulateBreakPoint; // Cause break point to occur in Delphi IDE if attached
WriteLn('Value: ' + FooBar);

Надеюсь, это имеет смысл. Я знаю, что могу использовать исключение, но это будет намного больше, чем я хочу. Это для демонстрационного кода.

Заранее спасибо!

Ответы [ 2 ]

37 голосов
/ 02 октября 2008

Для запуска отладчика из кода (предположительно, у меня нет удобной копии delphi):

asm int 3 end;

Смотрите эту страницу:

http://17slon.com/blogs/gabr/2008/03/debugging-with-lazy-breakpoints.html

14 голосов
/ 02 октября 2008

Как отметил Андреас Хаусладен в комментариях к этой статье, функция Win32 API DebugBreak () меньше работает в DOS и одинаково хорошо работает.

...