SymEnumSymbolsEx 函式 (dbghelp.h)
列舉進程中的所有符號。
語法
BOOL IMAGEAPI SymEnumSymbolsEx(
[in] HANDLE hProcess,
[in] ULONG64 BaseOfDll,
[in, optional] PCSTR Mask,
[in] PSYM_ENUMERATESYMBOLS_CALLBACK EnumSymbolsCallback,
[in, optional] PVOID UserContext,
[in] DWORD Options
);
參數
[in] hProcess
進程的句柄。 此句柄之前必須傳遞至 SymInitialize 函式 。
[in] BaseOfDll
模組的基位址。 如果此值為零, 且 Mask 包含驚嘆號 (!) ,則函式會跨模組查看。 如果此值為零, 且 Mask 不包含驚嘆號,則函式會使用 SymSetContext 函式所建立的範圍。
[in, optional] Mask
通配符字串,表示要列舉的符號名稱。 文字可以選擇性地包含通配符 「*」 和 “?”。
若要指定特定模組或一組模組,請以指定模組的通配符字串開始文字,後面接著驚嘆號。 指定模組時,會忽略 BaseOfDll 。
值 | 意義 |
---|---|
|
如果 BaseOfDll 不是零, SymEnumSymbols 會尋找名為 「foo」 的全域符號。
如果 BaseOfDll 為零, SymEnumSymbols 會在 最近呼叫 SymSetContext 函式所建立的範圍內尋找名為 “foo” 的本機符號。 |
|
如果 BaseOfDll 不是零, 則 SymEnumSymbols 會尋找以 「foo」 開頭的全域符號,並在之後包含一個額外的字元,例如 「information」 和 「foot」。。
如果 BaseOfDll 為零, 則 SymEnumSymbols 會尋找以 「foo」 開頭的符號,並在之後包含一個額外的字元,例如 “word” 和 “foot”。 搜尋會位於 最近呼叫 SymSetContext 函式所建立的範圍內。 |
|
SymEnumSymbols 會查看每個載入的模組,其開頭為 “foo” 的符號名稱為 “bar”。 它可以找到相符專案,例如“foot!bar”、“footlocker!bar” 和 “存取者!bar”。 |
|
SymEnumSymbols 會列舉每個載入模組中的每個符號。 |
[in] EnumSymbolsCallback
SymEnumSymbolsProc 回呼函式,可接收符號資訊。
[in, optional] UserContext
傳遞至回調函式或 NULL 的用戶定義值。 這個參數通常由應用程式用來傳遞數據結構的指標,以提供回呼函式的內容。
[in] Options
表示可能的選項。
值 | 意義 |
---|---|
|
使用預設選項。 |
|
列舉內嵌符號。 |
傳回值
如果函式成功,則傳回值為 TRUE。
如果函式失敗,傳回值為 FALSE。 若要擷取擴充的錯誤資訊,請呼叫 GetLastError。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | dbghelp.h |
程式庫 | DbgHelp.lib |
Dll | DbgHelp.dll |
可轉散發套件 | DbgHelp.dll 6.2 或更新版本 |