Quelle étape, démarrez-vous et passez-vous dans Firebug?

Je suis nouveau dans Firebug Debugger peut-on dire ce qui se passe, franchir le pas et sortir?

  • L'étape suivante entraînera le débogueur à descendre dans une méthode appelant sur la ligne actuelle. S'il y a plusieurs appels de méthode, ils seront visités par ordre d'exécution; S'il n'y a pas d'appel de méthode, il en va de même que l'étape suivante. Ceci équivaut généralement à suivre chaque ligne d'exécution individuelle comme le verra l'interprète.
  • Étape passe à la ligne suivante dans votre champ d'application actuel (c.-à-d. Va à la ligne suivante), sans descendre dans aucune méthode appelée sur le chemin. Ceci est généralement utilisé pour suivre la logique à travers une méthode particulière sans se soucier des détails de ses collaborateurs et peut être utile pour trouver à quel point d'une méthode les conditions attendues sont violées.
  • Étape jusqu'à la prochaine "retour" ou équivalent – c'est-à-dire jusqu'à ce que le contrôle soit retourné au cadre de pile précédent. Ceci est généralement utilisé lorsque vous avez vu tout ce qu'il vous faut à ce stade / méthode, et que vous souhaitez faire exploser la pile quelques couches vers l'endroit où la valeur est réellement utilisée.

Imaginez le code suivant, qui est entré par main() et est maintenant sur la première ligne de bar :

 function main() { val s = foo(); bar(s); } function foo() { return "hi"; } function bar(s) { val t = s + foo(); // Debugger is currently here return t; } 

Alors:

  • Entrer dans will poursuit l'appel foo , et la ligne actuelle deviendra alors le return "hi"; Ligne dedans foo .
  • L'étape suivante ignorera le fait qu'une autre méthode est invoquée, et procédera au return t; Ligne (qui vous permet de voir rapidement ce que t est évalué).
  • Out out terminera l'exécution du reste de la méthode de bar , et le contrôle revient à la dernière ligne de la méthode main .
  • Step Into amènera le débogueur à entrer dans l'appel de la fonction suivante et à y participer.

  • Step Over indique au débogueur d'exécuter la fonction suivante et de décaler plus tard.

  • Step Out indique au débogueur de terminer la fonction actuelle et de la décaler.

La version courte est, step into in vous prend à l'intérieur de la fonction appelée sur la ligne actuelle (en supposant que l'on s'appelle), step out vous ramène à l'endroit où vous étiez lorsque vous avez décidé d' step into une fonction, À la prochaine ligne de code. Par exemple:

 window.someFunction = function() { var x = 10; //step over to move to the next line //step out to return to the line after where 'someFunction()' was called //step into not available var y = 20; return x * y; }; //set breakpoint here var x = 7; //step over to execute this line and move to the //next (step into and step out not available) x += someFunction(); //step over to move to the next line //step into to move to someFunction() (above) //step out not available alert(x); //step over to display the alert //step out and (probably) step into not available 
  • Entrer dans -> aller dans le sous-programme et attendre l'action suivante
  • Dépasser -> sauter sur le sous-programme sans attendre de nouveau
  • Sortez -> si vous êtes dans le sous-programme, vous le quitterez sans attendre encore