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 nos quadros de matriz.

[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 times 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 nos quadros e contextos da matriz em FrameContexts. Se Quadros Preenchidos for NULL, essas informações não serão retornadas.

Valor retornado

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 Quadros 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 zero e o código não precisa preservá-los. Os registros que não são restaurados ao relaxar 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

   
Plataforma de Destino Desktop
Cabeçalho dbgeng.h (include Dbgeng.h, Ntddk.h)

Confira também

GetStackTrace

IDebugControl4

OutputContextStackTrace

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