Partager via


Répertoires de destination BinPlace

BinPlace crée une arborescence de répertoires pour contenir les fichiers qu’il place. The structure of that tree is determined by the parameters that are passed to BinPlace's command line, the values of certain environment variables, and the contents of a text file known as a place file.

BinPlace place les fichiers si l’une des deux conditions est remplie :

  1. Le fichier est spécifié sur la ligne de commande BinPlace.

  2. Le fichier est un fichier de symboles résidant dans le même répertoire que son fichier exécutable associé, et le fichier exécutable est spécifié sur la ligne de commande. Dans ce cas, le fichier de symboles et le fichier exécutable sont placés dans différents répertoires. BinPlace peut également effectuer un fractionnement ou un découpage (voir Symboles publics et symboles privés) ou un stripping (voir Systèmes de fichiers de symboles) dans ce scénario.

Lorsque BinPlace place des fichiers, il remplace automatiquement un fichier plus ancien portant le même nom. Toutefois, BinPlace ne remplacera pas par défaut un fichier plus récent. En particulier, si une version plus récente (ou identique) d’un fichier exécutable est présente, ni le fichier exécutable ni les fichiers de symboles associés ne seront écrits sur le disque. If you wish BinPlace to overwrite files regardless of their timestamp, use the -f command-line option.

Destinations de fichiers

Le nom du répertoire dans lequel BinPlace place un fichier spécifié sur sa ligne de commande est créé en concaténant deux répertoires : le répertoire de destination racine et le sous-répertoire de classe. (Les répertoires peuvent avoir tous les noms que vous choisissez, mais généralement le répertoire de destination racine est la racine de l’arborescence de répertoires où vous placez vos fichiers, et le sous-répertoire de classe est un sous-répertoire où il semble logique de placer un fichier ou un groupe de fichiers spécifique.)

  • Le répertoire de destination racine peut être spécifié à l’aide du paramètre de ligne de commande rootDestinationPath -r. Si cela est omis, la valeur par défaut est déterminée par les _NT386TREE, les _NTIA64TREE ou _NTAMD64TREE variable d’environnement sur un ordinateur x86, Itanium ou x64, respectivement. Le répertoire de destination racine doit être défini de l’une de ces manières ; s’il n’est pas défini du tout, BinPlace ne s’exécute pas.

  • Le sous-répertoire de classe est généralement spécifié dans le fichier de place. Il est possible de spécifier plusieurs sous-répertoires de classe pour un fichier ; Ainsi, BinPlace effectue des copies du fichier et les place dans chacun des emplacements spécifiés. Pour plus d’informations, consultez La syntaxe place file . Le sous-répertoire de classe peut également être spécifié à l’aide du paramètre de ligne de commande -:D EST ClassPath.

Destinations du fichier de symboles

Lorsqu’un fichier exécutable est répertorié sur la ligne de commande de BinPlace et qu’il existe un fichier de symboles associé dans le même répertoire, BinPlace copie (ou modifie également) le fichier de symboles. Le répertoire dans lequel ce fichier de symboles est placé est créé en concaténant trois répertoires : le répertoire racine des symboles, le sous-répertoire de classe et le sous-répertoire de type fichier.

  • Le répertoire racine du symbole peut être spécifié à l’aide du paramètre de ligne de commande SymbolRoot -s. If you are using the -a and -x switches, stripped symbol files will be placed under the SymbolRoot directory -- in this case, you can use -n FullSymbolRoot to specify the location of full symbol files.

  • Le sous-répertoire de classe est généralement spécifié dans le fichier de place. Il est possible de spécifier plusieurs sous-répertoires de classe pour un fichier ; Ainsi, BinPlace effectue des copies du fichier et les place dans chacun des emplacements spécifiés. Pour plus d’informations, consultez La syntaxe place file . Le sous-répertoire de classe peut également être spécifié à l’aide du paramètre de ligne de commande -:D EST ClassPath. And if the -y command-line switch is used, no class subdirectory will be used for symbol files -- the destination directory will simply consist of the symbol root directory plus the file-type subdirectory.

  • Le sous-répertoire de type fichier est utilisé uniquement pour les fichiers de symboles. Elle est déterminée par l’extension de nom de fichier du fichier exécutable d’origine. Par conséquent, les fichiers de symboles associés à .exe fichiers seront placés dans un sous-répertoire exe, les fichiers de symboles associés aux DLL seront placés dans un sous-répertoire dll, et les fichiers de symboles associés aux pilotes seront placés dans un sous-répertoire sys. Cette convention permet d’éviter les conflits de noms de fichiers : par exemple, myprogram.exe et myprogram.dll peuvent avoir des fichiers de symboles nommés myprogram.pdb, mais ces fichiers de symboles seront placés dans des sous-répertoires différents.

Il existe une exception à cet algorithme. If neither -s nor -n is supplied, the full symbol files will be placed in the same location as the binaries.

Note If you list the symbol file name in BinPlace's command line, BinPlace will move it like any other file and will not examine its contents. Pour utiliser les techniques de manipulation de fichier de symboles de BinPlace, vous devez répertorier le nom du fichier exécutable, et non le nom du fichier de symboles.