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