Partilhar via


Sistemas de arquivos de símbolos

Existem dois sistemas de arquivos de símbolos comuns. Neste documento, eles serão referidos como o sistema atual e sistema antigo.

Sistema de arquivos de símbolo atual

No sistema atual, existem 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 removido. Para obter detalhes, consulte Símbolos públicos e privados.

Sistema antigo de arquivo de símbolos

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

  • O arquivo executável e um arquivo .pdb. Nessa organização, a maioria das informações de símbolo fica no arquivo .pdb. O restante das informações dos símbolos é 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 é igual ao da organização de dois arquivos: ele contém a maioria dos símbolos. O restante das informações do símbolo fica no arquivo .dbg. Nenhuma informação de símbolo fica 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 antigo de arquivos de símbolos, tanto a organização de dois arquivos quanto a de três arquivos contêm o mesmo código executável e os mesmos símbolos. O programa pode ser executado e depurado em qualquer organização. No entanto, a organização de três arquivos acelera a execução, porque o arquivo executável é menor.

Se você tiver binários que foram criados com o sistema antigo de arquivos de símbolos na organização de dois arquivos, o BinPlace poderá convertê-los em organizaçã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 antigo de arquivos de símbolos. No entanto, somente se ele também estiver dividindo os arquivos (em outras palavras, somente se estiver alterando os arquivos da organização de dois arquivos para a organização de três arquivos). O BinPlace não pode remover símbolos privados de arquivos no sistema antigo de arquivos de símbolo e deixá-los na organização de dois arquivos. E se os arquivos já estiverem na organização de três arquivos, o BinPlace não fará qualquer remoção; na verdade, ele nem mesmo moverá os arquivos de símbolo se o arquivo executável for nomeado na linha de comando BinPlace. Para obter detalhes, consulte Símbolos públicos e privados.