AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE [Erledigt] S: Erweiterung Verlaufsanzeige bei Debug
Thema durchsuchen
Ansicht
Themen-Optionen

[Erledigt] S: Erweiterung Verlaufsanzeige bei Debug

Ein Thema von Kralle · begonnen am 11. Jan 2014 · letzter Beitrag vom 11. Jan 2014
Antwort Antwort
Kralle

Registriert seit: 31. Okt 2004
Ort: Bremerhaven
349 Beiträge
 
Delphi XE7 Professional
 
#1

[Erledigt] S: Erweiterung Verlaufsanzeige bei Debug

  Alt 11. Jan 2014, 12:28
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.
OS: Linux Mint 20 Cinnamon (64-Bit), Windows 10 Professional, Delphi XE7 Pro SP1 +(Mobilpack & FireDAC), Lazarus 2.1 (Freepascal 3.3.1),

Geändert von Kralle (11. Jan 2014 um 16:36 Uhr) Grund: Hat sich erledigt
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.610 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: S: Erweiterung Verlaufsanzeige bei Debug

  Alt 11. Jan 2014, 12:36
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?
So eine Funktion kenne ich in Delphi auch nicht direkt. Nur für was braucht man so etwas? Wenn mann wissen möchte, wo er hinläuft, dann debuggt man das durch. Zur Laufzeit kann dein Rechner ja nicht wissen, wo er hinläuft. Was z. B. wenn if Statements vorkommen und zu dem Zeitpunkt der Abfrage noch gar nicht klar ist, wie das Ergebnis ist?

P.S. Wo sind eigentlich die "grünen Breakpoints" hin.
Die grünen Breakpoints kommen nur, wenn du an einer Stelle einen setzt (bspw. in einer neuen Procedure), die in deinem gesamten Programm nicht aufgerufen wird. In XE4 werden diese noch grün angezeigt, ob das in XE5 anders ist, weiß ich nicht. Aber du kannst dir die Farben auch einstellen, sofern diese nur anders aussehen als vorher.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: S: Erweiterung Verlaufsanzeige bei Debug

  Alt 11. Jan 2014, 12:43
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
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Kralle

Registriert seit: 31. Okt 2004
Ort: Bremerhaven
349 Beiträge
 
Delphi XE7 Professional
 
#4

AW: S: Erweiterung Verlaufsanzeige bei Debug

  Alt 11. Jan 2014, 12:52
Moin,

Meinst du den Stacktrace? Der wird beim Debuggen angezeigt
Ich meine so etwas:
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
OS: Linux Mint 20 Cinnamon (64-Bit), Windows 10 Professional, Delphi XE7 Pro SP1 +(Mobilpack & FireDAC), Lazarus 2.1 (Freepascal 3.3.1),
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: S: Erweiterung Verlaufsanzeige bei Debug

  Alt 11. Jan 2014, 12:54
Der Stacktrace zeigt dir die aktuelle Aufrufreihenfolge an, ausgehend von dem Punkt, an dem du dich befindest.

Andersherum geht das nicht
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Kralle

Registriert seit: 31. Okt 2004
Ort: Bremerhaven
349 Beiträge
 
Delphi XE7 Professional
 
#6

AW: S: Erweiterung Verlaufsanzeige bei Debug

  Alt 11. Jan 2014, 12:58
Moin,

Die grünen Breakpoints kommen nur, wenn du an einer Stelle einen setzt (bspw. in einer neuen Procedure), die in deinem gesamten Programm nicht aufgerufen wird. In XE4 werden diese noch grün angezeigt, ob das in XE5 anders ist, weiß ich nicht. Aber du kannst dir die Farben auch einstellen, sofern diese nur anders aussehen als vorher.
Ich meine eigentlich die, die nach einem F7/F8 das Programm bis zum nächsten Breakpoint weiterlaufen lassen.
Ein F9 meine ich nicht.

Gruß Heiko
OS: Linux Mint 20 Cinnamon (64-Bit), Windows 10 Professional, Delphi XE7 Pro SP1 +(Mobilpack & FireDAC), Lazarus 2.1 (Freepascal 3.3.1),
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#7

AW: S: Erweiterung Verlaufsanzeige bei Debug

  Alt 11. Jan 2014, 13:00
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;
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#8

AW: S: Erweiterung Verlaufsanzeige bei Debug

  Alt 11. Jan 2014, 15:39
Andersherum geht das nicht
"Doch" (irgendwie jedenfalls ungefähr).

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.
  Mit Zitat antworten Zitat
Kralle

Registriert seit: 31. Okt 2004
Ort: Bremerhaven
349 Beiträge
 
Delphi XE7 Professional
 
#9

AW: S: Erweiterung Verlaufsanzeige bei Debug

  Alt 11. Jan 2014, 16:35
Danke, für Eure Hilfe.
Habe den Fehler inzwischen mit F7/F8 gefunden.

Gruß HEiko
OS: Linux Mint 20 Cinnamon (64-Bit), Windows 10 Professional, Delphi XE7 Pro SP1 +(Mobilpack & FireDAC), Lazarus 2.1 (Freepascal 3.3.1),
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz