Funzione SymGetSymFromAddr (dbghelp.h)
Individua il simbolo per l'indirizzo specificato.
Sintassi
BOOL IMAGEAPI SymGetSymFromAddr(
[in] HANDLE hProcess,
[in] DWORD dwAddr,
[out, optional] PDWORD pdwDisplacement,
[in, out] PIMAGEHLP_SYMBOL Symbol
);
Parametri
[in] hProcess
Handle per il processo passato originariamente alla funzione SymInitialize .
[in] dwAddr
Indirizzo per il quale deve essere individuato un simbolo. L'indirizzo non deve trovarsi sul limite di un simbolo. Se l'indirizzo viene dopo l'inizio di un simbolo e prima della fine del simbolo (l'inizio del simbolo più la dimensione del simbolo), viene trovato il simbolo.
[out, optional] pdwDisplacement
Spostamento dall'inizio del simbolo o zero.
[in, out] Symbol
Puntatore a una struttura IMAGEHLP_SYMBOL64 .
Valore restituito
Se la funzione ha esito positivo, il valore restituito è TRUE.
Se la funzione ha esito negativo, il valore restituito è FALSE. Per recuperare informazioni sull'errore estese, chiamare GetLastError.
Commenti
La funzione SymGetSymFromAddr64 individua il simbolo per un indirizzo specificato. I moduli vengono cercati nell'indirizzo a cui appartiene l'indirizzo. Quando il modulo viene trovato, viene cercata una corrispondenza nella tabella dei simboli. Quando viene trovato il simbolo, le informazioni sul simbolo vengono copiate nel buffer dei simboli fornito dal chiamante. Il chiamante deve allocare correttamente il buffer Symbol e compilare i parametri necessari nella struttura IMAGEHLP_SYMBOL64 prima di chiamare SymGetSymFromAddr64.
Tutte le funzioni DbgHelp, ad esempio questa, sono a thread singolo. Di conseguenza, le chiamate da più thread a questa funzione genereranno un comportamento imprevisto o un danneggiamento della memoria. Per evitare questo problema, è necessario sincronizzare tutte le chiamate simultanee da più thread a questa funzione.
Questa funzione sostituisce la funzione SymGetSymFromAddr . Per altre informazioni, vedere Aggiornamento del supporto della piattaforma. SymGetSymFromAddr è definito come segue in 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
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | dbghelp.h |
Libreria | Dbghelp.lib |
DLL | Dbghelp.dll |
Componente ridistribuibile | DbgHelp.dll 5.1 o versione successiva |