Exceptions: Funktionsaufruf verfolgen
-
Hallo Leute,
gibt es eine einfache Möglichkeit, die Funktionsaufrufe bei einer exception zu erfolgen? Also sowas in der Art:
"Fehler: XXXXX in: main() -> Funktion1() -> Funktion2() -> Funktion3()".
Ich sehe also nicht nur welche Funktion die exception geworfen hat, sondern auch die Funktionen, die diese aufgerufen haben. Ich habe derartiges schon implementiert und es erleichert die Fehlersuche, aber eventuell gibt es etwas besseres bzw. eine native C++ funktion oder ähnliches. In meiner Implementierung habe ich das mit einem einfachen Scope-Guard gelöst, den ich in jede Funktion als Makro hinzufüge. Dieser loggt dann das Eintreten oder Verlassen einer Funktion.
viele Grüße,
SBond
-
I want my pony! Or why you cannot have C++ exceptions with a stack trace
Für spezielle Compiler (bzw. Umgebungen) gibt es aber Möglichkeiten, z.B. C++ Code Snippet - Print Stack Backtrace Programmatically with Demangled Function Names
-
Th69 schrieb:
I want my pony! Or why you cannot have C++ exceptions with a stack trace
Boah, den Artikel würde ich nicht verlinken.
Hat zwar nen coolen Titel, aber ist voll von Halbwissen/Urban-Legends/Quatsch.
-
Th69 schrieb:
Für spezielle Compiler (bzw. Umgebungen) gibt es aber Möglichkeiten
Für MSVC: http://www.codeproject.com/Articles/11132/Walking-the-callstack
-
hustbaer schrieb:
Boah, den Artikel würde ich nicht verlinken.
Hat zwar nen coolen Titel, aber ist voll von Halbwissen/Urban-Legends/Quatsch.Darum ja auch der Smiley
-
Ja "stacktrace" ist quasi das Stichwort, das ich gesucht hatte. Soweit ist jetzt alles klaro