符號和符號標記

已編譯程式的相關偵錯資訊會儲存在程式資料庫 (.pdb) 檔案中,作為可使用「偵錯介面存取 (DIA) SDK API」存取的符號。 所有符號都有 IDiaSymbol::get_symTagIDiaSymbol::get_symIndexId 屬性。 symTag 屬性表示 SymTagEnum Enumeration 列舉所定義的符號類型。 symIndexId 屬性是一個 DWORD 值,其中包含符號的每個實例的唯一識別碼。

符號也有一些屬性,可以指定符號的其他相關資訊,以及對其他符號 (最常見的是 IDiaSymbol::get_lexicalParentIDiaSymbol::get_classParent) 的參考。 當您查詢一個包含某個參考的屬性時,該參考會以 IDiaSymbol 物件傳回。 這類屬性一律會與同名但後綴為 "Id" 的另一個屬性配對,例如 IDiaSymbol::get_lexicalParentIdIDiaSymbol::get_classParentId符號位置符號類型的語彙階層以及符號類型的類別階層中的表格概述了每種不同符號類型的屬性。 這些屬性可能具有其他符號的相關資訊或對其他符號的參考。 因為 *Id 屬性只是其相關屬性的數字序號識別碼,所以會在進一步的討論中省略。 它們僅在需要澄清參數時才會參考。

當嘗試存取屬性時,如果沒有發生錯誤並且已為符號屬性指派了值,則該屬性的 "get" 方法將傳回 S_OKS_FALSE 的傳回值表示該屬性對於目前的符號無效。

本節內容

符號位置

描述符號可以擁有的不同位置類型。

符號類型的語彙階層

描述構成語彙階層的符號類型 (例如檔案、模組和函式)。

符號類型的類別階層

描述與不同語言元素 (例如類別、陣列和函式傳回類型) 相對應的符號類型。

另請參閱