Compartir a través de


Método IDebugControl5::GetContextStackTraceEx (dbgeng.h)

El método GetContextStackTraceEx 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 fotograma de pila. El método GetContextStackTraceEx proporciona compatibilidad con fotogramas insertados. Para obtener más información sobre cómo trabajar con funciones insertadas, vea Depuración de código optimizado y funciones insertadas.

Sintaxis

HRESULT GetContextStackTraceEx(
  [in, optional]  PVOID                 StartContext,
  [in]            ULONG                 StartContextSize,
  [out, optional] PDEBUG_STACK_FRAME_EX 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, esta información no se devuelve.

[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 de 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 pila devuelto a Frames y FrameContexts se puede imprimir mediante OutputContextStackTraceEx.

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, ya que 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

GetStackTraceEx

IDebugControl5

OutputContextStackTraceEx

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