Compartilhar via


Como depurar um build da versão

Este artigo explica quais opções do compilador e do vinculador configurar para permitir a depuração de uma versão de lançamento de um aplicativo.

Uma experiência melhor está disponível a partir do Visual Studio 2022 versão 17.14 que permite depurar o código otimizado como se ele tivesse sido compilado sem otimização, mantendo a velocidade do código otimizado. Para obter mais informações, consulte depuração dinâmica do C++ (versão prévia).

Para depurar um build de versão

  1. Abra a caixa de diálogo Páginas de Propriedades do projeto. Para obter detalhes, confira Definir as propriedades de build e do compilador do C++ no Visual Studio.

  2. Clique no nó C/C++. Defina o Formato de informações de depuração como compatível com C7 (/Z7) ou Banco de Dados do Programa (/Zi).

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

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

  5. Em Vinculador, selecione o nó Otimização. Defina Referências como Não (/OPT:NOREF) e Habilitar dobramento COMDAT como Não (/OPT:NOICF).

  6. Agora você pode depurar seu aplicativo de build 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 o código incorretos.

    Se um aplicativo funcionar em uma compilação de depuração, mas falhar 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, desabilite 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, continue dividindo até isolar o arquivo com 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.

Confira também

Corrigindo problemas do build de versão