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 |
---|---|
|
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) |