Partager via


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 IDebugReference2autre 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

Voir aussi