96 votes

Trace de pile d'exception Javascript

Dans Firefox, je peux obtenir le suivi de la pile d'une exception en utilisant exception.stack .

Y a-t-il un moyen d'obtenir cela dans d'autres navigateurs aussi?

Edit: je souhaite réellement enregistrer la trace de la pile automatiquement (si possible) et ne pas la déboguer à ce moment-là (c'est-à-dire que je sais comment obtenir la trace de la pile dans un débogueur).

81voto

Francesco Casula Points 2508

Placez cette ligne à l'endroit où vous souhaitez imprimer la trace de la pile:

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

Note: testé par moi sur Chrome 24 et Firefox 18

Cet outil peut être utile pour le débogage: https://github.com/ebobby/tracing.js

47voto

insin Points 19509

Vous ne pouvez pas obtenir le même niveau de détail dans tous les navigateurs, mais c'est mieux que rien:

http://eriwen.com/javascript/js-stack-trace/

Mise à jour : stacktrace.js

23voto

Brian M. Hunt Points 12506

Webkit a maintenant une fonctionnalité qui fournit des traces de pile:

Web Inspector: Comprendre les traces de pile , publié par Yury Semikhatsky le mercredi 20 avril 2011 à 7h32 (webkit.org)

De ce post:

3voto

B T Points 4868

Si vous voulez la trace de la pile de chaînes, j'irais avec la réponse de insin : stacktrace.js . Si vous souhaitez accéder aux éléments d'une pile (numéros de ligne, noms de fichiers, etc.), stackinfo , qui utilise en réalité stacktrace.js sous le capot.

0voto

levik Points 22462

Pas vraiment, du moins pas facilement.

Dans IE, vous pouvez déboguer le processus du navigateur avec MS Script Debugger (qui, pour une raison quelconque, est un composant Office) ou Visual Studio, puis vous pouvez voir la pile sur des points d'arrêt.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X