2008-09-29 11 views
74

In Firefox kann ich die Stack-Ablaufverfolgung einer Ausnahme mit exception.stack.Javascript Ausnahme Stack Trace

Gibt es eine Möglichkeit, das auch in anderen Browsern zu bekommen?

Edit: Ich möchte tatsächlich die Stack-Trace automatisch speichern (wenn möglich) und debuggen es nicht zu der Zeit (d. H. Ich weiß, wie die Stack-Trace in einem Debugger zu bekommen).

Antwort

0

Nicht wirklich, zumindest nicht leicht.

In IE können Sie den Browserprozess mit MS Script Debugger (die aus irgendeinem Grund eine Office-Komponente ist) oder Visual Studio debuggen, und dann können Sie den Stapel auf Haltepunkten sehen.

21

Webkit hat nun Funktionen, die Stack-Traces bietet:

Web Inspector: Understanding Stack Traces, veröffentlicht von Yury Semikhatsky am Mittwoch, den 20. April 2011 um 7:32 Uhr (webkit.org)

Von diesem Beitrag:

+1

viel bequemer als die Schaffung einer Ausnahme können versuchen, nur zu Sehen Sie sich seinen Stapel an. –

+0

Ausgezeichneter Link, danke! – devios1

55

Platz diese Zeile in dem Sie die Stack-Trace drucken möchten:

console.log(new Error().stack); 

Hinweis: von mir getestet auf Chrome 24 und Firefox 18

Mai sowie einen Blick auf this tool nehmen wert sein.

+2

Sweet - Ich benutze eine Kombination von onerror, um die Zeilennummer zu erhalten, und umschließe die Zeile mit einem try catch und deinem Vorschlag, den stacktrace zurück an den Benutzer zu senden. ' window.onerror = function (Nachricht, URL, Zeilennummer) { alert ('message:' + + message '- url:' + url + '- ln:' + Zeilennummer); Rückkehr wahr; }; ' Dann wickeln Sie es um den StackTrace auszudrucken. ' versuchen { // Einige Code, der die Ausnahme verursacht. } catch (e) { Warnung (neuer Fehler(). Stapel); } ' –

2

Wenn Sie die Zeichenfolge Stack verfolgen möchten, würde ich mit Insins Antwort gehen: stacktrace.js. Wenn Sie auf die Teile eines StackTrace zugreifen möchten (Zeilennummern, Dateinamen usw.) stackinfo, die tatsächlich StackTrace.js unter der Haube verwendet.

0

Sie müssen die gute Open Source-Bibliothek TraceKit ausprobieren, die versucht, Stack-Traces für unbehandelte JavaScript-Ausnahmen in allen gängigen Browsern zu erstellen. Sie können mehr über Tracekit

https://github.com/csnover/TraceKit/

PS lesen: Wenn Sie für einen Dienst (mit Tracekit) mit guten UI suchen, Sie Atatus