Compartilhar via


/Yd (colocar as informações de depuração no arquivo de objeto)

Prova completa de informações em todos os arquivos de objeto de depuração criado a partir de um arquivo de cabeçalho pré-compilado (.pch) quando usado com o /Yc e /Z7 opções.Preterido.

/Yd

Comentários

/Ydé obsoleto; Visual C++agora oferece suporte ao uso de vários objetos, gravar em um arquivo. PDB único, /Zi em vez disso.Para obter mais informações, consulte Deprecated Compiler Options.

A menos que você precisa distribuir informações de depuração que contém uma biblioteca, use o /Zi opção em vez de /Z7 e /Yd.

Armazenar informações de depuração completas em todos os arquivos. obj é necessário apenas para distribuir a bibliotecas que contêm informações de depuração.Ele reduz a velocidade de compilação e requer um espaço considerável em disco.Quando /Yc e /Z7 são usados sem /Yd, o compilador armazena informações de depuração comuns no primeiro arquivo. obj criado a partir do arquivo .pch.O compilador não inserir essas informações em arquivos. obj posteriormente criados a partir do arquivo .pch; ele insere referências cruzadas para as informações.Não importa quantos arquivos. obj usam o arquivo de .pch, apenas um arquivo. obj contém as informações de depuração comuns.

Embora o resultado é comportamento padrão mais rápido criar vezes e reduzir as demandas de espaço em disco, ele é indesejável, se uma pequena alteração requer a recriação do arquivo. obj, que contém as informações de depuração comuns.Nesse caso, o compilador deve reconstruir todos os arquivos. obj, contendo referências cruzadas para o arquivo. obj original.Além disso, se um arquivo comum de .pch é usado por diferentes projetos, dependência de referências cruzadas para um arquivo. obj único é difícil.

Para obter mais informações sobre cabeçalhos pré-compilados, consulte:

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

  1. Abra o projeto Páginas de propriedades caixa de diálogo.Para obter detalhes, consulte:Como: abrir páginas de propriedades do projeto.

  2. Clique no C/C++ pasta.

  3. Clique no a linha de comando página de propriedades.

  4. Digite a opção de compilador no Opções adicionais de caixa.

Para definir essa opção de compilador programaticamente

Exemplos

Suponha que você tem dois arquivos de base, F.cpp e G.cpp, cada um contendo esses #include instruções:

#include "windows.h"
#include "etc.h"

O comando a seguir cria o cabeçalho pré-compilado de arquivos ETC.pch e o arquivo de objeto F.obj:

CL /YcETC.H /Z7 F.CPP

O arquivo de objeto F.obj inclui o tipo e informações de símbolo para Windows. h e ETC.h (e quaisquer outros arquivos de cabeçalho que incluem).Agora você pode usar o cabeçalho pré-compilado ETC.pch para compilar o arquivo de origem G.cpp:

CL /YuETC.H /Z7 G.CPP

O arquivo de objeto G.obj inclui as informações de depuração para o cabeçalho pré-compilado, mas simplesmente faz referência a essas informações no arquivo F.obj.Observe que você deve vincular com o arquivo F.obj.

Se o seu cabeçalho pré-compilado não foi compilado com /Z7, você ainda pode usá-lo em compilações posteriores usando /Z7.No entanto, as informações de depuração são colocadas no arquivo do objeto atual e os símbolos locais para funções e tipos definidos no cabeçalho pré-compilado não estão disponíveis para o depurador.

Consulte também

Referência

Opções do compilador

Configurando opções de compilador