Compartir a través de


Método IDebugControl4::GetContextStackTrace (dbgeng.h)

El método GetContextStackTrace devuelve los fotogramas en la parte superior de la pila de llamadas, empezando por un contexto de registro arbitrario y devolviendo el contexto de registro recompilado para cada fotograma de pila.

Sintaxis

HRESULT GetContextStackTrace(
  [in, optional]  PVOID              StartContext,
  [in]            ULONG              StartContextSize,
  [out, optional] PDEBUG_STACK_FRAME Frames,
  [in]            ULONG              FramesSize,
  [out, optional] PVOID              FrameContexts,
  [in]            ULONG              FrameContextsSize,
  [in]            ULONG              FrameContextsEntrySize,
  [out, optional] PULONG             FramesFilled
);

Parámetros

[in, optional] StartContext

Especifica el contexto de registro de la parte superior de la pila.

[in] StartContextSize

Especifica el tamaño, en bytes, del contexto de registro de StartContext.

[out, optional] Frames

Recibe los marcos de pila. El número de elementos que contiene esta matriz es FrameSize. Si fotogramas es NULL, no se devuelve esta información.

[in] FramesSize

Especifica el número de elementos de la matriz Marcos.

[out, optional] FrameContexts

Recibe el contexto de registro reconstruido para cada fotograma de la pila. Las entradas de esta matriz corresponden a las entradas de la matriz Frames matriz. El tipo del contexto del subproceso es la estructura CONTEXT del procesador efectivo del destino. Si FrameContexts es NULL, esta información no se devuelve.

[in] FrameContextsSize

Especifica el tamaño, en bytes, de la memoria a la que apunta FrameContexts. El número de fotogramas de pila devueltos es igual al número de contextos devueltos y FrameContextsSize debe ser igual a FramesSize veces FrameContextsEntrySize.

[in] FrameContextsEntrySize

Especifica el tamaño, en bytes, de cada contexto de marco en FrameContexts.

[out, optional] FramesFilled

Recibe el número de fotogramas que se colocaron en la matriz Marcos y contextos en FrameContexts. Si framesFilled es NULL, no se devuelve esta información.

Valor devuelto

Código devuelto Descripción
S_OK
El método se realizó correctamente.
 

Este método también puede devolver valores de error. Para obtener más información, vea valores devueltos.

Observaciones

El seguimiento de pila devuelto a Frames y frameContexts se puede imprimir mediante OutputContextStackTrace.

Es habitual que los desenredes de pila restauren solo un subconjunto de los registros. Por ejemplo, los desenredes de pila no siempre restaurarán el estado de registro volátil porque los registros volátiles son registros temporal y el código no necesita conservarlos. Los registros que no se restauran en el desenredado se dejan como el último valor restaurado, por lo que se debe tener cuidado al usar el estado de registro que podría no restaurarse mediante un desenredado.

Requisitos

Requisito Valor
de la plataforma de destino de Escritorio
encabezado de dbgeng.h (include Dbgeng.h, Ntddk.h)

Consulte también

GetStackTrace

IDebugControl4

outputContextStackTrace

k, kb, kc, kd, kp, kP, kv (Display Stack Backtrace)