Dela via


Symbol Options

Det finns ett antal alternativ för att styra hur symboler läses in och används. De här alternativen kan anges på olika sätt.

I följande tabell visas dessa symbolalternativ:

Flag Option Name Standard i felsökningsprogrammet Standard i DBH

0x1

SYMOPT_CASE_INSENSITIVE

On

On

0x2

SYMOPT_UNDNAME

On

On

0x4

SYMOPT_DEFERRED_LOADS

On

Off

0x8

SYMOPT_NO_CPP

Off

Off

0x10

SYMOPT_LOAD_LINES

Av i KD och CDB

På i WinDbg

On

0x20

SYMOPT_OMAP_FIND_NEAREST

On

Off

0x40

SYMOPT_LOAD_ANYTHING

Off

Off

0x80

SYMOPT_IGNORE_CVREC

Off

Off

0x100

SYMOPT_NO_UNQUALIFIED_LOADS

Off

Off

0x200

SYMOPT_FAIL_CRITICAL_ERRORS

On

Off

0x400

SYMOPT_EXACT_SYMBOLS

Off

On

0x800

SYMOPT_ALLOW_ABSOLUTE_SYMBOLS

Off

On

0x1000

SYMOPT_IGNORE_NT_SYMPATH

Off

Off

0x2000

SYMOPT_INCLUDE_32BIT_MODULES

Off

Off

0x4000

SYMOPT_PUBLICS_ONLY

Off

Off

0x8000

SYMOPT_NO_PUBLICS

Off

Off

0x10000

SYMOPT_AUTO_PUBLICS

On

On

0x20000

SYMOPT_NO_IMAGE_SEARCH

On

Off

0x40000

SYMOPT_SECURE

Off

Off

0x80000

SYMOPT_NO_PROMPTS

På i KD och CDB

Av i WinDbg

Off

0x80000000

SYMOPT_DEBUG

Off

Off

Ändra inställningarna för symbolalternativet

Kommandot .symopt (Ange symbolalternativ) kan användas för att ändra eller visa inställningarna för symbolalternativet. 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. Vi rekommenderar att du använder hexadecimalt eftersom symbolflaggorna är korrekt justerade på det sättet. Var försiktig med att använda den här metoden eftersom den anger hela bitfältet och åsidosätter alla standardvärden för symbolhanteraren. 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!

Standardvärdet för de totala flaggbitarna är 0x30237 i WinDbg, 0xB0227 i CDB och KD och 0x10C13 i DBH-verktyget när dessa program startas utan några symbolrelaterade kommandoradsalternativ.

SYMOPT_CASE_INSENSITIVE

Det här symbolalternativet gör att alla sökningar efter symbolnamn blir skiftlägeskänsliga.

Det här alternativet är aktiverat som standard i alla felsökningsprogram. Once the debugger is running, it can be turned on or off by using .symopt+0x1 or .symopt-0x1, respectively.

Det här alternativet är aktiverat som standard i DBH. När DBH körs kan det aktiveras eller inaktiveras med hjälp av symopt +1 respektive symopt -1.

SYMOPT_UNDNAME

Det här symbolalternativet gör att offentliga symbolnamn odekoreras när de visas och gör att sökningar efter symbolnamn ignorerar symboldekorationer. Privata symbolnamn är aldrig dekorerade, oavsett om det här alternativet är aktivt. Information om symbolnamnsdekorationer finns i Offentliga och privata symboler.

Det här alternativet är aktiverat som standard i alla felsökningsprogram. Once the debugger is running, it can be turned on or off by using .symopt+0x2 or .symopt-0x2, respectively.

Det här alternativet är aktiverat som standard i DBH. Det inaktiveras om kommandoradsalternativet -d används. När DBH körs kan det aktiveras eller inaktiveras med hjälp av symopt +2 respektive symopt -2.

SYMOPT_DEFERRED_LOADS

Det här symbolalternativet kallas uppskjuten symbolinläsning eller lat symbolinläsning. När den är aktiv läses symbolerna inte in när målmodulerna läses in. I stället läses symboler in av felsökningsprogrammet när de behövs. Mer information finns i Uppskjuten symbolinläsning .

