Compartilhar via


Função SymGetSymFromAddr (dbghelp.h)

Localiza o símbolo do endereço especificado.

Nota Essa função é fornecida apenas para compatibilidade. Os aplicativos devem usar SymFromAddr.
 

Sintaxe

BOOL IMAGEAPI SymGetSymFromAddr(
  [in]            HANDLE           hProcess,
  [in]            DWORD            dwAddr,
  [out, optional] PDWORD           pdwDisplacement,
  [in, out]       PIMAGEHLP_SYMBOL Symbol
);

Parâmetros

[in] hProcess

Um identificador para o processo que foi originalmente passado para a função SymInitialize .

[in] dwAddr

O endereço para o qual um símbolo deve ser localizado. O endereço não precisa estar em um limite de símbolo. Se o endereço vier após o início de um símbolo e antes do final do símbolo (o início do símbolo mais o tamanho do símbolo), o símbolo será encontrado.

[out, optional] pdwDisplacement

O deslocamento desde o início do símbolo ou zero.

[in, out] Symbol

Um ponteiro para uma estrutura IMAGEHLP_SYMBOL64 .

Retornar valor

Se a função for bem-sucedida, o valor retornado será TRUE.

Se a função falhar, o valor retornado será FALSE. Para recuperar informações de erro estendidas, chame GetLastError.

Comentários

A função SymGetSymFromAddr64 localiza o símbolo de um endereço especificado. Os módulos são pesquisados para aquele ao qual o endereço pertence. Quando o módulo é encontrado, sua tabela de símbolos é pesquisada para obter uma correspondência. Quando o símbolo é encontrado, as informações do símbolo são copiadas para o buffer símbolo fornecido pelo chamador. O chamador deve alocar o buffer de símbolo corretamente e preencher os parâmetros necessários na estrutura IMAGEHLP_SYMBOL64 antes de chamar SymGetSymFromAddr64.

Todas as funções DbgHelp, como esta, são threaded único. Portanto, chamadas de mais de um thread para essa função provavelmente resultarão em comportamento inesperado ou corrupção de memória. Para evitar isso, você deve sincronizar todas as chamadas simultâneas de mais de um thread para essa função.

Essa função substitui a função SymGetSymFromAddr . Para obter mais informações, consulte Suporte de plataforma atualizado. SymGetSymFromAddr é definido da seguinte maneira em Dbghelp.h.

#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymGetSymFromAddr SymGetSymFromAddr64
#else
BOOL
IMAGEAPI
SymGetSymFromAddr(
    __in HANDLE hProcess,
    __in DWORD dwAddr,
    __out_opt PDWORD pdwDisplacement,
    __inout PIMAGEHLP_SYMBOL Symbol
    );
#endif

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho dbghelp.h
Biblioteca Dbghelp.lib
DLL Dbghelp.dll
Redistribuível DbgHelp.dll 5.1 ou posterior

Confira também

Funções DbgHelp

IMAGEHLP_SYMBOL64

SymFromAddr

SymInitialize