/DEBUG (Gerar informações de depuração)

A /DEBUG opção de vinculador cria um arquivo de informações de depuração para o executável.

Sintaxe

/DEBUG[:{FASTLINK||FULLNONE}]

Comentários

A /DEBUG opção coloca as informações de depuração de objetos vinculados e arquivos de biblioteca em um arquivo de banco de dados de programas (PDB). Ele atualiza o PDB durante os builds seguintes do programa.

Um executável (um arquivo EXE ou DLL) criado para depuração contém o nome e o caminho do PDB correspondente. O depurador lê o nome inserido e usa o PDB quando você depura o programa. O vinculador usa o nome base do programa e a extensão .pdb para nomear o banco de dados do programa e insere o caminho em que ele foi criado. Para substituir esse padrão, defina a /PDB opção e especifique um nome de arquivo diferente.

A /DEBUG:FASTLINK opção está disponível no Visual Studio 2017 e posterior. Essa opção gera um PDB limitado que indexa as informações de depuração nos arquivos de objeto e nas bibliotecas usadas para criar o executável em vez de fazer uma cópia completa. Você só pode usar esse PDB limitado para depurar do computador em que o binário e suas bibliotecas foram criados. Se você implantar o binário em outro lugar, poderá depurá-lo remotamente do computador de compilação, mas não diretamente no computador de teste. Desde o Visual Studio 2019, /DEBUG:FULL os tempos de vinculação melhoraram significativamente e /DEBUG:FASTLINK nem sempre são mais rápidos que /DEBUG:FULLo . Como /DEBUG:FASTLINK não fornece mais grandes melhorias no tempo de compilação e resulta em uma experiência de depuração mais lenta em comparação com /DEBUG:FULL, essa opção não é mais recomendada.

Um /DEBUG:FASTLINK PDB pode ser convertido em um PDB completo que você pode implantar em um computador de teste para depuração local. No Visual Studio, use a caixa de diálogo Páginas de Propriedades, conforme descrito abaixo, para criar um PDB completo para o projeto ou solução. Em um prompt de comando do desenvolvedor, você pode usar a mspdbcmf.exe ferramenta para criar um PDB completo.

A /DEBUG:FULL opção move todas as informações de símbolo privado de produtos de compilação individuais (arquivos de objeto e bibliotecas) para um único PDB e pode ser a parte mais demorada do link. No entanto, o PDB completo pode ser usado para depurar o executável quando não há outros produtos de build disponíveis, como quando o executável é implantado.

A /DEBUG:NONE opção não gera um PDB.

Especificar /DEBUG sem argumentos extras é equivalente a especificar /DEBUG:FULL.

A opção do /Z7 compilador (compatível com C7) faz com que o compilador deixe as informações de depuração nos arquivos de objeto (OBJ). Você também pode usar a /Zi opção do compilador (Banco de Dados do Programa) para armazenar as informações de depuração em um PDB para o arquivo OBJ. O vinculador procura o PDB do objeto primeiro no caminho absoluto gravado no arquivo OBJ e, em seguida, no diretório que contém o arquivo OBJ. Você não pode especificar o nome ou o local do arquivo PDB de um objeto para o vinculador.

/INCREMENTAL é implícita quando /DEBUG é especificada.

/DEBUG altera os padrões da /OPT opção de REF para NOREF e de ICF para , NOICFportanto, se você quiser os padrões originais, deverá especificar /OPT:REF explicitamente ou /OPT:ICF após a /DEBUG opção.

Não é possível criar um EXE ou DLL que contenha informações de depuração. As informações de depuração são sempre colocadas em um arquivo OBJ ou PDB.

Para definir esta opção do vinculador no ambiente de desenvolvimento do Visual Studio

  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. Selecione a página de propriedades Depuração do Vinculador>.

  3. Modifique a propriedade Gerar Informações de Depuração para habilitar ou desabilitar a geração de PDB. Essa propriedade é habilitada /DEBUG:FASTLINK por padrão no Visual Studio 2017 e posterior.

  4. Modifique a propriedade Gerar Arquivo de Banco de Dados de Programa Completo para habilitar /DEBUG:FULL a geração de PDB completo para cada compilação incremental.

Para definir esta opção do vinculador por meio de programação

  1. Consulte GenerateDebugInformation.

Confira também

Referência de vinculador MSVC
Opções de vinculador MSVC