Det här alternativet är aktiverat som standard i alla felsökningsprogram. I CDB och KD inaktiverar -s kommandoradsalternativ det här alternativet. 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.

Det här alternativet är inaktiverat som standard i DBH. När DBH körs kan det aktiveras eller inaktiveras med hjälp av symopt +4 respektive symopt -4.

SYMOPT_NO_CPP

Det här symbolalternativet inaktiverar C++-översättning. When this symbol option is set, :: is replaced by __ in all symbols.

Det här alternativet är inaktiverat som standard i alla felsökningsprogram. Den kan aktiveras med hjälp av kommandoradsalternativet -snc. Once the debugger is running, it can be turned on or off by using .symopt+0x8 or .symopt-0x8, respectively.

Det här alternativet är inaktiverat som standard i DBH. När DBH körs kan det aktiveras eller inaktiveras med hjälp av symopt +8 respektive symopt -8.

SYMOPT_LOAD_LINES

Med det här symbolalternativet kan radnummerinformation läsas från källfiler. Det här alternativet måste vara aktiverat för att källfelsökning ska fungera korrekt.

I KD och CDB är det här alternativet inaktiverat som standard. i WinDbg är det här alternativet aktiverat som standard. I CDB och KD aktiverar -lines kommandoradsalternativ det här alternativet. Once the debugger is running, it can be turned on or off by using .symopt+0x10 or .symopt-0x10, respectively. Den kan också aktiveras och inaktiveras med hjälp av kommandot .lines (Växla stöd för källrad).

Det här alternativet är aktiverat som standard i DBH. När DBH körs kan det aktiveras eller inaktiveras med hjälp av symopt +10 respektive symopt -10.

SYMOPT_OMAP_FIND_NEAREST

När koden har optimerats och det inte finns någon symbol på den förväntade platsen, gör det här alternativet att närmaste symbol används i stället.

Det här alternativet är aktiverat som standard i alla felsökningsprogram. Once the debugger is running, it can be turned on or off by using .symopt+0x20 or .symopt-0x20, respectively.

Det här alternativet är aktiverat som standard i DBH. När DBH körs kan det aktiveras eller inaktiveras med hjälp av symopt +20 respektive symopt -20.

SYMOPT_LOAD_ANYTHING

Det här symbolalternativet minskar markeringsfunktionen för symbolhanteraren när den försöker matcha symboler.

Det här alternativet är inaktiverat som standard i alla felsökningsprogram. Once the debugger is running, it can be turned on or off by using .symopt+0x40 or .symopt-0x40, respectively.

Det här alternativet är inaktiverat som standard i DBH. När DBH körs kan det aktiveras eller inaktiveras med hjälp av symopt +40 respektive symopt -40.

SYMOPT_IGNORE_CVREC

Det här symbolalternativet gör att symbolhanteraren ignorerar CV-posten i det inlästa bildhuvudet när du söker efter symboler.

Det här alternativet är inaktiverat som standard i alla felsökningsprogram. Den kan aktiveras med hjälp av kommandoradsalternativet -sicv. Once the debugger is running, it can be turned on or off by using .symopt+0x80 or .symopt-0x80, respectively.

Det här alternativet är inaktiverat som standard i DBH. När DBH körs kan det aktiveras eller inaktiveras med hjälp av symopt +80 respektive symopt -80.

SYMOPT_NO_UNQUALIFIED_LOADS

Det här symbolalternativet inaktiverar symbolhanterarens automatiska inläsning av moduler. När det här alternativet har angetts och felsökningsprogrammet försöker matcha en symbol söker det bara efter moduler som redan har lästs in.

Det här alternativet kan användas som skydd mot feltypning av ett symbolnamn. Normalt gör en feltypad symbol att felsökaren pausas medan den söker i alla oladdade symbolfiler. När det här alternativet är aktivt hittas inte en feltypad symbol i de inlästa modulerna och sökningen avslutas.

Det här alternativet är inaktiverat som standard i alla felsökningsprogram. Den kan aktiveras med hjälp av kommandoradsalternativet -snul. Once the debugger is running, it can be turned on or off by using .symopt+0x100 or .symopt-0x100, respectively.

