Avec:
Object method(){
...
return /* some complex expression */
}
Existe-t-il un moyen de voir quelle valeur sera retournée lors du débogage? Comme définir un point d'arrêt qui serait atteint juste après le retour, mais avant que l'exécution ne passe au code appelant? Je voudrais pouvoir savoir quelle est la valeur de retour et également voir quelles sont les valeurs de toutes les variables locales.
La façon dont je le fais maintenant est de créer une variable temporaire: Object ret = /* something complex */; return ret;
. Mais c'est un problème et ajoute également une ligne de code supplémentaire inutile.
Remarque: Il s'agit de la même question que Puis-je trouver la valeur de retour avant de retourner lors du débogage dans Visual Studio , mais pour intellij.
Il semble y avoir plusieurs façons de procéder. La première consiste à configurer le point d'arrêt sur la signature de la méthode, dans votre cas, vous devez configurer un point d'arrêt sur la méthode Object () {. Cela vous permettra de surveiller l'entrée et la sortie de la méthode. Je pense que vous devez utiliser ceci en conjonction avec "Watch method return values" comme indiqué ci-dessus, mais je n'ai pas pu tester complètement cela car il prend trop de temps à calculer. Attention, cela diminue considérablement les performances du débogueur et le débogage prendra plus de temps.
Vous pouvez également effectuer les opérations suivantes manuellement.
Remarque: Si vous créez un point d'arrêt, vous pouvez dire beaucoup de choses IDEA pour y faire face, par exemple si vous cassez sur un point d'arrêt, vous pouvez dites-leur d'exécuter une expression et de la consigner. Vous pouvez regarder ce que vous pouvez faire si vous cliquez avec le bouton droit sur un point d'arrêt et cliquez sur Propriétés.
UPDATE : Essayez ceci en conjonction avec la première façon de le faire. N'utilisez pas les "valeurs de retour de la méthode Watch" car cela semble ralentir ou geler la session de débogage. Au lieu de cela, procédez comme suit
N'oubliez pas que les points d'arrêt de méthode sont plus lents, ce qui peut prendre plus de temps, un moyen délicat d'améliorer cela si vous remarquez trop de résultats de performance consiste simplement à définir le point d'arrêt de l'instruction de retour (sans avoir de point d'arrêt de méthode), puis à ajouter le point d'arrêt de méthode [~ # ~] après [~ # ~] le point d'arrêt de l'instruction de retour frappe puis continue.
J'espère que cela t'aides,
Sur IntelliJ IDEA 2016.3: il est caché à l'intérieur du bouton de rouage du panneau de débogage. Assurez-vous que Show Method Return Values
est cochée .
Utilisez le débogueur pour casser quelque part à l'intérieur la fonction dont vous souhaitez voir la valeur de retour.
Sortez de la fonction (ou passez jusqu'à ce que vous vous échappiez):
Observez que la valeur de retour apparaît dans vos variables:
Le bouton Valeurs de retour de la méthode Watch est disponible dans le panneau de débogage .
Surveiller les valeurs de retour de la méthode : cliquez sur ce bouton pour regarder les valeurs de retour de la dernière méthode exécutée.
Configuration d'IDEA 12:
Cela a été demandé il y a quelque temps, mais j'utilise une méthode différente lorsque je veux gérer cette situation.
Lors du débogage, vous pouvez marquer l'expression (dans votre cas, l'expression juste après le "retour") et appuyer sur CTRL + ALT + F8 (Quick Evaluate Expression). IntelliJ affichera une petite fenêtre vous montrant la valeur qui sera retournée.