Arquivos de símbolo
Normalmente, as informações de depuração são armazenadas em um arquivo de símbolo separado do executável. A implementação dessas informações de depuração foi alterada ao longo dos anos e a documentação a seguir fornecerá diretrizes sobre essas várias implementações.
Arquivos PDB
Todas as versões modernas dos compiladores da Microsoft armazenam informações de depuração sobre um executável compilado em um arquivo de banco de dados do programa separado (.pdb). Esse arquivo geralmente é chamado de PDB. Os dados são armazenados em um arquivo separado do executável para ajudar a limitar o tamanho do executável, economizando espaço de armazenamento em disco e reduzindo o tempo necessário para carregar os dados. Essa metodologia também permite que o executável seja distribuído sem divulgar essas informações significativas, o que poderia facilitar a engenharia reversa do programa.
Para criar um PDB, crie seu arquivo executável com informações de depuração de acordo com as instruções das ferramentas de build.
A API DbgHelp é capaz de usar PDBs para obter as informações a seguir.
- públicos e exportações
- símbolos globais
- símbolos locais
- dados de tipo
- arquivos de origem
- números de linha
Arquivos DBG e informações de depuração inseridas
Versões anteriores do conjunto de ferramentas da Microsoft usadas para inserir as informações de depuração no executável, no entanto, normalmente seriam removidas para um arquivo separado com uma extensão .dbg. Isso é comumente conhecido como um arquivo de DBG. Os arquivos DBG usam o mesmo formato de arquivo PE que executáveis.
O suporte à API DbgHelp para DBGs e informações de depuração inseridas é limitado e inclui o seguinte.
- públicos e exportações
- símbolos globais