![]() |
Im Debugger anhalten ohne Breakpoint
Hallo,
manchmal ist es notwendig an einer bestimmten Stelle beim Debuggen anzuhalten. Normalerweise verwendet man dazu einen Breakpoint. Es geht aber auch anders:
Delphi-Quellcode:
Das Programm bringt aber außerhalb von Delphi an dieser Stelle eine externe Exception (Fehlermeldung)
begin
... i := 0; asm int 3 end; i := 1; // <- hier bleibt Delphi im Debugger stehen !!! ... end; Aber man könnte sich z.B. eine Procedure schreiben die Prüft ob Delphi läuft und dann int 3 aufruft.
Delphi-Quellcode:
Oder man könnte es bei der bedingten Kompilierung einsetzten:
procedure myBreakPoint;
begin if (DebugHook <> 0) then asm int 3 end; end; // <- Delphi bleibt dann hier stehen. // 1 x F8 drücken und man ist da wo man hin will ;-) ... if i>5 then myBreakPoint; ...
Delphi-Quellcode:
In meinen Quellcodes findet man ab und zu so was:
...
{$IFDEF DEBUG}asm int 3 end;{$ENDIF} // Breakpoint ...
Delphi-Quellcode:
(i>5) ist die Bedingung bei der Angehalten werden soll.
...
{$IFDEF DEBUG}if (i>5) and (DebugHook <> 0) then asm int 3 end;{$ENDIF} // Breakpoint ... Ich hoffe das hilft Euch Euer Dr. MaBuSE |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz