Partilhar via


Símbolos e arquivos de símbolos

Quando aplicativos, bibliotecas, drivers ou sistemas operacionais são vinculados, o vinculador que cria os arquivos .exe e .dll também cria vários arquivos adicionais conhecidos como arquivos de símbolo.

Os arquivos de símbolo contêm uma variedade de dados que não são realmente necessários ao executar os binários, mas que podem ser muito úteis no processo de depuração.

Normalmente, os arquivos de símbolos podem conter:

  • Variáveis globais

  • Variáveis locais

  • Nomes de funções e endereços dos seus pontos de entrada

  • Registros de omissão de ponteiro de quadro (FPO)

  • Números da linha de origem

Cada um desses itens é chamado, individualmente, de símbolo. Por exemplo, um único arquivo de símbolo Myprogram.pdb pode conter várias centenas de símbolos, incluindo variáveis globais e nomes de funções e centenas de variáveis locais. Muitas vezes, as empresas de software lançam duas versões de cada arquivo de símbolo: um arquivo de símbolo completo contendo símbolos públicos e símbolos privados, e um arquivo reduzido (despojado) contendo apenas símbolos públicos. Para obter detalhes, consulte Símbolos públicos e privados.

Ao depurar, você deve certificar-se de que o depurador pode acessar os arquivos de símbolo associados ao destino que você está depurando. Tanto a depuração ao vivo quanto a depuração de arquivos de despejo de memória exigem símbolos. Você deve obter os símbolos apropriados para o código que deseja depurar e carregar esses símbolos no depurador.

Símbolos do Windows

O Windows mantém seus símbolos em arquivos com a extensão .pdb.

O compilador e o vinculador controlam o formato do símbolo. O vinculador do Visual C++, coloca todos os símbolos em arquivos .pdb.

O sistema operacional Windows foi construído em duas versões. A compilação livre (ou compilação de varejo) tem binários relativamente pequenos, e a compilação verificada (ou compilação de depuração) tem binários maiores, com mais símbolos de depuração no próprio código. As compilações verificadas estavam disponíveis em versões mais antigas do Windows antes do Windows 10, versão 1803. Cada uma dessas compilações tinha seus próprios arquivos de símbolos. Ao depurar um alvo no Windows, deverá usar os ficheiros de símbolos que correspondem à versão do Windows no alvo.

A tabela a seguir lista vários dos diretórios que existem em uma árvore de símbolos padrão do Windows:

Diretório Contém arquivos de símbolos para

ACM

Arquivos do Microsoft Audio Compression Manager

COM

Arquivos executáveis (.com)

CPL

Programas do Painel de Controlo

DLL

Arquivos de biblioteca de vínculo dinâmico (.dll)

DRV

Arquivos de driver (.drv)

EXE

Arquivos executáveis (.exe)

RCS

Arquivos de proteção de tela

SYS

Arquivos de driver (.sys)