Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Fornece uma representação de texto de um rastreamento de pilha gerenciado e uma matriz de registros CONTEXT, uma para cada transição entre código não gerenciado e gerenciado.
Sintaxe
HRESULT CALLBACK _EFN_StackTrace(
[in] PDEBUG_CLIENT Client,
[out] WCHAR wszTextOut[],
[out] size_t *puiTextLength,
[out] LPVOID pTransitionContexts,
[out] size_t *puiTransitionContextCount,
[in] size_t uiSizeOfContext,
[in] DWORD Flags
);
Parâmetros
Client [em] O cliente que está sendo depurado.
wszTextOut [fora] A representação de texto do rastreamento de pilha.
puiTextLength [fora] Um ponteiro para o número de caracteres em wszTextOut.
pTransitionContexts [fora] A matriz de contextos de transição.
puiTransitionContextCount [fora] Um ponteiro para o número de contextos de transição na matriz.
uiSizeOfContext [em] O tamanho da estrutura de contexto.
Flags [em] Defina como 0 ou SOS_STACKTRACE_SHOWADDRESSES (0x01) para mostrar o registro EBP e o ponteiro de pilha de entrada (ESP) na frente de cada module!functionname linha.
Comentários
A estrutura _EFN_StackTrace pode ser chamada de uma interface programática WinDbg. Os parâmetros são usados da seguinte maneira:
Se
wszTextOutfor nulo epuiTextLengthnão for nulo, a função retornará o comprimento da cadeia de caracteres empuiTextLength.Se
wszTextOutnão for nulo, a função armazenará o texto emwszTextOutaté o local indicado porpuiTextLength. Ele retornará com êxito se houver espaço suficiente no buffer ou retornará E_OUTOFMEMORY se o buffer não for longo o suficiente.A parte de transição da função é ignorada se
pTransitionContextsepuiTransitionContextCountforem nulos. Nesse caso, a função fornece aos chamadores a saída de texto somente dos nomes de função.Se
pTransitionContextsfor nulo epuiTransitionContextCountnão for nulo, a função retornará o número necessário de entradas de contexto empuiTransitionContextCount.Se
pTransitionContextsnão for nulo, a função a tratará como uma matriz de estruturas de comprimentopuiTransitionContextCount. O tamanho da estrutura é dado poruiSizeOfContext, e deve ser o tamanho de SimpleContext ouCONTEXTpara a arquitetura.wszTextOuté gravado no seguinte formato:"<ModuleName>!<Function Name>[+<offset in hex>] ... (TRANSITION) ..."Se o deslocamento em hexadecimal for 0x0, nenhum deslocamento será gravado.
Se não houver nenhum código gerenciado no thread atualmente no contexto, a função retornará SOS_E_NOMANAGEDCODE.
O parâmetro
Flagsé 0 ou SOS_STACKTRACE_SHOWADDRESSES para ver EBP e ESP na frente de cada linhamodule!functionname. Por padrão, ele é 0.#define SOS_STACKTRACE_SHOWADDRESSES 0x00000001
Requisitos
Plataformas: confira Requisitos do sistema.
Cabeçalho: SOS_Stacktrace.h
Versões do .NET Framework: Disponíveis desde 2.0