IDebugProperty2

Cette interface représente une propriété frame de pile, une propriété de document de programme ou une autre propriété. La propriété est généralement le résultat d’une évaluation d’expression.

Remarque

Cette utilisation de « propriété » ne doit pas être confondue avec cette signification, ce qui signifie qu’une variable membre d’une classe, bien qu’une IDebugProperty2 entité puisse représenter une telle entité.

Syntaxe

IDebugProperty2 : IUnknown

Remarques pour les implémenteurs

Le DE implémente cette interface pour représenter un type particulier de valeur. Par exemple, la valeur peut être une valeur numérique à la suite d’une évaluation d’expression, d’un contexte de mémoire utilisé pour l’affichage de la mémoire ou d’une liste de registres et de leurs valeurs.

Remarques pour les appelants

Appelez EvaluateSync ou EvaluateAsync pour obtenir cette interface, qui représente le résultat d’une évaluation. IDebugExpression2::EvaluateAsync retourne cette interface en envoyant une interface IDebugExpressionEvaluationCompleteEvent2 à la SDM, qui appelle à son tour GetResult pour récupérer la propriété.

  • GetDebugProperty retourne cette interface pour fournir le document de script associé.

  • GetReturnValue retourne cette interface pour représenter la valeur de retour d’une fonction.

  • GetDebugProperty retourne cette interface pour représenter différentes propriétés du programme, telles qu’un nom ou un contexte de mémoire.

  • GetDebugProperty retourne cette interface pour représenter différentes propriétés de la trame de pile, telles que les variables locales.

Méthodes dans l'ordre Vtable

Le tableau suivant présente les méthodes de IDebugProperty2.

Méthode Description
GetPropertyInfo Renseigne une structure DEBUG_PROPERTY_INFO qui décrit une propriété.
SetValueAsString Définit la valeur d’une propriété à partir d’une chaîne.
SetValueAsReference Définit la valeur de la propriété à partir de la valeur d’une référence donnée.
EnumChildren Énumère les enfants d’une propriété.
GetParent Retourne le parent d’une propriété.
GetDerivedMostProperty Retourne la propriété qui décrit la propriété la plus dérivée d’une propriété.
GetMemoryBytes Retourne les octets de mémoire qui composent la valeur d’une propriété.
GetMemoryContext Retourne le contexte de mémoire d’une valeur de propriété.
GetSize Retourne la taille, en octets, de la valeur de la propriété.
GetReference Retourne une référence à la valeur de cette propriété.
GetExtendedInfo Retourne les informations étendues d’une propriété.

Notes

Une propriété, telle qu’elle est représentée par une IDebugProperty2 interface, peut être considérée comme une valeur avec un nom, un type et une adresse. En termes plus généraux, un IDebugProperty2 peut représenter tout ce qui a une structure hiérarchique, avec les parents et les nœuds enfants.

Une propriété est généralement transitoire, durable uniquement tant que le cadre de pile actuel, par exemple. En revanche, une référence, telle qu’elle est représentée par une interface IDebugReference2 , dure tant que la valeur reste en mémoire.

L’IDE peut utiliser l’interface IDebugProperty2 pour permettre aux utilisateurs de parcourir et de modifier les propriétés au moment de l’exécution.

Spécifications

En-tête : msdbg.h

Espace de noms : Microsoft.VisualStudio.Debugger.Interop

Assembly : Microsoft.VisualStudio.Debugger.Interop.dll

Voir aussi