Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Fornece uma representação de texto de um rastreamento de pilha gerenciado e uma matriz de CONTEXT registros, um 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 [saídas] A representação de texto do rastreamento de pilha.
puiTextLength [saídas] Um ponteiro para o número de caracteres em wszTextOut.
pTransitionContexts [saídas] A matriz de contextos de transição.
puiTransitionContextCount [saídas] 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 enter (ESP) na frente de cada module!functionname linha.
Observações
A _EFN_StackTrace estrutura pode ser chamada a partir de uma interface programática WinDbg. Os parâmetros são utilizados da seguinte forma:
Se
wszTextOutfor nulo epuiTextLengthnão for nulo, a função retornará o comprimento da cadeia de caracteres empuiTextLength.Se
wszTextOutnão for null, a função armazena texto atéwszTextOuto local indicado porpuiTextLength. Ele retorna com êxito se houver espaço suficiente no buffer ou retorna E_OUTOFMEMORY se o buffer não foi longo o suficiente.A parte de transição da função é ignorada se
pTransitionContextsepuiTransitionContextCountsão ambos nulos. Nesse caso, a função fornece aos chamadores uma saída de texto apenas dos nomes das funções.Se
pTransitionContextsfor null epuiTransitionContextCountnão for null, a função retornará o número necessário de entradas de contexto nopuiTransitionContextCount.Se
pTransitionContextsnão for nulo, a função o trata como uma matriz de estruturas de comprimentopuiTransitionContextCount. O tamanho da estrutura é dado poruiSizeOfContext, e deve ser o tamanho de SimpleContext ouCONTEXTpara a arquitetura.wszTextOutestá escrito 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
Flagsparâmetro é 0 ou SOS_STACKTRACE_SHOWADDRESSES para ver EBP e ESP na frente de cadamodule!functionnamelinha. Por padrão, é 0.#define SOS_STACKTRACE_SHOWADDRESSES 0x00000001
Requisitos
Plataformas: Consulte Requisitos do sistema.
Cabeçalho: SOS_Stacktrace.h
Versões do .NET Framework: Disponível desde 2.0