Delen via


/dynamicdeopt (C++ dynamische foutopsporing inschakelen) (preview)

Belangrijk

De /dynamicdeopt compilerswitch bevindt zich momenteel in PREVIEW. Deze informatie heeft betrekking op een voorlopige functie die aanzienlijk kan worden gewijzigd vóór de release. Microsoft geeft geen garanties, uitgedrukt of impliciet, met betrekking tot de informatie die hier wordt verstrekt.

Schakel dynamische foutopsporing van C++ (preview) in, zodat u fouten in geoptimaliseerde code kunt opsporen alsof deze is gecompileerd en overal is gecompileerd met functieoptimalisatie op aanvraag.

Syntaxis

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

Argumenten

suffix
Geef de bestandsextensie op voor de geoptimaliseerde uitvoer.

Zonder opties en gegeven test.cpp als invoer, bevat uw uitvoer test.obj, test.exeen test.pdb, evenals test.alt.obj, test.alt.exeen test.alt.pdb. Met deze schakeloptie kunt u het achtervoegsel van de niet-geoptimaliseerde binaire buildartefacten wijzigen van .alt naar iets anders. Als u het achtervoegsel wijzigt, moeten alle bestanden het nieuwe achtervoegsel gebruiken en moet deze overeenkomen met de naam die aan de linker is doorgegeven met /dynamicdeopt:suffix (preview)-. Normaal gesproken gebruikt u deze schakeloptie niet, tenzij u bestandsconflicten met andere bestanden die u hebt moet voorkomen.

sync
Bouwt de geoptimaliseerde uitvoer na het bouwen van de geoptimaliseerde uitvoer in plaats van parallel. De compiler spawt standaard een parallel exemplaar van de codegenerator. Deze schakeloptie zorgt ervoor dat ze serieel worden uitgevoerd. Deze switch wordt geleverd voor het geval dit beter past bij uw build-omgeving.

Opmerkingen

Deze preview-vlag, beschikbaar vanaf Visual Studio 2022 versie 17.14 Preview 2, is alleen van toepassing op x64-projecten en moet worden gebruikt met de bijbehorende linkervlag, /DYNAMICDEOPT.

Compileren met /dynamicdeopt genereert andere binaire bestanden die worden gebruikt voor foutopsporing. Wanneer u fouten opsbugt in een geoptimaliseerde functie in een geoptimaliseerd bestand, stapt het foutopsporingsprogramma in plaats daarvan in het alternatieve binaire bestand. Hierdoor kunt u fouten opsporen alsof u fouten opsporen in niet-geoptimaliseerde code terwijl u nog steeds de prestatievoordelen van geoptimaliseerde code krijgt.

/dynamicdeopt vereist:

/DEBUG of /DEBUG:FULL. Als u geen /DEBUGopgeeft of als u /DEBUG:FASTLINKopgeeft, geeft de linker een fatale fout. Als u /INCREMENTALopgeeft, genereert de compiler een waarschuwing en wordt /INCREMENTALautomatisch uitgeschakeld. Als u /OPT:ICFopgeeft, genereert de compiler een waarschuwing dat de foutopsporingservaring niet zo goed is. Dit komt doordat ICF ervoor kan zorgen dat functies worden verwijderd uit het alternatieve bestand, wat betekent dat u er niet in kunt stappen.

IncrediBuild 10.24 ondersteunt C++ Dynamic Debugging-builds.
FastBuild v1.15 ondersteunt C++ Dynamic Debugging-builds.

/dynamicdeopt is niet compatibel met bewerken en doorgaan en de volgende compilerswitches:

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

Deze linkeroptie instellen in de Ontwikkelomgeving van Visual Studio

U kunt deze switch instellen in Visual Studio. Zie C++ Dynamische foutopsporing (preview)voor meer informatie. Er zijn voordelen bij het instellen van de switch in Visual Studio, omdat MSBuild sommige van de incompatibele switches zoals /GL en /OPT:ICFautomatisch onderdrukt. Ook wordt de bijbehorende linkeroptie (/DYNAMICDEOPT) ingesteld. U kunt de schakeloptie ook instellen op de opdrachtregel.

Deze compileroptie programmatisch instellen

Zie ook

dynamische foutopsporing in C++ (preview)
MSVC-compileropties
MSVC Compiler Command-Line syntaxis