Compartir a través de


IDebugProperty2

Esta interfaz representa una propiedad de marco de pila, una propiedad de documento de programa o alguna otra propiedad. La propiedad suele ser el resultado de una evaluación de expresiones.

Nota:

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

Sintaxis

IDebugProperty2 : IUnknown

Notas para los implementadores

El DE implementa esta interfaz para representar 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 EvaluateSync o EvaluateAsync para obtener esta interfaz, que representa el resultado de una evaluación. IDebugExpression2::EvaluateAsync devuelve esta interfaz mediante el envío de una interfaz IDebugExpressionEvaluationCompleteEvent2 al SDM, que a su vez llama a GetResult para recuperar la propiedad.

  • GetDebugProperty devuelve esta interfaz para proporcionar el documento de script asociado.

  • GetReturnValue devuelve esta interfaz para representar el valor devuelto de una función.

  • GetDebugProperty devuelve esta interfaz para representar varias propiedades del programa, como un nombre o un contexto de memoria.

  • GetDebugProperty devuelve esta interfaz para representar varias propiedades del marco de pila, como variables locales.

Métodos en orden de Vtable

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

Método Descripción
GetPropertyInfo Rellena una estructura DEBUG_PROPERTY_INFO que describe una propiedad .
SetValueAsString Establece el valor de una propiedad de una cadena.
SetValueAsReference Establece el valor de la propiedad a partir del valor de una referencia determinada.
EnumChildren Enumera los elementos secundarios de una propiedad .
GetParent Devuelve el elemento primario de una propiedad .
GetDerivedMostProperty Devuelve la propiedad que describe la propiedad más derivada de una propiedad.
GetMemoryBytes Devuelve los bytes de memoria que componen el valor de una propiedad.
GetMemoryContext Devuelve el contexto de memoria de un valor de propiedad.
GetSize Devuelve el tamaño, en bytes, del valor de la propiedad.
GetReference Devuelve una referencia al valor de esta propiedad.
GetExtendedInfo Devuelve la información extendida de una propiedad.

Comentarios

Una propiedad, como se representa mediante una IDebugProperty2 interfaz, se puede considerar como un valor con un nombre, un tipo y una dirección. En términos más generales, un IDebugProperty2 puede representar cualquier cosa que tenga una estructura jerárquica, con nodos primarios y secundarios.

Una propiedad suele ser transitoria, duradera solo siempre que el marco de pila actual, por ejemplo. Por otro lado, una referencia, como se representa mediante una interfaz IDebugReference2 , dura siempre que el valor permanezca en la memoria.

El IDE puede usar la IDebugProperty2 interfaz para permitir que los usuarios examinen y modifiquen las propiedades en tiempo de ejecución.

Requisitos

Encabezado: msdbg.h

Espacio de nombres: Microsoft.VisualStudio.Debugger.Interop

Ensamblado: Microsoft.VisualStudio.Debugger.Interop.dll

Consulte también