Compartilhar via


Método IDebugControl5::OutputContextStackTraceEx (dbgeng.h)

O método OutputContextStackTraceEx imprime a pilha de chamadas especificada por uma matriz de quadros de pilha e contextos de registro correspondentes. O método OutputContextStackTraceEx 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 OutputContextStackTraceEx(
  [in] ULONG                 OutputControl,
  [in] PDEBUG_STACK_FRAME_EX Frames,
  [in] ULONG                 FramesSize,
  [in] PVOID                 FrameContexts,
  [in] ULONG                 FrameContextsSize,
  [in] ULONG                 FrameContextsEntrySize,
  [in] ULONG                 Flags
);

Parâmetros

[in] OutputControl

Especifica para onde enviar a saída. Para obter valores possíveis, consulte DEBUG_OUTCTL_XXX.

[in] Frames

Especifica a matriz de quadros de pilha a serem gerados. O número de elementos nessa matriz é FramesSize. Se Frames for NULL, o quadro de pilha atual será usado.

[in] FramesSize

Especifica o número de quadros a serem gerados.

[in] FrameContexts

Especifica o contexto de registro 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.

[in] FrameContextsSize

Especifica o tamanho, em bytes, da memória apontada por FrameContexts. O número de quadros de pilha deve ser igual ao número de contextos e FrameContextsSize deve ser igual a FramesSize multiplicado por FrameContextsEntrySize.

[in] FrameContextsEntrySize

Especifica o tamanho, em bytes, de cada contexto de quadro em FrameContexts.

[in] Flags

Especifica sinalizadores de bits que determinam quais informações serão geradas para cada quadro. Os sinalizadores podem ser qualquer combinação de valores da tabela a seguir.

Sinalizador Descrição
DEBUG_STACK_ARGUMENTS Exibe as três primeiras partes de memória de pilha no quadro de cada chamada. Em plataformas em que os argumentos são passados na pilha e o código do quadro usa argumentos de pilha, esses valores serão os argumentos para a função.
DEBUG_STACK_FUNCTION_INFO Exibe informações sobre a função que corresponde ao quadro. Isso inclui informações de convenção de chamada e FPO (omissão de ponteiro de quadro).
DEBUG_STACK_SOURCE_LINE Exibe informações de linha de origem para cada quadro do rastreamento de pilha.
DEBUG_STACK_FRAME_ADDRESSES Exibe o endereço de retorno, o endereço do quadro anterior e outros endereços relevantes para cada quadro.
DEBUG_STACK_COLUMN_NAMES Exibe nomes de coluna.
DEBUG_STACK_NONVOLATILE_REGISTERS Exibe o contexto de registro não volátil para cada quadro. Isso só é significativo para algumas plataformas.
DEBUG_STACK_FRAME_NUMBERS Exibe números de quadro.
DEBUG_STACK_PARAMETERS Exibe nomes e valores de parâmetros conforme fornecido nas informações de símbolo.
DEBUG_STACK_FRAME_ADDRESSES_RA_ONLY Exibe apenas o endereço de retorno nos endereços do quadro de pilha.
DEBUG_STACK_FRAME_MEMORY_USAGE Exibe o número de bytes que separam os quadros.
DEBUG_STACK_PARAMETERS_NEWLINE Exibe cada parâmetro e seu tipo e valor em uma nova linha.

Retornar valor

Esse método também pode retornar valores de erro. Consulte Valores retornados para obter mais detalhes.

Código de retorno Descrição
S_OK
O método foi bem-sucedido.

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho dbgeng.h

Confira também

IDebugControl5