Modifier la valeur d’une variable locale
Important
Dans Visual Studio 2015, cette façon de mettre en œuvre les évaluateurs d’expressions est obsolète. Pour des informations sur la mise en œuvre des évaluateurs d’expressions CLR, veuillez consulter les pages les évaluateurs d’expression CLR et l’exemple d’évaluateur d’expression managée.
Lorsqu’une nouvelle valeur est saisie dans le champ de valeur de la fenêtre Locals, le package de débogage transmet la chaîne, telle qu’elle est saisie, à l’évaluateur d’expression (EE). L’EE évalue cette chaîne, qui peut contenir une valeur simple ou une expression, et stocke la valeur résultante dans le local associé.
Voici une vue d’ensemble du processus de modification de la valeur d’une variable locale :
Une fois que l’utilisateur a saisi la nouvelle valeur, Visual Studio appelle SetValueAsString sur l’objet IDebugProperty2 associé à la variable locale.
IDebugProperty2::SetValueAsString
effectue les tâches suivantes :Évalue la chaîne pour produire une valeur.
Lie l’objet IDebugField associé pour obtenir un objet IDebugObject.
Convertit la valeur en une série d’octets.
Appelle SetValue pour mettre les octets de la valeur en mémoire afin que le programme en cours de débogage puisse y accéder.
Visual Studio actualise l’affichage Locals (consultez Affichage des locaux pour plus d’informations).
Cette procédure est également utilisée pour modifier la valeur d’une variable dans la fenêtre Espion, sauf que c’est l’objet
IDebugProperty2
associé à la valeur de la variable locale qui est utilisé au lieu de l’objetIDebugProperty2
associé à la variable locale elle-même.
Contenu de cette section
Exemple d’implémentation de la modification des valeurs utilise l’exemple MyCEE pour passer en revue le processus de modification des valeurs.