/ /Z7, /Zi, /ZI (formato informações de depuração)
Selecione o tipo de informação de depuração criada pelo seu programa e se essa informação é mantida em um arquivo objeto (.obj) ou em um banco de dados de programa (PDB).
/Z{7|i|I}
Comentários
As opções são descritas na tabela a seguir.
Nenhum
Não produz nenhuma informação de depuração, para que a compilação é mais rápida./Z7
Produz um arquivo. obj, contendo informações de depuração toda simbólicas para uso com o depurador.As informações de depuração simbólicas incluem os nomes e tipos de variáveis, bem como funções e números de linha.Nenhum arquivo. PDB é produzido.Para distribuidores de bibliotecas de terceiros, há uma vantagem de não ter um arquivo. PDB.No entanto, os arquivos. obj dos cabeçalhos pré-compilados são necessárias durante a fase de link e depuração.Se houver só pode digitar informações (e nenhum código) nos arquivos de objeto .pch, você também terá que compilar com /Yl (inserir a referência PCH para a biblioteca de depuração).
/Zi
Produz um banco de dados do programa (PDB) que contém informações de tipo e informações de depuração simbólicas para uso com o depurador.As informações de depuração simbólicas incluem os nomes e tipos de variáveis, bem como funções e números de linha./Zinão afeta as otimizações.No entanto, /Zi implica /debug; consulte /Debug (gerar informações de depuração) para obter mais informações.
Informações de tipo são colocadas no arquivo. PDB e não no arquivo. obj.
Você pode usar /GM (Habilitar recompilação mínima) com /Zi, enquanto /Gm não está disponível quando compilando com /Z7.
Durante a compilação com /Zi e /clr, o DebuggableAttribute não será colocado atributo nos metadados do assembly; Você deve especificá-lo no código fonte, se desejar que ele.Esse atributo pode afetar o desempenho de tempo de execução do aplicativo.Para obter mais informações sobre como o atributo Depurável afeta o desempenho e como você pode modificar o impacto no desempenho, consulte Facilitando uma imagem depurar.
/ZI
Produz um banco de dados de programa, como descrito acima, em um formato que suporta o recurso Editar e Continuar.Se você quiser usar o Editar e continuar a depuração, você deve usar essa opção.Como a maioria das otimizações são incompatíveis com a edição e continuação, usando /ZI desativa qualquer #pragma optimize as instruções em seu código./ZIfaz com que /GY (nível de função para ativar vinculação) e /FC (caminho completo do arquivo de código-fonte no diagnóstico) a ser usado em sua compilação.
/ZInão é compatível com /CLR (common Language Runtime Compilation).
Observação /ZIsó está disponível no compilador x86; Essa opção de compilador não está disponível nos compiladores direcionamento x64 ou a família de processadores Itanium (IPF).
O compilador nomeia o banco de dados do programa projeto. PDB.Se você compilar um arquivo sem um projeto, o compilador cria um banco de dados chamado VCx. PDB, onde x é a versão principal do Visual C++ em uso.O compilador incorpora o nome do PDB em cada arquivo. obj, criado com essa opção, apontando o depurador para a localização das informações simbólicas e o número da linha.Ao usar essa opção, os arquivos. obj serão menores, pois as informações de depuração é armazenada no arquivo. PDB, em vez de arquivos. obj.
Se você criar uma biblioteca de objetos que foram compilados com o uso desta opção, o arquivo. PDB associado deve estar disponível quando a biblioteca está vinculada a um programa.Assim, se você distribuir a biblioteca, você deve distribuir o PDB.
Para criar uma biblioteca que contém informações de depuração sem usar arquivos. PDB, você deve selecionar c do compilador compatível com 7.0 (/Z7) opção.Se você usar as opções de cabeçalhos pré-compilados, informações de depuração para o cabeçalho pré-compilado e o resto do código-fonte é colocada no PDB.O /Yd opção é ignorada quando a opção de banco de dados do programa é especificada.
Para definir esta opção de compilador no ambiente de desenvolvimento Visual Studio
Abra o projeto Páginas de propriedades caixa de diálogo.Para obter detalhes, consulte:Como: abrir páginas de propriedades do projeto.
Clique no C/C++ pasta.
Clique no Geral página de propriedades.
Modificar o Formato informações de depuração propriedade.
Para definir essa opção de compilador programaticamente
- Consulte DebugInformationFormat.