SymGetSymFromAddr 函式 (dbghelp.h)
找出指定位址的符號。
注意 此函式僅供相容性使用。 應用程式應該使用 SymFromAddr。
語法
BOOL IMAGEAPI SymGetSymFromAddr(
[in] HANDLE hProcess,
[in] DWORD dwAddr,
[out, optional] PDWORD pdwDisplacement,
[in, out] PIMAGEHLP_SYMBOL Symbol
);
參數
[in] hProcess
原本傳遞至 SymInitialize 函式之進程的句柄。
[in] dwAddr
要尋找符號的位址。 位址不一定位於符號界限上。 如果地址位於符號的開頭之後,以及符號結尾之前, (符號的開頭加上符號大小) ,就會找到符號。
[out, optional] pdwDisplacement
符號開頭的位移或零。
[in, out] Symbol
IMAGEHLP_SYMBOL64 結構的指標。
傳回值
如果函式成功,則傳回值為 TRUE。
如果函式失敗,傳回值為 FALSE。 若要擷取擴充的錯誤資訊,請呼叫 GetLastError。
備註
SymGetSymFromAddr64 函式會尋找指定位址的符號。 系統會搜尋位址所屬的模組。 找到模組時,會搜尋其符號表以尋找相符專案。 找到符號時,符號資訊會複製到呼叫端提供的 符號 緩衝區。 呼叫端必須先正確配置 Symbol 緩衝區,並在呼叫 SymGetSymFromAddr64 之前填入IMAGEHLP_SYMBOL64結構中的必要參數。
所有 DbgHelp 函式,例如此函式都是單個線程。 因此,從一個以上的線程呼叫此函式可能會導致非預期的行為或記憶體損毀。 若要避免這種情況,您必須將所有並行呼叫從一個以上的線程同步至此函式。
此函式會取代 SymGetSymFromAddr 函 式。 如需詳細資訊,請參閱 更新的平台支援。 SymGetSymFromAddr 在 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
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | dbghelp.h |
程式庫 | Dbghelp.lib |
Dll | Dbghelp.dll |
可轉散發套件 | DbgHelp.dll 5.1 或更新版本 |