Método IDebugControl5::GetContextStackTraceEx (dbgeng.h)
O método GetContextStackTraceEx retorna os quadros na parte superior da pilha de chamadas, começando com um contexto de registro arbitrário e retornando o contexto de registro reconstruído para cada quadro de pilha. O método GetContextStackTraceEx fornece suporte a quadro embutido. Para obter mais informações sobre como trabalhar com funções embutidas, consulte Depurando código otimizado e funções embutidas.
Sintaxe
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 o contexto de registro para a parte superior da pilha.
[in] StartContextSize
Especifica o tamanho, em bytes, do contexto de registro StartContext .
[out, optional] Frames
Recebe os quadros de pilha. O número de elementos que essa matriz contém é FrameSize. Se Frames for NULL, essas informações não serão retornadas.
[in] FramesSize
Especifica o número de itens na matriz Frames.
[out, optional] FrameContexts
Recebe o contexto de registro reconstruído para cada quadro na pilha. As entradas nessa matriz correspondem às entradas na matriz Frames . O tipo do contexto de thread é a estrutura CONTEXT para o processador efetivo do destino. Se FrameContexts for NULL, essas informações não serão retornadas.
[in] FrameContextsSize
Especifica o tamanho, em bytes, da memória apontada por FrameContexts. O número de quadros de pilha retornados é igual ao número de contextos retornados e FrameContextsSize deve ser igual a FramesSize vezes FrameContextsEntrySize.
[in] FrameContextsEntrySize
Especifica o tamanho, em bytes, de cada contexto de quadro em FrameContexts.
[out, optional] FramesFilled
Recebe o número de quadros que foram colocados na matriz Quadros e contextos em FrameContexts. Se FramesFilled for NULL, essas informações não serão retornadas.
Retornar valor
Código de retorno | Descrição |
---|---|
|
O método foi bem-sucedido. |
Esse método também pode retornar valores de erro. Para obter mais informações, consulte Valores retornados.
Comentários
O rastreamento de pilha retornado a Frames e FrameContexts pode ser impresso usando OutputContextStackTraceEx.
É comum que os desenrolamentos de pilha restaurem apenas um subconjunto dos registros. Por exemplo, os desenrolamentos de pilha nem sempre restaurarão o estado de registro volátil porque os registros voláteis são registros de rascunho e o código não precisa preservá-los. Os registros que não são restaurados ao desenrolar são deixados como o último valor restaurado, portanto, deve-se tomar cuidado ao usar o estado de registro que pode não ser restaurado por um desenrolamento.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | dbgeng.h (inclua Dbgeng.h, Ntddk.h) |