IDebugReference2

Esta interfaz representa una referencia a una propiedad de marco de pila o a otra propiedad.

Nota:

IDebugReference2 está reservado para uso futuro y todos sus métodos deben devolver E_NOTIMPL.

Sintaxis

IDebugReference2 : IUnknown

Notas para los implementadores

El DE implementa esta interfaz para representar una referencia a un tipo determinado de valor. Por ejemplo, el valor podría ser un valor numérico como resultado de una evaluación de expresiones, un contexto de memoria usado para mostrar memoria o una lista de registros y sus valores.

Notas para autores de la llamada

Llame a GetReference para obtener esta interfaz. GetParent y GetDerivedMostReference también devuelven esta interfaz.

Métodos en orden de Vtable

En la tabla siguiente se muestran los métodos de IDebugReference2.

Método Descripción
GetReferenceInfo Obtiene la estructura DEBUG_REFERENCE_INFO que describe esta referencia.
SetValueAsString Establece el valor de esta referencia de una cadena.
SetValueAsReference Establece el valor de esta referencia de otra referencia.
EnumChildren Enumera los elementos secundarios de esta referencia.
GetParent Obtiene el elemento primario de esta referencia.
GetDerivedMostReference Obtiene la referencia más derivada de esta referencia.
GetMemoryBytes Obtiene los bytes de memoria a los que hace referencia esta referencia.
GetMemoryContext Obtiene un contexto de memoria para esta referencia.
GetSize Obtiene el tamaño, en bytes, de esta referencia.
SetReferenceType Establece este tipo de referencia.
Comparar Compara esta referencia con otra.

Comentarios

Nota:

Este uso de "propiedad" no debe confundirse con eso, lo que significa que una variable miembro de una clase, aunque un IDebugReference2 puede representar dicha entidad.

  • IDebugProperty2 representa una propiedad, mientras IDebugReference2 que representa una referencia a una propiedad, normalmente una referencia a un objeto del programa que se está depurando.

La principal diferencia entre una propiedad y una referencia es que una propiedad hace referencia a una instancia con nombre de un objeto, mientras que una referencia hace referencia a una instancia sin nombre. Por ejemplo, una propiedad puede hacer referencia a un objeto en el montón del programa mediante "a.b". Otra propiedad puede hacer referencia al mismo objeto que "c.d". La forma de hacer referencia a esta propiedad requiere que "a.b" o "c.d" esté en el ámbito. Una referencia a este mismo objeto no tiene nombre; se puede hacer referencia al objeto siempre que la memoria de ese objeto sea válida.

Una IDebugProperty2 interfaz se puede considerar como un valor con un nombre, un tipo y una dirección. Por IDebugReference2otro lado, se puede considerar como un tipo y una dirección.

Requisitos

Encabezado: msdbg.h

Espacio de nombres: Microsoft.VisualStudio.Debugger.Interop

Ensamblado: Microsoft.VisualStudio.Debugger.Interop.dll

Consulte también