Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
A opção do compilador /dynamicdeopt está atualmente em VERSÃO PRÉVIA.
Essas informações estão relacionadas a um recurso de pré-lançamento que pode ser substancialmente modificado antes da versão. A Microsoft não faz garantias, expressas ou implícitas, em relação às informações fornecidas aqui.
Habilite de Depuração Dinâmica do C++ (Versão Prévia) para que você possa depurar o código otimizado como se fosse compilado desoptimizado e intervir em qualquer lugar com deoptimização de função sob demanda.
Sintaxe
/dynamicdeopt
/dynamicdeopt:suffix <suffix>
/dynamicdeopt:sync
Argumentos
suffix
Especifique a extensão de arquivo para a saída desoptimizada.
Sem opções e test.cpp fornecidas como entrada, sua saída inclui test.obj, test.exee test.pdb, bem como test.alt.obj, test.alt.exee test.alt.pdb. Essa opção permite que você altere o sufixo dos artefatos de build binário não otimizados de .alt para outra coisa. Se você alterar o sufixo, todos os arquivos deverão usar o novo sufixo e ele precisará corresponder ao nome passado para o vinculador usando /dynamicdeopt:suffix (versão prévia). Normalmente, você não usa essa opção, a menos que precise evitar colisões de nome de arquivo com outros arquivos que você tem.
sync
Cria a saída desoptimizada depois de compilar a saída otimizada em vez de em paralelo. Por padrão, o compilador gera uma instância paralela do gerador de código. Esse comutador faz com que eles sejam executados em série. Essa opção é fornecida caso isso se adapte melhor ao seu ambiente de build.
Observações
Este sinalizador de visualização, disponível a partir do Visual Studio 2022 Versão 17.14 Versão Prévia 2, aplica-se apenas a projetos x64 e deve ser usado com o sinalizador do vinculador correspondente, /DYNAMICDEOPT.
Compilar com /dynamicdeopt gera outros binários que são usados para depuração. Quando você depura uma função otimizada em um arquivo otimizado, o depurador entra no binário alternativo. Isso permite que você depure como se estivesse depurando código não otimizado e ainda obtendo as vantagens de desempenho do código otimizado.
/dynamicdeopt requer:
/DEBUG ou /DEBUG:FULL. Se você não especificar /DEBUGou se especificar /DEBUG:FASTLINK, o vinculador apresentará um erro fatal.
Se você especificar /INCREMENTAL, o compilador gerará um aviso e desativará automaticamente /INCREMENTAL.
Se você especificar /OPT:ICF, o compilador gerará um aviso de que a experiência de depuração não é tão boa. Isso ocorre porque o ICF pode fazer com que as funções sejam removidas do arquivo alt, o que significa que você não pode intervir nelas.
O IncrediBuild 10.24 dá suporte a compilações com Depuração Dinâmica do C++.
O FastBuild v1.15 dá suporte a builds de Depuração Dinâmica C++.
/dynamicdeopt é incompatível com editar e continuar e o seguinte compilador alterna:
/GL
/ZI
/RTC1
/RTCs
/RTCc
/RTCu
/GH
/Gh
/fastcap
/callcap
/ZW
/fsanitize=address
/fsanitize=kernel-address
All of the CLR flags
Definir essa opção de vinculador no ambiente de desenvolvimento do Visual Studio
Você pode definir essa opção dentro do Visual Studio. Para obter mais informações, consulte depuração dinâmica do C++ (versão prévia). Há vantagens em definir a opção no Visual Studio porque o MSBuild suprime automaticamente algumas das opções incompatíveis, como /GL e /OPT:ICF. Ele também define a opção de vinculador correspondente (/DYNAMICDEOPT). Você também pode definir a opção na linha de comando.
Definir essa opção do compilador programaticamente
- Consulte CompileAsManaged.
Consulte também
depuração dinâmica do C++ (versão prévia)
Opções do compilador MSVC
Sintaxe da linha de comando do compilador MSVC