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 mudou ao longo dos anos, e a documentação a seguir fornecerá orientação 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 de programa (.pdb) separado. Esse arquivo é comumente referido como um 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 revelar essas informações significativas, o que poderia facilitar a engenharia reversa do programa.

Para criar um PDB, compile seu arquivo executável com informações de depuração de acordo com as instruções para suas ferramentas de compilação.

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 do tipo
  • arquivos de origem
  • números de linha

Arquivos DBG e informações de depuração incorporadas

Versões anteriores do conjunto de ferramentas da Microsoft usavam para incorporar as informações de depuração no executável, no entanto, ele normalmente seria removido em um arquivo separado com uma extensão .dbg. Isso é comumente conhecido como um arquivo DBG . Os arquivos DBG usam o mesmo formato de arquivo PE que os executáveis.

O suporte da API DbgHelp para DBGs e informações de depuração incorporadas é limitado e inclui o seguinte.

  • Públicos e exportações
  • símbolos globais