Entwickler-Ecke

Sonstiges (Delphi) - Aufruf-Stack ausserhalb der IDE


Udontknow - Mi 12.06.02 10:42
Titel: Aufruf-Stack ausserhalb der IDE
ERSTER! :)

Weiss jemand, wie ich den Inhalt des Aufrufstacks (also die Namen der einzelnen aufgerufenen Prozeduren, die man im Debugger mit Strg+Alt+S betrachten kann) zur Laufzeit ermitteln kann? Das wäre eine feine Sache für die Fehlersuche im Testbetrieb bei so manchem Programm...

Cu,
Udontknow :wink:


CB - Mi 12.06.02 10:53

Schau dir mal [url]http://www.prodelphi.de[/url] an. Da gibt es für Delphi und Kylix so genannte Profiler. Könnte das sein, was du suchst.


Udontknow - Mi 12.06.02 11:03

Danke, aber das ist nicht das, was ich brauche.
Die Exceptions lasse ich mir schon in eine eigene StrL mit Zeit schreiben, aber um noch genauere Informationen über die Fehler zu bekommen, wäre es schön, nicht nur den Namen der Prozedur, in der der Fehler aufgetreten ist, zu erhalten, sondern auch zu wissen, welche Routine denn diese Prozedur aufgerufen hat, und welche andere Routine diese Routine aufgerufen hat, usw., bis zu einer Benutzereingabe (Button1Click z.B.). Wie schon gesagt, im Debugger sieht man es wunderbar: Meine erste Aktion bei einer auftretenden Exception ist das Öffnen des Debugfensters "Aufruf-Stack", so mancher merkwürdiger Fehler wird dann sofort klar.

Jemand ne Idee?


Phoenix - Di 25.06.02 12:59

Wenn Du Delphi 5 oder 6 benutzt, dann guck Dir mal das JEDI Code
Library unter http://sourceforge.net/projects/jcl/ an.

Dort gibt es innerhald der JCL einige geniale Debug - Komponenten,
die sogar mit eigenen Debug-Symbolen arbeiten, die deutlichst kleiner
sind als die, die Delphi erzeugt.

Den Stack gibts da auch, ich hab ihn allerdings noch nicht ausgiebig
getestet.

Viele Grüße,

Sebastian


Udontknow - Di 25.06.02 15:01

Hi!

Danke für die Hilfe. Tatsächlich gibt es dort die Routine ProcByLevel, die genau das macht, was ich brauche. :D

Cu,
Udontknow