![]() |
[Erledigt] S: Erweiterung Verlaufsanzeige bei Debug
Moin,
was ich mit obigem meine: Ich suche eine Erweiterung für die IDE, das mir in einem extra Fenster aufzeigt, in welcher Reihenfolge welche Procedure/Funktion beim Start mit/ohne Debugger durchlaufen wird. Ich weiß ich könnte mich mittels F7/F8 durch den Code hangeln, aber geht das nicht einfacher? Vielleicht gibt es so eine Funktion ja schon in XE5 und ich kenne sie nur nicht. MfG Heiko P.S. Wo sind eigentlich die "grünen Breakpoints" hin. |
AW: S: Erweiterung Verlaufsanzeige bei Debug
Zitat:
Zitat:
|
AW: S: Erweiterung Verlaufsanzeige bei Debug
Meinst du den Stacktrace? Der wird beim Debuggen angezeigt
Wohin die nächsten Schritte führen kann nicht mit Sicherheit gesagt werden, da es ja bedingte Sprünge gibt und dafür müsste der Debugger in die Zukunft schauen können |
AW: S: Erweiterung Verlaufsanzeige bei Debug
Moin,
Zitat:
ButtonKlick ConvertZahlen Ersetze_Zeilen_oben Ersetze_Zeilen_unten Einfach eine Liste, in der jede Procedure/Funktion aufgelistet wird, in der Reihenfolge wie sie aufgerufen wird. Wobei nur Proceduren des aktuellen Quellcodes und nicht Systemfunktionen usw. gemeint sind. Gruß HEiko |
AW: S: Erweiterung Verlaufsanzeige bei Debug
Der Stacktrace zeigt dir die aktuelle Aufrufreihenfolge an, ausgehend von dem Punkt, an dem du dich befindest.
Andersherum geht das nicht |
AW: S: Erweiterung Verlaufsanzeige bei Debug
Moin,
Zitat:
Ein F9 meine ich nicht. Gruß Heiko |
AW: S: Erweiterung Verlaufsanzeige bei Debug
Es ist mit ein bisschen Aufwand natürlich möglich, relevante Funktionen mit "Marker" zu versehen, damit man später auch so ne Liste bekommt.
Stacktrace ist eigentlich genau dafür gedacht, aber das Ding ist wirklich ganz genau. Nach einem Buttonclick muss nicht unbedingt ConverZahlen folgen - dazwischen werden evt. Windows-Messages verarbeitet weswegen zu WndProc gesprungen werden muss oder was weiß ich.. Folgende Methode meinte ich vorhin:
Delphi-Quellcode:
{$DEFINE DEBUG}
procedure irgendeine_procedure(); begin {$IFDEF DEBUG} OutputDebugString(<String mit Informationen über momentante Position (Procedurename, Parameter..)>); {$ENDIF} blabla end; |
AW: S: Erweiterung Verlaufsanzeige bei Debug
Zitat:
Die Codeanalyse macht das, sie erstellt Codepfade, um zu prüfen, ob und wann Variablen verwendet werden, um die Verwendung von Registern zu optimieren. Dies könnte man anzeigen. Andere IDE zeigen Abhängigkeiten, d.h. "Methode 'X' ruft Methode 'Y' auf, die dann 'Z1' und auch 'Z2' aufruft. Man kann so den ganzen Abhängigkeitsbaum erstellen. Der wird zwar groß, aber nicht unendlich groß, weil ich Rekursionen sicher erkenne. Wie es aber *konkret* an einem bestimmten Breakpoint weitergeht, das weiß der Debugger von Delphi nicht. Die VS-IDE in der Extrem-Wer-hat-schon-soviel-Kohle-Version kann das aber (indirekt), da ich zu einem späteren Zeitpunkt einen Breakpoint 'B' setzen und dann in der Zeit 'zurückspulen' kann um mich auf den vorherigen Breakpoint 'A' zu setzen. Dann sehe ich in der Tat, wie man von 'A' nach 'B' kommt. Wer das allerdings braucht, hat schlechten Code produziert, imho. |
AW: S: Erweiterung Verlaufsanzeige bei Debug
Danke, für Eure Hilfe.
Habe den Fehler inzwischen mit F7/F8 gefunden. Gruß HEiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:01 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