Dela via


/dynamicdeopt (Aktivera dynamisk felsökning i C++ (förhandsversion)

Viktigt!

Växeln /dynamicdeopt kompilator finns för närvarande i FÖRHANDSVERSION. Den här informationen gäller en förhandsversionsfunktion som kan ändras avsevärt före lanseringen. Microsoft lämnar inga garantier, uttryckta eller underförstådda, med avseende på den information som tillhandahålls här.

Aktivera C++ dynamisk felsökning (förhandsversion) så att du kan felsöka optimerad kod som om den kompilerats avoptimerad och gå in var som helst med funktionsdeoptimisering på begäran.

Syntax

/dynamicdeopt
/dynamicdeopt:suffix <suffix>
/dynamicdeopt:sync

Argumenten

suffix
Ange filnamnstillägget för de optimerade utdata.

Utan alternativ och angivna test.cpp som indata innehåller dina utdata test.obj, test.exeoch test.pdbsamt test.alt.obj, test.alt.exeoch test.alt.pdb. Med den här växeln kan du ändra suffixet för de ooptimerade binära byggartefakterna från .alt till något annat. Om du ändrar suffixet måste alla filer använda det nya suffixet och det måste matcha namnet som skickas till länkaren med /dynamicdeopt:suffix (förhandsversion). Du använder vanligtvis inte den här växeln om du inte behöver undvika filnamnskollisioner med andra filer som du har.

sync
Skapar de optimerade utdata när du har skapat optimerade utdata i stället för parallellt. Kompilatorn skapar som standard en parallell instans av kodgeneratorn. Den här växeln gör att de körs seriellt i stället. Den här växeln tillhandahålls om detta bättre passar din byggmiljö.

Anmärkningar

Den här förhandsgranskningsflaggan, som är tillgänglig från och med Visual Studio 2022 Version 17.14 Preview 2, gäller endast för x64-projekt och måste användas med motsvarande länkflagga /DYNAMICDEOPT.

Kompilering med /dynamicdeopt genererar andra binärfiler som används för felsökning. När du felsöker en optimerad funktion i en optimerad fil går felsökningsprogrammet in i den alternativa binära filen i stället. På så sätt kan du felsöka som om du felsöker ooptimerad kod samtidigt som du får prestandafördelarna med optimerad kod.

/dynamicdeopt kräver:

/DEBUG eller /DEBUG:FULL. Om du inte anger /DEBUG, eller om du anger /DEBUG:FASTLINK, ger länkaren ett allvarligt fel. Om du anger /INCREMENTALgenererar kompilatorn en varning och inaktiverar automatiskt /INCREMENTAL. Om du anger /OPT:ICFgenererar kompilatorn en varning om att felsökningsupplevelsen inte är lika bra. Det beror på att ICF kan orsaka att funktioner tas bort från alt-filen, vilket innebär att du inte kan gå in på dem.

IncrediBuild 10.24 stöder C++ dynamiska felsökningsversioner.
FastBuild v1.15 har stöd för C++ Dynamiska felsökningsversioner.

/dynamicdeopt är inte kompatibelt med edit-and-continue och följande kompilatorväxlar:

/GL
/ZI
/RTC1
/RTCs
/RTCc
/RTCu
/GH
/Gh
/fastcap
/callcap
/ZW
/fsanitize=address
/fsanitize=kernel-address
All of the CLR flags

Ange det här länkalternativet i Visual Studio-utvecklingsmiljön

Du kan ange den här växeln i Visual Studio. Mer information finns i C++ Dynamisk felsökning (förhandsversion). Det finns fördelar med att ställa in växeln i Visual Studio eftersom MSBuild automatiskt utelämnar vissa av de inkompatibla växlarna, till exempel /GL och /OPT:ICF. Det anger också motsvarande länkalternativ (/DYNAMICDEOPT). Du kan också ange växeln på kommandoraden.

Ange det här kompilatoralternativet programmatiskt

Se även

dynamisk felsökning i C++ (förhandsversion)
MSVC-kompilatoralternativ
MSVC-kompilator Command-Line syntax