IDebugSymbols2::GetOffsetByName 方法 (dbgeng.h)

GetOffsetByName 方法會傳回以名稱識別的符號位置。

語法

HRESULT GetOffsetByName(
  [in]  PCSTR    Symbol,
  [out] PULONG64 Offset
);

參數

[in] Symbol

指定要尋找的符號名稱。 名稱可由模組名稱限定 (,例如 mymodule!main) 。

[out] Offset

接收符號記憶體配置基底之目標記憶體位址空間中的位置。

傳回值

這個方法也可能傳回其他錯誤值。 如需詳細資訊,請參閱 傳回值

傳回碼 描述
S_OK
此方法成功。
S_FALSE
此方法成功。 不過,名稱 Symbol 不是唯一的,而且找到具有該名稱的多個符號。 其中一個符號是任意選擇並傳回的。
E_FAIL
找不到具有指定名稱的符號。

備註

如果 名稱 Symbol 不是唯一的,而且 GetOffsetByName 會尋找具有該名稱的多個符號,則會任意解析模棱兩可。 在此情況下,將會傳回值S_FALSE。 StartSymbolMatch 可用來起始搜尋,以判斷哪一個是所需的結果。

GetNameByOffset 不支援模式比對 (,例如通配符) 。 若要使用模式比對尋找符號,請使用 StartSymbolMatch

如果已知符號的模組名稱,最好使用模組名稱來限定符號名稱。 否則引擎會搜尋所有模組的符號,直到找到相符項目為止;如果必須載入許多模組的符號檔,這可能需要很長的時間。 如果符號名稱是以模組名稱限定,引擎只會搜尋該模組的符號。

如需符號和符號名稱的詳細資訊,請參閱 符號

規格需求

需求
目標平台 桌面
標頭 dbgeng.h (包含 Dbgeng.h)

另請參閱

GetNameByOffset

IDebugSymbols

IDebugSymbols2

IDebugSymbols3