Compartilhar via


Sistemas de arquivos de símbolos

Há dois sistemas de arquivos de símbolo comuns. Neste documento, elas serão conhecidas como o sistema atual e o sistema antigo.

Sistema de arquivos de símbolo atual

No sistema atual, há sempre dois arquivos: o arquivo executável e um arquivo .pdb. O arquivo .pdb contém todos os símbolos. O arquivo executável contém um ponteiro para o arquivo .pdb.

Se um arquivo de símbolo .pdb contiver símbolos privados, o BinPlace poderá remover essas informações e produzir um arquivo de símbolo despojado. Consulte símbolos públicos e símbolos privados para obter detalhes.

Sistema de arquivos de símbolo antigo

No sistema antigo, arquivos executáveis e arquivos de símbolo podem ser organizados de duas maneiras diferentes:

  • O arquivo executável e um arquivo .pdb. Nessa disposição, a maioria das informações de símbolo está no arquivo .pdb. O restante das informações de símbolo é incluído no arquivo executável. O arquivo executável também contém um ponteiro para o arquivo .pdb.

  • O arquivo executável, um arquivo .pdb e um arquivo .dbg. O arquivo .pdb é o mesmo que na organização de dois arquivos: ele contém a maioria dos símbolos. O restante das informações de símbolo está no arquivo .dbg. Nenhuma informação de símbolo está no arquivo executável. O arquivo executável contém um ponteiro para o arquivo .dbg e o arquivo .dbg contém um ponteiro para o arquivo .pdb.

No sistema de arquivos de símbolo antigo, a disposição de dois arquivos e a disposição de três arquivos contêm o mesmo código executável e os mesmos símbolos. O programa pode ser executado e também pode ser depurado em qualquer configuração. No entanto, a disposição de três arquivos acelera a execução, pois o arquivo executável é menor.

Se você tiver binários que foram criados com o sistema de arquivos de símbolo antigo na disposição de dois arquivos, o BinPlace poderá convertê-lo na disposição de três arquivos. Em outras palavras, o BinPlace pode "dividir" o arquivo executável em um arquivo executável sem símbolos e um novo arquivo .dbg contendo os símbolos que estavam no arquivo executável.

O BinPlace também pode remover informações de símbolos privados de arquivos no sistema de arquivos de símbolo antigo, mas somente se ele também estiver dividindo os arquivos (em outras palavras, somente se estiver alterando os arquivos da disposição de dois arquivos para a disposição de três arquivos). O BinPlace não pode remover símbolos privados de arquivos no sistema antigo de arquivos de símbolos e mantê-los na disposição de dois arquivos. E se os arquivos já estiverem na disposição de três arquivos, o BinPlace não executará nenhuma remoção; na verdade, ele nem sequer moverá os arquivos de símbolo se o arquivo executável for nomeado na linha de comando binPlace. Consulte símbolos públicos e símbolos privados para obter detalhes.