IDebugReference2
Cette interface représente une référence à une propriété frame de pile ou à une autre propriété.
Remarque
IDebugReference2
est réservé à une utilisation ultérieure, et toutes ses méthodes doivent retourner E_NOTIMPL
.
Syntaxe
IDebugReference2 : IUnknown
Remarques pour les implémenteurs
Le DE implémente cette interface pour représenter une référence à 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 GetReference pour obtenir cette interface. GetParent et GetDerivedMostReference retournent également cette interface.
Méthodes dans l'ordre Vtable
Le tableau suivant présente les méthodes de IDebugReference2
.
Méthode | Description |
---|---|
GetReferenceInfo | Obtient la structure DEBUG_REFERENCE_INFO qui décrit cette référence. |
SetValueAsString | Définit la valeur de cette référence à partir d’une chaîne. |
SetValueAsReference | Définit la valeur de cette référence à partir d’une autre référence. |
EnumChildren | Énumère les enfants de cette référence. |
GetParent | Obtient le parent de cette référence. |
GetDerivedMostReference | Obtient la référence la plus dérivée de cette référence. |
GetMemoryBytes | Obtient les octets de mémoire auxquels cette référence fait référence. |
GetMemoryContext | Obtient un contexte de mémoire pour cette référence. |
GetSize | Obtient la taille, en octets, de cette référence. |
SetReferenceType | Définit ce type de référence. |
Compare | Compare cette référence à une autre. |
Notes
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 IDebugReference2
entité puisse représenter une telle entité.
- IDebugProperty2 représente une propriété, tandis que
IDebugReference2
représente une référence à une propriété, généralement une référence à un objet dans le programme en cours de débogage.
La principale différence entre une propriété et une référence est qu’une propriété fait référence à une instance nommée d’un objet, tandis qu’une référence fait référence à une instance non nommée. Par exemple, une propriété peut faire référence à un objet dans le tas du programme par "a.b"
. Une autre propriété peut faire référence au même objet que "c.d"
. La façon de faire référence à cette propriété nécessite ou "a.b"
"c.d"
être dans l’étendue. Une référence à ce même objet est sans nom ; l’objet peut être appelé tant que la mémoire de cet objet est valide.
Une IDebugProperty2
interface peut être considérée comme une valeur avec un nom, un type et une adresse. D’un IDebugReference2
autre côté, il peut être considéré comme un type et une adresse.
Spécifications
En-tête : msdbg.h
Espace de noms : Microsoft.VisualStudio.Debugger.Interop
Assembly : Microsoft.VisualStudio.Debugger.Interop.dll