Compartilhar via


Função _EFN_StackTrace

Fornece uma representação de texto de um rastreamento de pilha gerenciada e uma matriz de CONTEXT registros, um para cada transição entre códigos gerenciado e não gerenciado.

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
    [in] O cliente que está sendo depurado.

  • wszTextOut
    [out] A representação de texto de rastreamento de pilha.

  • puiTextLength
    [out] Um ponteiro para o número de caracteres em wszTextOut.

  • pTransitionContexts
    [out] Matriz de contextos de transição.

  • puiTransitionContextCount
    [out] Um ponteiro para o número de contextos de transição na matriz.

  • uiSizeOfContext
    [in] O dimensionar da estrutura de contexto.

  • Flags
    [in] Defina como 0 ou SOS_STACKTRACE_SHOWADDRESSES (0 x 01) para mostrar o registro EBP e o ponteiro da pilha enter (ESP) na frente de cada module!functionname linha.

Comentários

The _EFN_StackTrace estrutura pode ser chamada a partir de uma interface de programação do WinDbg. Parâmetros são usados da seguinte maneira:

  • If wszTextOut é nulo e puiTextLength é a função não nulo, retorna o comprimento da seqüência de caracteres em puiTextLength.

  • If wszTextOut é não nulo, a função armazena o texto em wszTextOut até o local indicado pelo puiTextLength. Retorna com êxito se havia espaço suficiente no buffer ou E_OUTOFMEMORY retorna se o buffer não era longa o suficiente.

  • Parte da função transição será ignorado se pTransitionContexts e puiTransitionContextCount ambos são nulo. Nesse caso, a função fornece os chamadores com saída de texto somente os nomes de função.

  • If pTransitionContexts é nulo e puiTransitionContextCount é não nulo, a função retorna o número necessário de entradas de contexto no puiTransitionContextCount.

  • If pTransitionContexts é não nulo, a função tratará sistema autônomo uma matriz de estruturas de tamanho puiTransitionContextCount. O dimensionar da estrutura é dado por uiSizeOfContext, e deve ser o dimensionar do SimpleContext or CONTEXT para a arquitetura.

  • wszTextOut é gravada no seguinte formato:

    "<ModuleName>!<Function Name>[+<offset in hex>]
    ...
    (TRANSITION)
    ..."
    
  • Se o deslocamento em hexadecimal é 0 x 0, o deslocamento não será gravado.

  • Se não houver nenhum código gerenciado no thread atualmente em contexto, a função retornará SOS_E_NOMANAGEDCODE.

  • The Flags o parâmetro está 0 ou SOS_STACKTRACE_SHOWADDRESSES ver EBP e ESP na frente de cada module!functionname linha. Por padrão, ele é 0.

    #define SOS_STACKTRACE_SHOWADDRESSES   0x00000001
    

Requisitos

Plataformas: See Requisitos de sistema do .NET framework.

Cabeçalho: SOS_Stacktrace.h

.NET Framework Versions: 3.5 SP1, 3,5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Consulte também

Outros recursos

Depuração estático funções global