Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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
IDebugReference2que 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