Sdílet prostřednictvím


/dynamicdeopt (povolení dynamického ladění C++) (Preview)

Důležité

Přepínač kompilátoru /dynamicdeopt je aktuálně ve verzi PREVIEW. Tyto informace se týkají předběžné verze funkce, která se může před vydáním podstatně upravit. Společnost Microsoft neposkytuje žádné záruky, vyjádřené ani předpokládané, pokud jde o informace uvedené zde.

Povolte dynamické ladění C++ (Preview), abyste mohli ladit optimalizovaný kód, jako by byl zkompilovaný deoptimalizovaný a krokoval kdekoli s deoptimalizací funkce na vyžádání.

Syntaxe

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

Argumenty

suffix
Zadejte příponu souboru pro deoptimalizovaný výstup.

Bez možností a zadaných test.cpp jako vstup zahrnuje výstup test.obj, test.exea test.pdba také test.alt.obj, test.alt.exea test.alt.pdb. Tento přepínač umožňuje změnit příponu neoptimalizovaných artefaktů binárního sestavení z .alt na něco jiného. Pokud změníte příponu, musí všechny soubory používat novou příponu a musí odpovídat názvu předaného linkeru pomocí /dynamicdeopt:suffix (Preview). Tento přepínač obvykle nepoužíváte, pokud se nemusíte vyhnout kolizím názvů souborů s jinými soubory, které máte.

sync
Sestaví neoptimalizovaný výstup po vytvoření optimalizovaného výstupu místo paralelně. Ve výchozím nastavení kompilátor vytváří paralelní instanci generátoru kódu. Díky tomuto přepínači se místo toho budou spouštět sériově. Tento přepínač je k dispozici pro případ, že by to lépe vyhovovalo vašemu prostředí sestavení.

Poznámky

Tento příznak preview, který je k dispozici od sady Visual Studio 2022 verze 17.14 Preview 2, se vztahuje pouze na projekty x64 a musí být použit s odpovídajícím příznakem linkeru /DYNAMICDEOPT.

Kompilace pomocí /dynamicdeopt generuje další binární soubory, které se používají k ladění. Když ladíte optimalizovanou funkci v optimalizovaném souboru, ladicí program provede kroky do alternativního binárního souboru. To vám umožní ladit, jako kdybyste ladili neoptimalizovaný kód, ale stále získáváte výhody výkonu optimalizovaného kódu.

/dynamicdeopt vyžaduje:

/DEBUG nebo /DEBUG:FULL. Pokud nezadáte /DEBUGnebo zadáte /DEBUG:FASTLINK, linker zobrazí závažnou chybu. Pokud zadáte /INCREMENTAL, kompilátor vygeneruje upozornění a automaticky vypne /INCREMENTAL. Pokud zadáte /OPT:ICF, kompilátor vygeneruje upozornění, že prostředí ladění není tak dobré. Důvodem je to, že ICF může způsobit odebrání funkcí z alternativního souboru, což znamená, že do nich nemůžete přejít.

IncrediBuild 10.24 podporuje dynamické ladění sestavení C++.
FastBuild verze 1.15 podporuje sestavení dynamického ladění jazyka C++.

/dynamicdeopt není kompatibilní s možnostmi úprav a pokračování a následujícími přepínači kompilátoru:

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

Nastavení této možnosti linkeru ve vývojovém prostředí sady Visual Studio

Tento přepínač můžete nastavit v sadě Visual Studio. Další informace naleznete v tématu dynamické ladění C++ (Preview). Existují výhody nastavení přepínače v sadě Visual Studio, protože NÁSTROJ MSBuild automaticky potlačí některé nekompatibilní přepínače, jako jsou /GL a /OPT:ICF. Nastaví také odpovídající možnost linkeru (/DYNAMICDEOPT). Přepínač můžete také nastavit na příkazovém řádku.

Nastavení této možnosti kompilátoru prostřednictvím kódu programu

Viz také

dynamické ladění C++ (Preview)
Parametry kompilátoru MSVC
Syntaxe příkazového řádku kompilátoru MSVC