3

Je veux savoir comment accéder à la trace d'exécution JavaScript à l'exécution. J'ai vu Firebug peut faire quelque chose comme ceci:Comment accéder à la trace d'exécution JavaScript à l'exécution dans Firefox?

enter image description here

Référez à l'image ci-dessus, tous les numéros de ligne exécutés sont surlignés en vert. Ils sont atteints au moment de l'exécution. Je suppose qu'il doit y avoir un moyen d'accéder à ces informations à partir du moteur JavaScript utilisé par le navigateur. Dites maintenant je veux construire un plugin firebug pour accéder à ces informations et examiner toutes les variables dans chaque ligne exécutée à l'exécution, comment dois-je commencer?

+0

Ce n'est pas le cas dans le Firebug. Il montre des lignes vertes seulement sur les lignes qui ont une certaine exécution dedans (d'où des accolades '{}'). Les lignes peuvent ne pas être exécutées. Il ne montre pas la trace d'exécution. Essayez de mettre 'if() {} else {}' dans le code et voyez qu'il affichera les deux blocs sur le code avec des lignes vertes – nefarianblack

+0

@tanmaykhandelwal Merci, mais ce n'est pas vrai. S'il vous plaît se référer à ma capture d'écran mise à jour. Je vous remercie. – Fshly

+0

Quelle version de Firebug avez-vous? J'ai 1.11.2 qui montre aussi le numéro de ligne verte sur la ligne 'if (false) {'. Pouvez-vous ajouter une ligne exécutable dans la fausse condition de if? Comme ceci: 'if (false) {var a = '1';} else {var b = '2';}}' – nefarianblack

Répondre

1

De toute évidence, vous avez demandé le same question dans le forum Firebug.

Pour dupliquer la réponse de Honza:

Firebug utilise actuellement JSD (jsdIDebuggerService) pour comprendre, quelle ligne est exécutable. Toutefois, le plan est de passer à JSD2 (travail en cours) https://wiki.mozilla.org/Debugger

Vous devez également baser votre extension sur JSD2

Rechercher des getLineOffsets(line) et getOffsetLine(offset) dans le document Debugger . Je ne l'ai pas testé, mais je pense que si getLineOffset renvoie null, la ligne n'est pas exécutable.

Sebastian

Questions connexes