Haben Sie Vorschläge, wie Sie im Browser eine Stack-Ablaufverfolgung in JavaScript generieren können?Wie Javascript stacktrace generieren?
Neuere Browser, Chrome und Firefox, geben ein Konsolenobjekt aus, mit dem Stack-Traces generiert werden können. Diese Methode bietet keine Methode zum Speichern des Stack-Trace in einer Variablen.
https://github.com/eriwen/javascript-stacktrace Funktioniert ganz gut, aber es macht separate Ajax-Anforderungen zum Laden von Skriptdateien als Teil der Ablaufverfolgung enthalten. Dies scheint eine gängige Methode in Trace-Bibliotheken zu sein. Ich vermute, dass Browser nicht genügend Informationen zur Verfügung stellen, um eine sinnvolle Stack-Trace zu generieren (Zeilennummern, Funktionsnamen, Dateinamen, Argumente, etc.).
Sie sind richtig, dass IE9- (seien wir ehrlich, die wahrscheinlich das, was wir sind Probleme mit hier) gibt nicht viele nützliche Informationen. Man könnte die Datei- und Zeilennummer von 'window.onerror' erhalten, außer dass nur ein Teil der Zeit ausgelöst wird und die Zeilennummer manchmal falsch ist. –
Ja, wie immer ist IE das Problemkind. Ich stehe bei der Unterstützung von IE7, für die die Zeilennummer und die Funktionsnameninformationen des Onerror-Ereignisses schrecklich sind. Es kann immer noch nützlich sein; Ich benutze es um Protokolle für nicht erfasste Fehler zu schreiben. – Kyle