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 reconstruido para cada marco 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 StartContext .

[out, optional] Frames

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

[in] FramesSize

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

[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 . 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 los marcos y contextos de matriz en FrameContexts. Si FramesFilled es NULL, esta información no se devuelve.

Valor devuelto

Código devuelto Descripción
S_OK
Método realizado correctamente.
 

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

Comentarios

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

Es habitual que los desenredado de pila restauren solo un subconjunto de los registros. Por ejemplo, los desenredado 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 ser restaurado por un desenredado.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado dbgeng.h (include Dbgeng.h, Ntddk.h)

Consulte también

GetStackTrace

IDebugControl4

OutputContextStackTrace

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