Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Přehled symbolů, včetně použití souborů symbolů a serverů symbolů, najdete v tématu Symboly.
Názvy a umístění symbolů
Pokud chcete najít umístění symbolu, který má název, použijte GetOffsetByName. Podrobnosti o syntaxi použité k zadání názvů symbolů najdete v tématu Syntaxe symbolů a Porovnávání symbolů.
Pokud přesný název symbolu není známý nebo má více symbolů stejný název, StartSymbolMatch začne hledat symboly, jejichž názvy odpovídají danému vzoru. Podrobnosti o syntaxi naleznete v tématu Syntaxe řetězce se zástupnými znaky.
Pokud chcete najít název symbolu vzhledem k jeho umístění, použijte GetNameByOffset. Názvy symbolů v modulu poblíž daného umístění najdete pomocí rutiny GetNearNamebyOffset.
Poznámka Kdykoli je to možné, upřesněte symbol názvem modulu – například mymodule!main. Jinak pokud symbol neexistuje (například kvůli typografické chybě), modul bude muset načíst a vyhledat symboly pro každý modul; to může být pomalý proces, zejména pro ladění v režimu jádra. Pokud byl název symbolu kvalifikovaný názvem modulu, modul bude muset vyhledat pouze symboly pro tento modul.
Symbol je jednoznačně identifikován pomocí struktury DEBUG_MODULE_AND_ID. Tato struktura je vrácena metodami GetSymbolEntriesByName a GetSymbolEntriesByOffset, které vyhledá symboly na základě jejich názvu a umístění.
Metoda GetSymbolEntryInformation vrátí popis symbolu pomocí DEBUG_SYMBOL_ENTRY struktury.
Pokud chcete najít posun pole v rámci struktury, použijte GetFieldOffset. Pokud chcete najít název pole s daným indexem ve struktuře, použijte GetFieldName. Chcete-li najít název konstanty výčtu vzhledem k jeho hodnotě, použijte GetConstantName.
Metoda GetSymbolInformation může provést několik požadavků na informace o symbolech.
Možnosti symbolů
Počet možností určuje, jak jsou symboly načteny a uvolněny. Popis těchto možností naleznete v tématu Nastavení možností symbolů.
Možnosti symbolů se můžou zapnout pomocí addSymbolOptions a vypnout pomocí RemoveSymbolOptions.
Funkce GetSymbolOptions vrátí aktuální možnosti symbolu. Pokud chcete nastavit všechny možnosti symbolu najednou, použijte SetSymbolOptions.
Opětovné načítání symbolů
Po načtení souborů symbolů uloží modul informace o symbolech do interní mezipaměti. Pokud chcete tuto mezipaměť vyprázdnit, použijte možnost Znovu načíst. Tyto symboly budou muset být nyní nebo později znovu načteny.
Syntetické symboly
Syntetické symboly představují způsob, jak označit libovolnou adresu pro snadný odkaz. Syntetické symboly lze vytvořit v jakémkoli existujícím modulu. Metoda AddSyntheticSymbol vytvoří nový syntetický symbol. Syntetické symboly lze odebrat pomocí RemoveSyntheticSymbol. Opětovné načtení symbolů modulu odstraní všechny syntetické symboly spojené s tímto modulem.
Umístění symbolů
Chcete-li přidat adresář nebo server symbolů do cesty symbolu, použijte metodu AppendSymbolPath. Cesta k celému symbolu je vrácena getSymbolPath a lze ji změnit pomocí SetSymbolPath.