Diretórios de destino do BinPlace

O BinPlace cria uma árvore de diretório para manter os arquivos que está colocando. A estrutura dessa árvore é determinada pelos parâmetros que são passados para a linha de comando do BinPlace, os valores de determinadas variáveis de ambiente e o conteúdo de um arquivo de texto conhecido como arquivo de local.

O BinPlace colocará arquivos se uma das duas condições for atendida:

  1. O arquivo é especificado na linha de comando do BinPlace.

  2. O arquivo é um arquivo de símbolo que reside no mesmo diretório que o arquivo executável associado e o arquivo executável é especificado na linha de comando. Nesse caso, o arquivo de símbolo e o arquivo executável serão colocados em diretórios diferentes. O BinPlace também pode executar divisão ou remoção (consulte Símbolos públicos e símbolos privados) ou remoção (consulte Sistemas de arquivos de símbolo) nesse cenário.

Quando o BinPlace coloca arquivos, ele substitui automaticamente um arquivo mais antigo com o mesmo nome. No entanto, o BinPlace não substituirá, por padrão, um arquivo mais recente. Em particular, se uma versão mais recente (ou idêntica) de um arquivo executável estiver presente, nem o arquivo executável nem os arquivos de símbolo associados serão gravados no disco. Se você quiser que o BinPlace substitua os arquivos independentemente do carimbo de data/hora, use a opção de linha de comando -f .

Destinos de arquivo

O nome do diretório no qual o BinPlace coloca qualquer arquivo especificado em sua linha de comando é criado concatenando dois diretórios: o diretório de destino raiz e o subdiretório de classe. (Os diretórios podem ter qualquer nome escolhido, mas normalmente o diretório de destino raiz é a raiz da árvore de diretório em que você está colocando seus arquivos e o subdiretório de classe é um subdiretório em que parece lógico colocar um arquivo ou grupo específico de arquivos.)

  • O diretório de destino raiz pode ser especificado usando o parâmetro de linha de comando -r RootDestinationPath. Se isso for omitido, o padrão será determinado pelo _NT386TREE, _NTIA64TREE ou _NTAMD64TREE variável de ambiente em um computador baseado em x86, baseado em Itanium ou x64, respectivamente. O diretório de destino raiz deve ser definido de uma destas maneiras; se não estiver definido, o BinPlace não será executado.

  • O subdiretório de classe geralmente é especificado no arquivo de local. É possível especificar vários subdiretórios de classe para um arquivo; isso faz com que o BinPlace faça cópias do arquivo e coloque-as em cada um dos locais especificados. Consulte Colocar sintaxe de arquivo para obter detalhes completos. O subdiretório de classe também pode ser especificado usando o parâmetro de linha de comando -:D EST ClassPath.

Destinos de arquivo de símbolo

Quando um arquivo executável é listado na linha de comando do BinPlace e há um arquivo de símbolo associado no mesmo diretório, o BinPlace também copiará (ou alterará) o arquivo de símbolo. O diretório no qual esse arquivo de símbolo é colocado é criado concatenando três diretórios: o diretório raiz do símbolo, o subdiretório de classe e o subdiretório de tipo de arquivo.

  • O diretório raiz do símbolo pode ser especificado usando o parâmetro de linha de comando -s SymbolRoot. Se você estiver usando as opções - a e -x , os arquivos de símbolo removidos serão colocados no diretório SymbolRoot . Nesse caso, você pode usar -n FullSymbolRoot para especificar o local dos arquivos de símbolo completos.

  • O subdiretório de classe geralmente é especificado no arquivo de local. É possível especificar vários subdiretórios de classe para um arquivo; isso faz com que o BinPlace faça cópias do arquivo e coloque-as em cada um dos locais especificados. Consulte Colocar sintaxe de arquivo para obter detalhes completos. O subdiretório de classe também pode ser especificado usando o parâmetro de linha de comando -:D EST ClassPath. E se a opção de linha de comando -y for usada, nenhum subdiretório de classe será usado para arquivos de símbolo – o diretório de destino simplesmente consistirá no diretório raiz do símbolo mais o subdiretório do tipo arquivo.

  • O subdiretório de tipo de arquivo só é usado para arquivos de símbolo. Ele é determinado pela extensão de nome de arquivo do arquivo executável original. Assim, os arquivos de símbolo associados a arquivos .exe serão colocados em um subdiretório exe, os arquivos de símbolo associados a DLLs serão colocados em um subdiretório dll e os arquivos de símbolo associados aos drivers serão colocados em um subdiretório sys. Essa convenção ajuda a evitar conflitos de nome de arquivo , por exemplo, myprogram.exe e myprogram.dll podem ter arquivos de símbolo chamados myprogram.pdb, mas esses arquivos de símbolo serão colocados em subdiretórios diferentes.

Há uma exceção a esse algoritmo. Se nem -s nem -n for fornecido, os arquivos de símbolo completos serão colocados no mesmo local que os binários.

Nota Se você listar o nome do arquivo de símbolo na linha de comando do BinPlace, o BinPlace o moverá como qualquer outro arquivo e não examinará seu conteúdo. Para usar as técnicas de manipulação de arquivo de símbolo do BinPlace, você deve listar o nome do arquivo executável, não o nome do arquivo de símbolo.