web-dev-qa-db-fra.com

Comment inspecter la valeur de retour de la fonction JavaScript dans le débogueur Chrome?

Venant de gdb, il afficherait la valeur de retour d’une fonction à la fin. Existe-t-il un moyen d’obtenir ces informations du débogueur Chrome sans changer la source en cours de débogage?

43
John Freeman

Un correctif pour cela a été mis en œuvre le 5 novembre 2013, mais apparemment, il n'a été publié que pendant que j'écris ceci, dans Chrome Canary. (Je le vois dans 33.0.1719.0, mais pas dans la version bêta de Chrome 32.0.1700.19 bêta.)

Si la version que vous utilisez en possède, alors, lorsque vous parcourez une instruction return, l'étendue locale Scope Variables du débogueur inclut une entrée <return> avec la valeur.

(Je dois utiliser Canary pour le débogage principal, mais je n’ai pas remarqué la présence de l’entrée <return> jusqu’à ce que la référence notice mentionnée soit mentionnée!)

23
klm

Ma version de Chrome est 41.0.2272.118 m. Voici une bonne raison pour laquelle vous devez placer les déclarations complexes complexes sur une ligne distincte. Si vous ajoutez un point d'arrêt sur une ligne après le retour, Chrome ajoutera (dans cet exemple) une feuille "<return>: true" sous le nœud "Local" du volet "Variables Scope" du panneau Sources lorsque le point d'arrêt frappé.

function bar() {
   return true;
}    
(function foo() {
   return bar();
})(); // Place breakpoint here
5
user1050483

J'utilise la version bêta de Chrome 57.0.2987.98 (64 bits) et elle est là, et vraiment agréable à avoir. Voici une capture d'écran:

 enter image description here

5
moodboom

Non, il n'y a pas de moyen pour le moment.

Il existe cependant une demande d'amélioration ouverte . Il est assigné et, au moment de l'écriture de cet article, il attend cette amélioration de la version 8 .

3
T.J. Crowder

Si vous définissez un point d'arrêt, vous pouvez survoler les variables avec votre souris pour afficher les valeurs correspondantes. Cela fonctionne-t-il pour ce que vous essayez de faire?

1
Waynn Lue

Ce n'est toujours pas possible dans Chrome, mais dans Firefox 24+. Vous devez quitter (Shift + F11) d'une fonction pour afficher la valeur de retour ou l'exception levée dans l'étendue de la fonction.

0
Vsevolod Solovyov

Peut-être que ça va faire?

1.) Voir la source de la page.

2.) Recherchez la définition de la fonction et copiez-la dans votre presse-papiers.

3.) Modifiez la définition de la fonction dans votre presse-papiers pour consigner la valeur qu’elle est sur le point de renvoyer. (i.e., console.log(x); return x;)

4.) Collez la définition de la fonction corrigée dans la console et exécutez-la. Cela remplacera la fonction existante.

5.) Déclenchez la fonction.

0
Bez Hermoso