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

A /DEBUG opção 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 programa (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 incorpora o caminho onde 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 bibliotecas usados para criar o executável em vez de fazer uma cópia completa. Você só pode usar esse PDB limitado para depurar do computador onde 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 do 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 relação ao /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 uma máquina 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ímbolos privados de produtos de compilação individuais (arquivos de objeto e bibliotecas) em 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 equivale 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 opção de compilador (Banco de Dados de Programas) para armazenar as informações de /Zi depuração em um PDB para o arquivo OBJ. O vinculador procura o PDB do objeto primeiro no caminho absoluto escrito no arquivo OBJ e, em seguida, no diretório que contém o arquivo OBJ. Não é possível especificar o nome ou o local do arquivo PDB de um objeto para o vinculador.

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

/DEBUGaltera os /OPT padrões da opção de REF para e de ICF para NOREFNOICF, portanto, 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 de vinculador>.

  3. Modifique a propriedade Generate Debug Info para habilitar ou desabilitar a geração de PDB. Essa propriedade habilita /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 completa de PDB 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 do vinculador MSVC