Hi!
Ich möchte bei einer
Exception zur Laufzeit des Programmes, also ohne Vorhandensein der
IDE, den Call-Stack abfragen.
Hier im Forum wurde dazu die Methode ProcByLevel() aus JCLDebug empfohlen.
Um das mal auszutesten, habe ich mir ein kleine Progi gemacht mit einem Button, der eine
Exception auslöst.
Der "Call-Stack", den ich von
Jedi bekomme, sieht leider nicht so aus, wie ich ihn gerne hätte:
Code:
'Fehler' is not a valid integer value
--- Call-Stack: ---
TForm1.ExceptionHandler
TApplication.HandleException
StdWndProc
TWinControl.DefaultHandler
TWinControl.WndProc
StdWndProc
Project1
Der Call-Stack zieht sich hoch bis zu
Exception-Handler, statt beim TForm1.Button1Click() stehen zu bleiben. Ich denke zwar, dass ich verstehe wieso das so ist, trotzdem ist es nicht schön.
Was nicht nur unschön, sondern auch wenig hilfreich ist, ist dass die Methode, in der die
Exception wirklich aufgetreten ist (TForm1.Button1Click()) gar nicht auftaucht, sondern stattdessen nur von "TWinControl.DefaultHandler" und "TWinControl.WndProc" die Rede ist...
Außerdem fehlen die übergebenen Parameter voll und ganz.
Muss man außer in den Projektoptionen noch etwas einstellen?
Oder kann man das noch irgendwie anders machen? Was ist z.B. mit TJclStackInfoList?
TIA
Ganymed