Stack-Traces (auch: Call Stack oder Tracebacks) sind Fehlermeldungen, die die Reihenfolge der Funktionsaufrufe bis zu einem Fehlerpunkt in einem Programm zeigen. Sie helfen Entwicklern dabei, die Ursache eines Fehlers nachzuvollziehen und den entsprechenden Codeabschnitt zu identifizieren.

Wann entstehen Stack-Traces?

  • Bei Laufzeitfehlern: z. B. Division durch Null, ungültiger Zugriff auf Speicher oder Objekte
  • Bei Ausnahmen (Exceptions): z. B. nicht behandelte Fehler in Java, Python, C++ usw.
  • Bei Abstürzen: z. B. bei „Segmentation Faults“ in C oder C++

Was zeigt ein Stack-Trace?

  • Dateiname und Zeilennummer: Wo im Code der Fehler auftrat
  • Funktionsnamen: Die aufgerufenen Funktionen vom Start bis zum Fehler
  • Fehlertyp und -nachricht: Was schiefgelaufen ist (z. B. NullPointerException)

Beispiel (Python)

Warum sind Stack-Traces nützlich?

  • Schnelle Fehlersuche: Man sieht sofort, in welcher Funktion der Fehler auftrat
  • Verstehen von Codepfaden: Auch hilfreich bei komplexen Aufrufstrukturen
  • Automatische Erfassung: Viele Entwicklungsumgebungen (IDEs) zeigen Stack-Traces automatisch an

Siehe auch