Dela via


Uppskjuten symbolinläsning

Som standardinställning läses symbolinformationen inte faktiskt in när målmodulerna läses in. I stället läses symboler in av felsökningsprogrammet när de behövs. Detta kallas uppskjuten symbolinläsning eller lat symbolinläsning. När det här alternativet är aktiverat läser felsökningsprogrammet in symboler när det stöter på en okänd symbol.

När symbolsökvägen ändras, till exempel med hjälp av kommandot .sympath (Ange symbolsökväg), läses alla inlästa moduler med exportsymboler in på ett fördröjt sätt. Symboler för moduler med fullständiga PDB-symboler kommer att läsas in på nytt på ett fördröjt sätt om den nya sökvägen inte längre innehåller den ursprungliga sökvägen som användes för att läsa in PDB-symbolerna. Om den nya sökvägen fortfarande innehåller den ursprungliga sökvägen till PDB-symbolfilen, kommer dessa symboler inte att laddas om.

När uppskjuten symbolinläsning är inaktiverad kan processens start vara mycket långsammare eftersom alla symboler läses när en modul läses in.

I WinDbg kan det uppskjutna symbolinläsningsbeteendet ändras för symboler som inte har något modulprefix med hjälp av alternativet Lös okvalificerade symbolerpå felsökningsmenyn .

Du kan åsidosätta uppskjuten symbolinläsning med hjälp av kommandot ld (Load Symbols) eller kommandot .reload (Reload Module) med alternativet /f . Dessa tvingar de angivna symbolerna att läsas in omedelbart, även om inläsningen av andra symboler skjuts upp.

Som standard aktiveras uppskjuten symbolinläsning. I CDB och KD inaktiverar kommandoradsalternativet-s det här alternativet. Den kan också stängas av i CDB med hjälp av lazyload-variabeln i tools.ini-filen . När felsökningsprogrammet körs kan det här alternativet aktiveras eller inaktiveras med hjälp av .symopt+0x4 respektive .symopt-0x4.