Freigeben über


BinPlace-Zielverzeichnisse

BinPlace erstellt eine Verzeichnisstruktur, um die dateien zu speichern, die sie platziert. 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 platziert Dateien, wenn eine von zwei Bedingungen erfüllt ist:

  1. Die Datei wird in der BinPlace-Befehlszeile angegeben.

  2. Die Datei ist eine Symboldatei, die sich im selben Verzeichnis wie die zugehörige ausführbare Datei befindet, und die ausführbare Datei wird in der Befehlszeile angegeben. In diesem Fall werden die Symboldatei und die ausführbare Datei in verschiedenen Verzeichnissen platziert. BinPlace kann auch das Teilen oder Entfernen (siehe öffentliche Symbole und private Symbole) oder Streifen (siehe Symboldateisysteme) in diesem Szenario durchführen.

Wenn BinPlace Dateien platziert, überschreibt sie automatisch eine ältere Datei mit demselben Namen. BinPlace überschreibt jedoch standardmäßig keine neuere Datei. Wenn eine neuere (oder identische) Version einer ausführbaren Datei vorhanden ist, werden weder die ausführbare Datei noch die zugehörigen Symboldateien auf den Datenträger geschrieben. If you wish BinPlace to overwrite files regardless of their timestamp, use the -f command-line option.

Dateiziele

Der Name des Verzeichnisses, in dem BinPlace eine in der Befehlszeile angegebene Datei platziert, wird erstellt, indem zwei Verzeichnisse verkettet werden: das Stammzielverzeichnis und das Klassenunterverzeichnis. (Die Verzeichnisse können beliebige Namen haben, die Sie auswählen, aber in der Regel ist das Stammzielverzeichnis der Verzeichnisstruktur, in der Sie Ihre Dateien ablegen, und das Klassenunterverzeichnis ist ein Unterverzeichnis, in dem es logisch erscheint, eine bestimmte Datei oder Gruppe von Dateien zu platzieren.)

  • Das Stammzielverzeichnis kann mithilfe des Befehlszeilenparameters -r RootDestinationPath angegeben werden. Wenn dies nicht angegeben wird, wird der Standardwert durch die _NT386TREE, _NTIA64TREE oder _NTAMD64TREE Umgebungsvariable auf einem x86-basierten, Itanium- oder x64-basierten Computer bestimmt. Das Stammzielverzeichnis muss auf eine dieser Arten definiert werden. Wenn sie überhaupt nicht definiert ist, wird BinPlace nicht ausgeführt.

  • Das Klassenunterverzeichnis wird in der Regel in der Ortsdatei angegeben. Es ist möglich, mehrere Klassenunterverzeichnisse für eine Datei anzugeben; Dies bewirkt, dass BinPlace Kopien der Datei erstellt und an jedem der angegebenen Speicherorte platziert. Ausführliche Informationen finden Sie unter "Dateisyntax platzieren ". Das Klassenunterverzeichnis kann auch mithilfe des Befehlszeilenparameters -:D EST ClassPath angegeben werden.

Symboldateiziele

Wenn eine ausführbare Datei in der Befehlszeile von BinPlace aufgeführt ist und eine zugeordnete Symboldatei im selben Verzeichnis vorhanden ist, kopiert BinPlace auch die Symboldatei (oder ändert sie). Das Verzeichnis, in dem diese Symboldatei abgelegt wird, wird erstellt, indem drei Verzeichnisse verkettet werden: das Stammverzeichnis des Symbols, das Unterverzeichnis der Klasse und das Unterverzeichnis des Dateityps.

  • Das Symbolstammverzeichnis kann mithilfe des -s SymbolRoot-Befehlszeilenparameters angegeben werden. 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.

  • Das Klassenunterverzeichnis wird in der Regel in der Ortsdatei angegeben. Es ist möglich, mehrere Klassenunterverzeichnisse für eine Datei anzugeben; Dies bewirkt, dass BinPlace Kopien der Datei erstellt und an jedem der angegebenen Speicherorte platziert. Ausführliche Informationen finden Sie unter "Dateisyntax platzieren ". Das Klassenunterverzeichnis kann auch mithilfe des Befehlszeilenparameters -:D EST ClassPath angegeben werden. 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.

  • Das Unterverzeichnis des Dateityps wird nur für Symboldateien verwendet. Sie wird durch die Dateinamenerweiterung der ursprünglichen ausführbaren Datei bestimmt. Daher werden Symboldateien, die .exe Dateien zugeordnet sind, in einem EXE-Unterverzeichnis platziert, Symboldateien, die DLLs zugeordnet sind, in einem DLL-Unterverzeichnis platziert, und Symboldateien, die Treibern zugeordnet sind, werden in einem Sys-Unterverzeichnis platziert. Diese Konvention trägt dazu bei, Dateinamenkonflikte zu vermeiden, z. B. myprogram.exe und myprogram.dll möglicherweise beide Symboldateien mit dem Namen "myprogram.pdb", aber diese Symboldateien werden in verschiedenen Unterverzeichnissen platziert.

Es gibt eine Ausnahme für diesen Algorithmus. 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. Um binPlaces Symboldateibearbeitungstechniken zu verwenden, müssen Sie den Dateinamen der ausführbaren Datei und nicht den Symboldateinamen auflisten.