Função SymGetSymFromAddr (dbghelp.h)
Localiza o símbolo do endereço especificado.
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 |