IDebugSymbols2::GetOffsetByName 方法 (dbgeng.h)
GetOffsetByName 方法會傳回名稱所識別符號的位置。
語法
HRESULT GetOffsetByName(
[in] PCSTR Symbol,
[out] PULONG64 Offset
);
參數
[in] Symbol
指定要尋找的符號名稱。 名稱可能以模組名稱限定(例如,mymodule!main)。
[out] Offset
接收符號記憶體配置基底目標記憶體位址空間中的位置。
傳回值
這個方法也可能傳回其他錯誤值。 如需詳細資訊,請參閱 傳回值。
傳回碼 | 描述 |
---|---|
|
方法成功。 |
|
方法成功。 不過,名稱 符號 不是唯一的,而且找到具有該名稱的多個符號。 其中一個符號是任意選擇並傳回的。 |
|
找不到具有指定名稱的符號。 |
言論
如果名稱 Symbol 不是唯一的,而且 GetOffsetByName 找到具有該名稱的多個符號,則會任意解析模棱兩可。 在此情況下,將會傳回值S_FALSE。 StartSymbolMatch 可用來起始搜尋,以判斷所需的結果。
GetNameByOffset 不支援模式比對(例如通配符)。 若要使用模式比對尋找符號,請使用 StartSymbolMatch。
如果已知符號的模組名稱,最好是使用模組名稱來限定符號名稱。 否則引擎會搜尋所有模組的符號,直到找到相符項目為止;如果它必須載入許多模組的符號檔,這可能需要很長的時間。 如果符號名稱以模組名稱限定,引擎只會搜尋該模組的符號。
如需符號和符號名稱的詳細資訊,請參閱 符號。
要求
要求 | 價值 |
---|---|
目標平臺 | 桌面 |
標頭 | dbgeng.h (include Dbgeng.h) |