/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
||FULL
NONE
}]
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:FULL
o . 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.
/DEBUG
altera os /OPT
padrões da opção de REF
para e de ICF
para NOREF
NOICF
, 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
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.
Selecione a página de propriedades Depuração de vinculador>.
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.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
- Consulte GenerateDebugInformation.
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de