JavaScript-Stack-Traces formatieren

Fügen Sie JavaScript-Stack-Traces ein, um Funktionen, Dateien, Zeilen und Spalten zu prüfen. Wiederkehrende Fehler werden anhand ihrer Stack-Signatur gruppiert.

Läuft lokal in deinem Browser
Dieses Werkzeug verarbeitet alle Daten lokal in deinem Browser.
JavaScript-Stack-TracesFügen Sie JavaScript-Stack-Traces im Format von Node.js/V8 oder Firefox/Safari ein. Die Analyse läuft in diesem Browser.

So formatieren Sie einen Stack Trace

Fügen Sie Fehlerausgaben aus Node.js, einer Browserkonsole oder einer Logdatei ein. Die Seite zerlegt die Eingabe in Traces, gibt jeden erkannten Frame als Funktion, Datei, Zeile und Spalte aus und gruppiert Traces mit denselben ersten drei Frames.

Die Formatierung läuft in diesem Tab. Es wird nichts hochgeladen, und während der Arbeit verlässt keine Anfrage die Seite.

  1. Fügen Sie einen oder mehrere Traces in JavaScript-Stack-Traces ein, oder laden Sie mit Beispiel laden die erwartete Form.
  2. Klicken Sie auf Stack-Traces formatieren. Jeder Trace wird ein nummerierter Block; Frames erscheinen als at Funktion (Datei:Zeile:Spalte).
  3. Lesen Sie Fehlergruppen: Traces mit denselben ersten drei Frames werden zusammengezählt, und die Karte nennt den obersten Frame der Gruppe.
  4. Kopieren oder Herunterladen übernimmt den formatierten Text; Leeren räumt Eingabe, Ausgabe und Bericht.
  5. Zählt der Bericht nicht erkannte Zeilen, stehen sie unverändert in der Ausgabe.

Was die formatierte Ausgabe zeigt

Kopfzeilen, die der Parser erkennt

Ein Trace beginnt bei der Zeile, die den Fehler benennt: TypeError: mit Meldung, eine Konsolen-Hülle wie Uncaught (in promise) TypeError:, UnhandledPromiseRejectionWarning:, DOMException:, AggregateError: oder jede Kennung auf Error, Exception, Warning oder Rejection. Auch eine Zeile mit Zeitstempel und Level (2026-09-17T10:00:00Z ERROR TypeError: ...) oder mit Level in Klammern ([error] TypeError: ...) zählt.

Eine Kopfzeile beginnt einen neuen Trace, wenn die vorige Zeile ein Frame war oder eine Leerzeile dazwischen liegt. Node schreibt einen umschlossenen Fehler als [cause]: Error: ...; diese Zeile wird ein eigener Trace, damit die Ursache ihre Frames behält.

Frames ohne Datei

Beide üblichen Formen werden gelesen: V8 und Node schreiben at Funktion (Datei:Zeile:Spalte), Firefox und Safari schreiben Funktion@Datei:Zeile:Spalte. Windows-Pfade wie C:\app\index.js:42:11 bleiben zusammen, und die Kurzformen at Datei:Zeile:Spalte sowie at Datei:Zeile werden ebenfalls gelesen.

Frames ohne Fundstelle werden nicht verworfen: at foo (native), at Array.forEach (<anonymous>), at async Promise.all (index 0), at eval (eval at <anonymous> (file.js:1:1), <anonymous>:1:1). Farbcodes aus dem Terminal werden entfernt, und eine abschließende geschweifte Klammer aus Nodes cause-Blöcken bricht den Frame dieser Zeile nicht.

Zeilen, die nicht zu einem Trace gehören

Ein Laufzeithinweis wie Node.js v20.11.0, die Fortsetzung einer mehrzeiligen Meldung oder eine Framework-Warnung wie [Vue warn]: ... ist kein Frame: die Zeile steht unverändert unter ihrem Trace und wird im Bericht gezählt.

Traces anderer Laufzeiten werden nicht als eigenes Format gelesen: ein Java- oder .NET-Frame kann zufällig passen, weil er wie at Name (Datei:Zeile) aussieht, ein Python-Traceback passt meist gar nicht, und in jedem Fall bleiben alle Zeilen in der Ausgabe.

Enthält die Eingabe weder Kopfzeile noch Frame, sagt die Seite das und gibt den Text unverändert zurück, statt ein Ergebnis zu erfinden.

Zuletzt verwendet: