Comme la réponse acceptée ne répondait pas exactement à tous mes scénarios (ou du moins je n'ai pas pu les faire fonctionner en lisant les instructions) dans lesquels j'avais besoin de cela, je me suis senti libre de poster également une réponse qui le résout pour ma situation spécifique.
J'ai quelques exigences supplémentaires lorsque j'essaie d'inspecter la valeur de retour.
-
Je ne veux pas quitter le champ d'application de la méthode dont nous revenons.
-
Je ne veux pas appeler le dans l'instruction de retour deux fois (une fois pour l'inspection et une fois pour l'analyse). lors du retour effectif), comme le montre bien l'utilisation de la méthode Math.random()
dans l'exemple.
Pour moi, la solution était plutôt inattendue. Après avoir joué avec Passer à l'étape suivante (par opposition à Sortir ), j'ai trouvé la construction suivante :
Au lieu d'utiliser
private double rand() {
return Math.random();
}
J'utilise
private double rand() {
return
Math.random();
}
Lorsque votre curseur se trouve sur Math.random()
, sélectionner Passer à l'étape suivante et il affichera la valeur dans la fenêtre de surveillance, sans quitter la portée de l'appel de la fonction rand()
.
Il semble donc que le Passer à l'étape suivante mentionnée dans la réponse acceptée ne résout pas le problème si le return
se trouve sur la même ligne que l'expression que vous essayez d'inspecter. Ce qui est bien sûr logique d'un point de vue syntaxique.
Je suppose que cela peut encore poser des problèmes pour les autoformateurs qui réduisent ces deux lignes en une seule, mais pour moi, cela a finalement résolu mon problème de débogage.