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