Einzelnen Beitrag anzeigen

Sankt Rochus

Registriert seit: 30. Nov 2012
15 Beiträge
 
#5

AW: XE7 Debugger hält bei Exception eine Funktion darüber an.

  Alt 6. Jul 2015, 14:09
Danke schon einmal für eure Hilfsbemühungen!

Wie wär's mit einem Breakpoint in der Funktion, in der der Fehler auftritt? Dann stepst du soweit durch, bis der Fehler kommt, und schon hast du ihn am Wickel
Ja, so behelfe ich mir auch immer. Jedoch kann es vorkommen, dass eine Funktion während der Programmausführung ganz oft aufgerufen wird (z.B. in einer Schleife) und nur ganz selten die Exception auftritt, abhängig von irgendwelchen Variablen. Um dann nicht ganz oft unnötig anzuhalten, muss ich mit bedingten Breakpoints arbeiten. Das funktioniert auch meistens sehr gut, ist aber umständlich und für mich keine Dauerlösung.

Zitat:
Der Aufrufstack beinhaltet die Funktion B auch nicht?
Hmm.. nicht wirklich. Gerade habe ich den Fall. Ich tippe gerne mal ab, was da im Aufrufstack steht:

:7654c42d KERNELBASE.RaiseException + 0x58
:00426dca ConvertErrorFmt + $1E
uSTDExport.TSTDExport.exportKData(... Verschiedene Parameter ...)
...

Anhalten tut der Debugger in exportKData(...), die eigentliche Exception wurde aber von einer fehlerhaften Konvertierung in einer Funktion ausgelöst, die von exportKData(...) aufgerufen wird. Der Name dieser Funktion taucht im Aufrufstack nicht auf.

Zitat:
In einem simplen Beispiel passiert das hier zumindest nicht. Der Debugger bleibt exakt in der Zeile stehen, wo die Exception auftritt.
Danke fürs Ausprobieren. Nun weiß ich zumindest, dass es anders sein sollte, und kein neues "Feature" in XE7 ist
  Mit Zitat antworten Zitat