Partager via


Comment : actualiser les valeurs des espions

Lorsque vous évaluez une expression dans le débogueur, deux icônes de rafraîchissement peuvent apparaître dans la colonne Valeur. La première représente un cercle qui contient deux flèches, dirigées dans des directions opposées. L'autre est un cercle qui contient deux lignes ondulées ressemblant à des threads.

Ces icônes indiquent que la valeur qui apparaît dans le débogueur n'est à jour. Bien que la valeur puisse être correcte, elle est obsolète. Pour insister sur ce statut, la valeur s'affiche également grisée. Vous pouvez forcer l'évaluation en cliquant sur l'icône, mais vous devez comprendre les raisons de cette icône, ainsi que les conséquences possibles.

Si vous pointez sur l'icône, une info-bulle fournit des informations sur la raison pour laquelle l'expression n'a pas été évaluée.

Si les flèches en cercle s'affichent, l'expression n'a pas été évaluée pour l'une des raisons suivantes :

  • Une erreur s'est produite alors que l'expression était en cours d'évaluation. Par exemple, un délai d'expiration a pu se produire ou une variable était peut-être hors de portée.

  • L'évaluation de l'expression aurait nécessité l'évaluation d'une propriété ou l'appel d'une fonction implicite. L'évaluation de propriétés et les appels de fonction implicite peuvent avoir des effets secondaires qui affectent l'état de votre programme. Étant donné que ces effets peuvent rendre le débogage plus difficile, l'évaluation automatique des propriétés et des appels de fonction implicite par le débogueur est souvent désactivée. Il peut arriver qu'un programmeur désactive l'évaluation automatique involontairement. Pour plus d'informations sur les effets secondaires, consultez Effets secondaires et expressions.

Si les deux threads s'affichent, l'expression n'a pas été évaluée en raison d'une dépendance inter-threads potentielle. Une dépendance inter-threads signifie que l'évaluation du code nécessite l'exécution temporaire d'autres threads dans votre application. Lorsque vous êtes en mode arrêt, tous les threads de votre application sont généralement arrêtés. Permettre à d'autres threads de s'exécuter temporairement peut avoir des effets inattendus sur l'état de votre programme et pousse le débogueur à ignorer certains événements tels que les points d'arrêt.

Pour mettre à jour une valeur obsolète

  • Effectuez l'une des opérations suivantes :

    • Cliquez sur l'icône de rafraîchissement.

    • Sélectionnez la valeur, puis appuyez sur la barre d'espace.

    Le débogueur essaie de réévaluer l'expression. Si l'icône de rafraîchissement est apparue parce que l'évaluation automatique des propriétés, avec ses effets secondaires implicites, était désactivée, l'expression est à présent évaluée.

Pour activer ou désactiver l'évaluation de propriété automatique

  1. Dans le menu Outils, cliquez sur Options.

  2. Dans la boîte de dialogue Options, ouvrez le nœud Débogage et cliquez sur Général.

    Si le nœud Débogage ne s'affiche pas, cliquez sur Afficher tous les paramètres.

  3. Activez ou désactivez la case à cocher Activer l'évaluation de la propriété et d'autres appels de fonction implicite, puis cliquez sur OK.

Voir aussi

Concepts

Effets secondaires et expressions