Compartilhar via


Método IDebugControl4::GetContextStackTrace (dbgeng.h)

O método GetContextStackTrace 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.

Sintaxe

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 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
S_OK
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 OutputContextStackTrace.

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

Confira também

GetStackTrace

IDebugControl4

OutputContextStackTrace

k, kb, kc, kd, kp, kP, kv (Exibir backtrace de pilha)