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.
K dispozici je celá řada možností, jak se symboly načítají a používají. Tyto možnosti je možné nastavit různými způsoby.
Následující tabulka uvádí tyto možnosti symbolů:
| Flag | Option Name | Výchozí nastavení v ladicím programu | Výchozí hodnota v DBH |
|---|---|---|---|
0x1 |
On |
On |
|
0x2 |
On |
On |
|
0x4 |
On |
Off |
|
0x8 |
Off |
Off |
|
0x10 |
Vypnuto v KD a CDB Zapnuto v WinDbg |
On |
|
0x20 |
On |
Off |
|
0x40 |
Off |
Off |
|
0x80 |
Off |
Off |
|
0x100 |
Off |
Off |
|
0x200 |
On |
Off |
|
0x400 |
Off |
On |
|
0x800 |
Off |
On |
|
0x1000 |
Off |
Off |
|
0x2000 |
SYMOPT_INCLUDE_32BIT_MODULES |
Off |
Off |
0x4000 |
Off |
Off |
|
0x8000 |
Off |
Off |
|
0x10000 |
On |
On |
|
0x20000 |
On |
Off |
|
0x40000 |
Off |
Off |
|
0x80000 |
Zapnuto v KD a CDB Vypnuto v WinDbg |
Off |
|
0x80000000 |
Off |
Off |
Změna nastavení možností symbolu
Příkaz .symopt (Nastavit možnosti symbolu) lze použít ke změně nebo zobrazení nastavení možností symbolu. In addition, a number of command-line parameters and commands are available to change these settings; these are listed in the individual SYMOPT_XXX sections.
You can also control all the settings at once with the -sflagscommand-line option. This option can be followed with a decimal number, or with a hexadecimal number prefixed by 0x. Doporučujeme používat šestnáctkové příznaky, protože příznaky symbolů jsou správně zarovnané tímto způsobem. Při používání této metody buďte opatrní, protože nastaví celé bitové pole a přepíše všechny výchozí hodnoty obslužné rutiny symbolů. For example, -sflags 0x401 will not only turn on SYMOPT_EXACT_SYMBOLS and SYMOPT_CASE_INSENSITIVE, but will also turn off all the other options that normally are on by default!
Výchozí hodnota bitů s celkovým příznakem je 0x30237 ve WinDbg, 0xB0227 v CDB a KD a 0x10C13 v nástroji DBH, když se tyto programy spustí bez jakýchkoli možností příkazového řádku souvisejících se symboly.
SYMOPT_CASE_INSENSITIVE
Tato možnost symbolu způsobí, že všechna hledání názvů symbolů nerozlišují malá a velká písmena.
Tato možnost je ve výchozím nastavení zapnutá ve všech ladicích programech. Once the debugger is running, it can be turned on or off by using .symopt+0x1 or .symopt-0x1, respectively.
Tato možnost je ve výchozím nastavení zapnutá v DBH. Jakmile je dbH spuštěný, můžete ho zapnout nebo vypnout pomocí symopt +1 nebo symopt -1.
SYMOPT_UNDNAME
Tato možnost symbolu způsobí, že názvy veřejných symbolů se při jejich zobrazení neodpovídají a způsobí, že názvy symbolů budou ignorovat. Názvy privátních symbolů se nikdy neoznačí bez ohledu na to, jestli je tato možnost aktivní. Informace o dekoracích názvů symbolů naleznete v tématu Veřejné a soukromé symboly.
Tato možnost je ve výchozím nastavení zapnutá ve všech ladicích programech. Once the debugger is running, it can be turned on or off by using .symopt+0x2 or .symopt-0x2, respectively.
Tato možnost je ve výchozím nastavení zapnutá v DBH. Pokud se používá možnost příkazového řádku -d, je vypnutá. Jakmile je dbH spuštěný, můžete ho zapnout nebo vypnout pomocí symoptu +2 nebo symopt -2.
SYMOPT_DEFERRED_LOADS
Tato možnost symbolu se označuje jako odložené načítání symbolů nebo opožděné načítání symbolů. Pokud je aktivní, symboly se při načtení cílových modulů ve skutečnosti nenačtou. Místo toho jsou symboly načteny ladicím programem podle potřeby. Podrobnosti najdete v tématu Odložené načítání symbolů .
Tato možnost je ve výchozím nastavení zapnutá ve všech ladicích programech. V CDB a KD -s možnost příkazového řádku tuto možnost vypne. It can also be turned off in CDB by using the LazyLoad variable in the tools.ini file. Once the debugger is running, this option can be turned on or off by using .symopt+0x4 or .symopt-0x4, respectively.
Tato možnost je ve výchozím nastavení v DBH vypnutá. Po spuštění dbH ho můžete zapnout nebo vypnout pomocí symopt +4 nebo symopt -4.
SYMOPT_NO_CPP
Tato možnost symbolu vypne překlad jazyka C++. When this symbol option is set, :: is replaced by __ in all symbols.
Tato možnost je ve výchozím nastavení vypnutá ve všech ladicích programech. Dá se aktivovat pomocí -snc možnosti příkazového řádku. Once the debugger is running, it can be turned on or off by using .symopt+0x8 or .symopt-0x8, respectively.
Tato možnost je ve výchozím nastavení v DBH vypnutá. Po spuštění dbH ho můžete zapnout nebo vypnout pomocí symopt +8 nebo symopt -8.
SYMOPT_LOAD_LINES
Tato možnost symbolu umožňuje čtení informací o čísle řádku ze zdrojových souborů. Tato možnost musí být zapnutá, aby ladění zdroje fungovalo správně.
V KD a CDB je tato možnost ve výchozím nastavení vypnutá; Ve WinDbg je tato možnost ve výchozím nastavení zapnutá. V CDB a KD zapne -lines možnost příkazového řádku. Once the debugger is running, it can be turned on or off by using .symopt+0x10 or .symopt-0x10, respectively. Můžete ho také zapnout a vypnout pomocí příkazu .lines (Přepnout podporu zdrojového řádku ).
Tato možnost je ve výchozím nastavení zapnutá v DBH. Po spuštění dbH ho můžete zapnout nebo vypnout pomocí symopt +10 nebo symopt -10.
SYMOPT_OMAP_FIND_NEAREST
Pokud je kód optimalizovaný a v očekávaném umístění neexistuje žádný symbol, tato možnost místo toho způsobí použití nejbližšího symbolu.
Tato možnost je ve výchozím nastavení zapnutá ve všech ladicích programech. Once the debugger is running, it can be turned on or off by using .symopt+0x20 or .symopt-0x20, respectively.
Tato možnost je ve výchozím nastavení zapnutá v DBH. Po spuštění dbH ho můžete zapnout nebo vypnout pomocí symoptu +20 nebo symopt -20.
SYMOPT_LOAD_ANYTHING
Tato možnost symbolu snižuje výběr obslužné rutiny symbolů při pokusu o shodu symbolů.
Tato možnost je ve výchozím nastavení vypnutá ve všech ladicích programech. Once the debugger is running, it can be turned on or off by using .symopt+0x40 or .symopt-0x40, respectively.
Tato možnost je ve výchozím nastavení v DBH vypnutá. Jakmile je dbH spuštěný, můžete ho zapnout nebo vypnout pomocí symoptu +40 nebo symopt -40.
SYMOPT_IGNORE_CVREC
Tato možnost symbolu způsobí, že obslužná rutina symbolu při hledání symbolů ignoruje záznam CV v záhlaví načteného obrázku.
Tato možnost je ve výchozím nastavení vypnutá ve všech ladicích programech. Dá se aktivovat pomocí -sicv možnosti příkazového řádku. Once the debugger is running, it can be turned on or off by using .symopt+0x80 or .symopt-0x80, respectively.
Tato možnost je ve výchozím nastavení v DBH vypnutá. Jakmile je dbH spuštěný, můžete ho zapnout nebo vypnout pomocí symoptu +80 nebo symopt -80.
SYMOPT_NO_UNQUALIFIED_LOADS
Tato možnost symbolu zakáže automatické načítání modulů obslužné rutiny symbolů. Pokud je tato možnost nastavená a ladicí program se pokusí shodovat se symbolem, bude prohledávat pouze moduly, které už byly načteny.
Tuto možnost lze použít jako ochranu před nesprávným zadáním názvu symbolu. Za normálních okolností chybný symbol způsobí pozastavení ladicího programu, zatímco prohledá všechny uvolněné soubory symbolů. Pokud je tato možnost aktivní, v načtených modulech se nenajde chybný symbol a hledání se ukončí.
Tato možnost je ve výchozím nastavení vypnutá ve všech ladicích programech. Dá se aktivovat pomocí -snul možnosti příkazového řádku. Once the debugger is running, it can be turned on or off by using .symopt+0x100 or .symopt-0x100, respectively.
Tato možnost je ve výchozím nastavení v DBH vypnutá. Po spuštění dbH ho můžete zapnout nebo vypnout pomocí symopt +100 nebo symopt -100.
SYMOPT_FAIL_CRITICAL_ERRORS
Tato možnost symbolu způsobí potlačení dialogových oken s chybami přístupu k souboru.
Pokud je tato možnost vypnutá, zobrazí se dialogová okna s chybami přístupu k souborům, například "jednotka není připravená". Pokud je tato možnost zapnutá, potlačí se tato pole a všechny chyby přístupu se zobrazí jako odpověď "selhání".
Tato možnost je ve výchozím nastavení zapnutá ve všech ladicích programech. Můžete ho deaktivovat pomocí -sdce možnosti příkazového řádku. Once the debugger is running, it can be turned on or off by using .symopt+0x200 or .symopt-0x200, respectively.
Tato možnost je ve výchozím nastavení v DBH vypnutá. Po spuštění dbH ho můžete zapnout nebo vypnout pomocí symopt +200 nebo symopt -200.
SYMOPT_EXACT_SYMBOLS
Tato možnost symbolu způsobí, že ladicí program provede striktní vyhodnocení všech souborů symbolů.
Pokud je tato možnost zapnutá, i nejmenší nesrovnalosti mezi soubory symbolů a očekáváními obslužné rutiny symbolů způsobí ignorování symbolů.
Tato možnost je ve výchozím nastavení vypnutá ve všech ladicích programech. Dá se aktivovat pomocí -ses možnosti příkazového řádku. Once the debugger is running, it can be turned on or off by using .symopt+0x400 or .symopt-0x400, respectively.
Možnost příkazového řádku -failinc zapne také SYMOPT_EXACT_SYMBOLS. Pokud navíc ladíte minidump v uživatelském režimu nebo minidump v režimu jádra, -failinc zabrání ladicímu programu načíst všechny moduly, jejichž obrázky nelze mapovat.
Tato možnost je ve výchozím nastavení zapnutá v DBH. Po spuštění dbH ho můžete zapnout nebo vypnout pomocí symopt +400 nebo symopt -400.
SYMOPT_ALLOW_ABSOLUTE_SYMBOLS
Tato možnost symbolu umožňuje DbgHelp číst symboly uložené na absolutní adrese v paměti. Tato možnost není potřebná ve většině případů.
Tato možnost je ve výchozím nastavení vypnutá ve všech ladicích programech. Once the debugger is running, it can be turned on or off by using .symopt+0x800 or .symopt-0x800, respectively.
Tato možnost je ve výchozím nastavení zapnutá v DBH. Po spuštění dbH ho můžete zapnout nebo vypnout pomocí symoptu +800 nebo symopt -800.
SYMOPT_IGNORE_NT_SYMPATH
Tato možnost symbolu způsobí, že ladicí program ignoruje nastavení proměnné prostředí pro cestu symbolu a cestu spustitelného obrázku.
Tato možnost je ve výchozím nastavení vypnutá ve všech ladicích programech. Dá se aktivovat pomocí -sins možnosti příkazového řádku. However, it cannot be controlled by .symopt once the debugger is running, because the environment variables are only read at startup.
Tato možnost je ve výchozím nastavení v DBH vypnutá a ve všech případech ji dbH ignoruje.
SYMOPT_PUBLICS_ONLY
Tato možnost symbolu způsobí, že DbgHelp ignoruje data privátních symbolů a vyhledá informace o symbolech pouze v tabulce veřejných symbolů. Tím se emuluje chování DbgHelp před přidáním podpory těchto typů. viz veřejné a soukromé symboly.
Tato možnost je ve výchozím nastavení vypnutá ve všech ladicích programech. Once the debugger is running, it can be turned on or off by using .symopt+0x4000 or .symopt-0x4000, respectively.
Tato možnost je ve výchozím nastavení v DBH vypnutá. Pokud se používá možnost příkazového řádku -d, je zapnutá. Po spuštění dbH ho můžete zapnout nebo vypnout pomocí symopt +4000 nebo symopt -4000.
SYMOPT_NO_PUBLICS
Tato možnost symbolu zabraňuje DbgHelp v prohledávání veřejné tabulky symbolů. Díky tomu je výčet symbolů a hledání symbolů mnohem rychlejší. Pokud máte obavy pouze s rychlostí vyhledávání, SYMOPT_AUTO_PUBLICS možnost je obecně vhodnější pro tuto možnost. Informace o tabulce veřejných symbolů najdete v tématu Veřejné a soukromé symboly.
Tato možnost je ve výchozím nastavení vypnutá ve všech ladicích programech. Once the debugger is running, it can be turned on or off by using .symopt+0x8000 or .symopt-0x8000, respectively.
Tato možnost je ve výchozím nastavení v DBH vypnutá. Po spuštění dbH ho můžete zapnout nebo vypnout pomocí symopt +8000 nebo symopt -8000.
SYMOPT_AUTO_PUBLICS
Tato možnost symbolu způsobí, že DbgHelp prohledá veřejnou tabulku symbolů v souboru .pdb pouze jako poslední možnost. Pokud se při hledání dat privátních symbolů najde nějaká shoda, veřejné symboly nebudou prohledány. Tím se zlepší rychlost hledání symbolů.
Tato možnost je ve výchozím nastavení zapnutá ve všech ladicích programech. Můžete ho deaktivovat pomocí -sup možnosti příkazového řádku. Once the debugger is running, it can be turned on or off by using .symopt+0x10000 or .symopt-0x10000, respectively.
Tato možnost je ve výchozím nastavení zapnutá v DBH. Pokud se používá možnost příkazového řádku -d, je vypnutá. Jakmile je dbH spuštěný, můžete ho zapnout nebo vypnout pomocí symopt +10000 nebo symopt -10000.
SYMOPT_NO_IMAGE_SEARCH
Tato možnost symbolu zabraňuje DbgHelp v hledání kopie image na disku při načtení symbolů.
Tato možnost je ve výchozím nastavení zapnutá ve všech ladicích programech. Once the debugger is running, it can be turned on or off by using .symopt+0x20000 or .symopt-0x20000, respectively.
Tato možnost je ve výchozím nastavení v DBH vypnutá. Po spuštění dbH ho můžete zapnout nebo vypnout pomocí symopt +20000 nebo symopt -20000.
SYMOPT_SECURE
(Kernel mode only) This symbol option indicates whether Secure Mode is active.
Zabezpečený režim je ve výchozím nastavení vypnutý ve všech ladicích programech. Dá se aktivovat pomocí -secure možnosti příkazového řádku. If the debugger is running, is in dormant mode, and has not established any Debugging Servers, Secure Mode can be turned on by using .symopt+0x40000 or .secure (Activate Secure Mode).
Tato možnost je ve výchozím nastavení v DBH vypnutá. Po spuštění dbH ho můžete zapnout nebo vypnout pomocí symopt +40000 nebo symopt -40000, v uvedeném pořadí.
Zabezpečený režim nelze po aktivaci vypnout.
SYMOPT_NO_PROMPTS
Tato možnost symbolu potlačí dialogová okna ověřování z proxy serveru. To může vést k tomu, že SymSrv nemůže získat přístup k úložišti symbolů na internetu.
Podrobnosti najdete v tématu Brány firewall a proxy servery.
V KD a CDB je tato možnost ve výchozím nastavení zapnutá; Ve WinDbg je tato možnost ve výchozím nastavení vypnutá. Once the debugger is running, it can be turned on or off by using .symopt+0x80000 or .symopt-0x80000, respectively, followed by the .reload (Reload Module) command. Můžete ho také zapnout a vypnout pomocí příkazů rozšíření !sym prompts vypnuté a !sym prompts extension a příkazem .reload (Reload Module).
Tato možnost je ve výchozím nastavení v DBH vypnutá. Jakmile je dbH spuštěný, můžete ho zapnout nebo vypnout pomocí symoptu +80000 nebo symopt -80000.
-SYMOPT_DEBUG
Tato možnost symbolu zapne načítání hlučných symbolů. Tím ladicí program dá ladicímu programu pokyn, aby zobrazil informace o jeho hledání symbolů.
Název každého souboru symbolů se zobrazí při načtení. Pokud ladicí program nemůže načíst soubor symbolů, zobrazí se chybová zpráva. Chybové zprávy pro soubory .pdb se zobrazí v textu. Chybové zprávy pro soubory .dbg budou ve formě kódu chyby; tyto kódy jsou vysvětleny v souboru winerror.h.
Pokud se soubor obrázku načte výhradně za účelem obnovení symbolických informací v záhlaví, zobrazí se také.
Tato možnost je ve výchozím nastavení vypnutá ve všech ladicích programech. Dá se aktivovat pomocí -n možnosti příkazového řádku. Once the debugger is running, it can be turned on or off by using .symopt+0x80000000 or .symopt-0x80000000, respectively. It can also be turned on and off by using the !sym noisy and !sym quiet extension commands.
Note This option should not be confused with noisy source loading -- that is controlled by the .srcnoisy (Noisy Source Loading) command.
Tato možnost je ve výchozím nastavení v DBH vypnutá. Dá se aktivovat pomocí -n možnosti příkazového řádku. Po spuštění dbH ho můžete zapnout nebo vypnout pomocí symopt +800000000 nebo symopt -800000000, v uvedeném pořadí. Můžete ho také zapnout a vypnout pomocí podrobných příkazů pro zapnutí a podrobné vypnutí.