Det här alternativet är inaktiverat som standard i DBH. När DBH körs kan det aktiveras eller inaktiveras med hjälp av symopt +100 respektive symopt -100.

SYMOPT_FAIL_CRITICAL_ERRORS

Det här symbolalternativet gör att dialogrutor för filåtkomstfel ignoreras.

Om det här alternativet är inaktiverat resulterar filåtkomstfel, till exempel "enheten är inte klar", som påträffades under symbolinläsningen, i dialogrutor. Om det här alternativet är aktiverat ignoreras dessa rutor och alla åtkomstfel får ett "fel"-svar.

Det här alternativet är aktiverat som standard i alla felsökningsprogram. Den kan inaktiveras med hjälp av kommandoradsalternativet -sdce. Once the debugger is running, it can be turned on or off by using .symopt+0x200 or .symopt-0x200, respectively.

Det här alternativet är inaktiverat som standard i DBH. När DBH körs kan det aktiveras eller inaktiveras med hjälp av symopt +200 respektive symopt -200.

SYMOPT_EXACT_SYMBOLS

Det här symbolalternativet gör att felsökaren utför en strikt utvärdering av alla symbolfiler.

När det här alternativet är aktiverat kommer även den minsta avvikelsen mellan symbolfilerna och symbolhanterarens förväntningar att göra att symbolerna ignoreras.

Det här alternativet är inaktiverat som standard i alla felsökningsprogram. Den kan aktiveras med hjälp av kommandoradsalternativet -ses. Once the debugger is running, it can be turned on or off by using .symopt+0x400 or .symopt-0x400, respectively.

Kommandoradsalternativet -failinc aktiverar också SYMOPT_EXACT_SYMBOLS. Om du felsöker en minidump i användarläge eller en miniduplicering i kernelläge hindrar -failinc dessutom felsökningsprogrammet från att läsa in moduler vars bilder inte kan mappas.

Det här alternativet är aktiverat som standard i DBH. När DBH körs kan det aktiveras eller inaktiveras med hjälp av symopt +400 respektive symopt -400.

SYMOPT_ALLOW_ABSOLUTE_SYMBOLS

Med det här symbolalternativet kan DbgHelp läsa symboler som lagras på en absolut adress i minnet. Det här alternativet behövs inte i de allra flesta fall.

Det här alternativet är inaktiverat som standard i alla felsökningsprogram. Once the debugger is running, it can be turned on or off by using .symopt+0x800 or .symopt-0x800, respectively.

Det här alternativet är aktiverat som standard i DBH. När DBH körs kan det aktiveras eller inaktiveras med hjälp av symopt +800 respektive symopt -800.

SYMOPT_IGNORE_NT_SYMPATH

Det här symbolalternativet gör att felsökaren ignorerar miljövariabelinställningarna för symbolsökvägen och den körbara bildsökvägen.

Det här alternativet är inaktiverat som standard i alla felsökningsprogram. Den kan aktiveras med hjälp av kommandoradsalternativet -sins. However, it cannot be controlled by .symopt once the debugger is running, because the environment variables are only read at startup.

Det här alternativet är inaktiverat som standard i DBH och ignoreras av DBH i alla fall.

SYMOPT_PUBLICS_ONLY

Det här symbolalternativet gör att DbgHelp ignorerar privata symboldata och söker bara i tabellen med offentliga symboler efter symbolinformation. Detta emulerar beteendet för DbgHelp innan stöd för dessa typer lades till. se Offentliga och privata symboler.

Det här alternativet är inaktiverat som standard i alla felsökningsprogram. Once the debugger is running, it can be turned on or off by using .symopt+0x4000 or .symopt-0x4000, respectively.

Det här alternativet är inaktiverat som standard i DBH. Den aktiveras om kommandoradsalternativet -d används. När DBH körs kan det aktiveras eller inaktiveras med hjälp av symopt +4000 respektive symopt -4000.

SYMOPT_NO_PUBLICS

