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