Sdílet prostřednictvím


Symboly a značky symbolů

Ladicí informace o kompilovaném programu jsou uloženy v souboru databáze programu (.pdb) jako symboly, které jsou přístupné pomocí rozhraní DIA (Debug Interface Access) SDK API. Všechny symboly mají vlastnost IDiaSymbol::get_symTag a IDiaSymbol::get_symIndexId vlastnost. Vlastnost symTag označuje druh symbolu definovaného výčtem SymTagEnum . Vlastnost symIndexId je DWORD hodnota, která obsahuje jedinečný identifikátor pro každou instanci symbolu.

Symboly mají také vlastnosti, které mohou zadat další informace o symbolu a odkazy na jiné symboly, nejčastěji IDiaSymbol::get_lexicalParent nebo IDiaSymbol::get_classParent. Při dotazování vlastnosti, která obsahuje odkaz, je odkaz vrácen jako IDiaSymbol objektu. Tyto vlastnosti jsou vždy spárovány s jinou vlastností se stejným názvem, ale příponou "ID", například IDiaSymbol::get_lexicalParentId a IDiaSymbol::get_classParentId. Tabulky v umístěních symbolů, lexikální hierarchii typů symbolů a hierarchii tříd typů symbolů popisují vlastnosti pro každý z různých druhů symbolů. Tyto vlastnosti můžou mít relevantní informace o symbolech nebo odkazy na jiné symboly. *Id Vzhledem k tomu, že vlastnosti jsou jednoduše číselné pořadové identifikátory jejich souvisejících vlastností, vynechá se z dalších diskuzí. Odkazují se pouze tam, kde je potřeba k objasnění parametru.

Při pokusu o přístup k vlastnosti, pokud nedojde k žádné chybě a vlastnost symbolu byla přiřazena hodnota, vrátí S_OKmetoda "get" vlastnosti . Vrácená S_FALSE hodnota označuje, že vlastnost není platná pro aktuální symbol.

V tomto oddílu

Umístění symbolů

Popisuje různé druhy umístění, které může symbol obsahovat.

Lexikální hierarchie typů symbolů

Popisuje typy symbolů, které tvoří lexikální hierarchie, jako jsou soubory, moduly a funkce.

Hierarchie tříd typů symbolů

Popisuje typy symbolů, které odpovídají různým jazykovým prvkům, jako jsou třídy, pole a návratové typy funkcí.

Viz také