Det här symbolalternativet hindrar DbgHelp från att söka i tabellen med offentliga symboler. Detta kan göra symboluppräkning och symbolsökningar mycket snabbare. Om du enbart är intresserad av sökhastighet är det SYMOPT_AUTO_PUBLICS alternativet i allmänhet att föredra framför den här. Information om tabellen med offentliga symboler finns i Offentliga och Privata symboler.

Det här alternativet är inaktiverat som standard i alla felsökningsprogram. Once the debugger is running, it can be turned on or off by using .symopt+0x8000 or .symopt-0x8000, respectively.

Det här alternativet är inaktiverat som standard i DBH. När DBH körs kan det aktiveras eller inaktiveras med hjälp av symopt +8000 respektive symopt -8000.

SYMOPT_AUTO_PUBLICS

Det här symbolalternativet gör att DbgHelp endast söker i tabellen med offentliga symboler i en .pdb-fil som en sista utväg. Om några matchningar hittas när du söker efter privata symboldata genomsöks inte de offentliga symbolerna. Detta förbättrar symbolsökningshastigheten.

Det här alternativet är aktiverat som standard i alla felsökningsprogram. Den kan inaktiveras med hjälp av kommandoradsalternativet -sup. Once the debugger is running, it can be turned on or off by using .symopt+0x10000 or .symopt-0x10000, respectively.

Det här alternativet är aktiverat som standard i DBH. Det inaktiveras om kommandoradsalternativet -d används. När DBH körs kan det aktiveras eller inaktiveras med hjälp av symopt +10000 eller symopt -10000.

Det här symbolalternativet hindrar DbgHelp från att söka på disken efter en kopia av bilden när symboler läses in.

Det här alternativet är aktiverat som standard i alla felsökningsprogram. Once the debugger is running, it can be turned on or off by using .symopt+0x20000 or .symopt-0x20000, respectively.

Det här alternativet är inaktiverat som standard i DBH. När DBH körs kan det aktiveras eller inaktiveras med hjälp av symopt +20000 eller symopt -20000.

SYMOPT_SECURE

(Kernel mode only) This symbol option indicates whether Secure Mode is active.

Säkert läge är inaktiverat som standard i alla felsökningsprogram. Den kan aktiveras med hjälp av kommandoradsalternativet -secure. 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).

Det här alternativet är inaktiverat som standard i DBH. När DBH körs kan det aktiveras eller inaktiveras med hjälp av symopt +40000 eller symopt -40000.

Säkert läge kan aldrig stängas av när det har aktiverats.

SYMOPT_NO_PROMPTS

Det här symbolalternativet utelämnar dialogrutor för autentisering från proxyservern. Detta kan leda till att SymSrv inte kan komma åt ett symbolarkiv på Internet.

Mer information finns i Brandväggar och proxyservrar.

I KD och CDB är det här alternativet aktiverat som standard. i WinDbg är det här alternativet inaktiverat som standard. 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. Det kan också aktiveras och inaktiveras med hjälp av kommandot !sym prompts off och !sym prompts extension commands, följt av kommandot .reload (Reload Module).

Det här alternativet är inaktiverat som standard i DBH. När DBH körs kan det aktiveras eller inaktiveras med hjälp av symopt +80000 eller symopt -80000.

-SYMOPT_DEBUG

Det här symbolalternativet aktiverar störande symbolinläsning. Detta instruerar felsökaren att visa information om dess sökning efter symboler.

Namnet på varje symbolfil visas när den läses in. Om felsökaren inte kan läsa in en symbolfil visas ett felmeddelande. Felmeddelanden för .pdb-filer visas i text. Felmeddelanden för .dbg-filer kommer att vara i form av en felkod. dessa koder förklaras i filen winerror.h.

Om en bildfil läses in enbart för att återställa symbolisk rubrikinformation visas även detta.

Det här alternativet är inaktiverat som standard i alla felsökningsprogram. Den kan aktiveras med hjälp av kommandoradsalternativet -n. 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.

Det här alternativet är inaktiverat som standard i DBH. Den kan aktiveras med hjälp av kommandoradsalternativet -n. När DBH körs kan det aktiveras eller inaktiveras med hjälp av symopt +800000000 eller symopt -800000000. Den kan också aktiveras och inaktiveras med hjälp av de utförliga kommandona på och utförliga av.