Sdílet prostřednictvím


Odložené načítání symbolů

Ve výchozím nastavení se informace o symbolech ve skutečnosti nenačtou při načtení cílových modulů. Místo toho jsou symboly načteny ladicím programem podle potřeby. Označuje se jako odložené načítání symbolů nebo opožděné načítání symbolů. Pokud je tato možnost povolená, ladicí program načte symboly vždy, když narazí na nerozpoznaný symbol.

Když se cesta symbolu změní, například pomocí příkazu .sympath (Set Symbol Path), všechny načtené moduly se symboly exportu se líně znovu načtou. Symboly modulů s úplnými symboly PDB budou odloženě znovu načteny, pokud nová cesta již neobsahuje původní cestu, která byla použita k načtení symbolů PDB. Pokud nová cesta stále obsahuje původní cestu k souboru symbolů PDB, tyto symboly nebudou automaticky znovu načteny.

Pokud je odložené načítání symbolů zakázané, může být spouštění procesu mnohem pomalejší, protože při načtení modulu se čtou všechny symboly.

Ve WinDbg lze chování při načítání odložených symbolů upravit u symbolů, které nemají předponu modulu, pomocí možnosti Vyřešit nekvalifikované symboly v nabídce Ladění .

Odložené načítání symbolů můžete přepsat pomocí příkazu ld (Načíst symboly) nebo příkazu .reload (Reload Module) s možností /f . Tyto hodnoty vynutí okamžité načtení zadaných symbolů, i když se odloží načítání jiných symbolů.

Ve výchozím nastavení je povolené načítání odložených symbolů. V CDB a KD možnost příkazového řádku-s tuto možnost vypne. Můžete ho také vypnout v CDB pomocí proměnné LazyLoad v souborutools.ini . Po spuštění ladicího programu můžete tuto možnost zapnout nebo vypnout pomocí .symopt+0x4 nebo .symopt-0x4.