Partilhar via


Como: Depurar uma compilação de versão

Este artigo explica quais opções de compilador e vinculador definir de forma a permitir a depuração de uma compilação de versão final de um aplicativo.

Uma experiência melhor está disponível a partir do Visual Studio 2022 versão 17.14 que permite depurar código otimizado como se fosse compilado não otimizado, mantendo a velocidade do código otimizado. Para obter mais informações, consulte C++ Dynamic Debugging (Preview).

Para depurar uma compilação de versão

  1. Abra a caixa de diálogo Property Pages para o projeto. Para obter detalhes, consulte Definir compilador C++ e criar propriedades no Visual Studio.

  2. Clique no nó C/C++. Defina Formato de Informações de Depuração para compatível com C7 (/Z7) ou Banco de Dados de Programas (/Zi).

  3. Expanda o Linker e clique no nó Geral. Defina Habilitar Vinculação Incremental para Não (/INCREMENTAL:NO).

  4. Em Vinculador, selecione o nó Depuração. Defina Gerar Informações de Depuração como Sim (/DEBUG).

  5. Em Vinculador, selecione o nó Otimização. Defina Referências para No (/OPT:NOREF) e habilite o de dobragem COMDAT para No (/OPT:NOICF).

  6. Agora você pode depurar seu aplicativo de compilação de versão. Para encontrar um problema, percorra o código (ou use a depuração Just-In-Time) até encontrar onde ocorre a falha e, em seguida, determine os parâmetros ou código incorretos.

    Se um aplicativo funciona em uma compilação de depuração, mas falha em uma compilação de versão, uma das otimizações do compilador pode estar expondo um defeito no código-fonte. Para isolar o problema, desative as otimizações selecionadas para cada arquivo de código-fonte até localizar o arquivo e a otimização que está causando o problema. (Para agilizar o processo, você pode dividir os arquivos em dois grupos, desabilitar a otimização em um grupo e, quando encontrar um problema em um grupo, continuar dividindo até isolar o arquivo de problema.)

    Use /RTC para tentar expor esses bugs em suas compilações de depuração.

    Para obter mais informações, consulte Otimizando seu código.

Ver também

Corrigindo problemas de compilação de versão