使用符號
如需符號的概觀,包括使用符號檔和符號伺服器,請參閱 符號。
符號名稱和位置
若要尋找指定其名稱的符號位置,請使用 GetOffsetByName。 如需用來指定符號名稱之語法的詳細資訊,請參閱 符號語法和符號比對。
如果不知道符號的確切名稱,或多個符號具有相同的名稱, StartSymbolMatch 會開始搜尋名稱符合指定模式的符號。 如需語法的詳細資訊,請參閱 字串萬用字元語法。
若要尋找指定其位置的符號名稱,請使用 GetNameByOffset。 若要尋找位於指定位置附近模組中的符號名稱,請使用 GetNearNamebyOffset。
注意 可能的話,請使用模組名稱限定詞號,例如 mymodule!main。 否則,如果符號不存在 (例如,因為) 引擎必須載入並搜尋每個模組的符號,這可以是緩慢的程式,特別是針對核心模式偵錯。 如果符號名稱是以模組名稱限定,引擎只需要搜尋該模組的符號。
符號是使用 結構 DEBUG_MODULE_AND_ID唯一識別。 這個結構是由 GetSymbolEntriesByName 和 GetSymbolEntriesByOffset方法傳回,分別根據其名稱和位置搜尋符號。
GetSymbolEntryInformation方法會使用DEBUG_SYMBOL_ENTRY結構傳回符號的描述。
若要尋找結構中欄位的位移,請使用 GetFieldOffset。 若要在 結構內尋找指定其索引的功能變數名稱,請使用 GetFieldName。 若要尋找指定其值之列舉常數的名稱,請使用 GetConstantName。
GetSymbolInformation方法可以針對符號的相關資訊執行數個要求。
符號選項
許多選項可控制符號的載入和卸載方式。 如需這些選項的描述,請參閱 設定符號選項。
符號選項可以使用 AddSymbolOptions開啟,並使用 RemoveSymbolOptions關閉。
GetSymbolOptions 會傳回目前的符號選項。 若要一次設定所有符號選項,請使用 SetSymbolOptions。
重載符號
載入符號檔之後,引擎會將符號資訊儲存在內部快取中。 若要排清此快取,請使用 重載。 這些符號現在或稍後必須再次載入。
綜合符號
綜合符號 是標籤任意位址以方便參考的方法。 您可以在任何現有的模組中建立綜合符號。 AddSyntheticSymbol方法會建立新的綜合符號。 您可以使用 RemoveSyntheticSymbol 移除綜合符號。 重載模組的符號會刪除與該模組相關聯的所有綜合符號。
符號路徑
若要將目錄或符號伺服器新增至符號路徑,請使用 AppendSymbolPath方法。 GetSymbolPath會傳回整個符號路徑,而且可以使用SetSymbolPath來變更。