Delen via


BinPlace-doelmappen

BinPlace maakt een mapstructuur voor het opslaan van de bestanden die het plaatst. 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 plaatst bestanden als aan een van de twee voorwaarden wordt voldaan:

  1. Het bestand wordt opgegeven op de BinPlace-opdrachtregel.

  2. Het bestand is een symboolbestand dat zich in dezelfde map bevindt als het bijbehorende uitvoerbare bestand en het uitvoerbare bestand wordt opgegeven op de opdrachtregel. In dit geval worden het symboolbestand en het uitvoerbare bestand in verschillende mappen geplaatst. BinPlace kan ook splits- of stripping uitvoeren (zie openbare symbolen en privésymbolen) of stripping (zie Symboolbestandssystemen) in dit scenario.

Wanneer BinPlace bestanden plaatst, wordt automatisch een ouder bestand met dezelfde naam overschreven. BinPlace overschrijft echter niet standaard een nieuw bestand. Met name als er een nieuwere (of identieke) versie van een uitvoerbaar bestand aanwezig is, worden het uitvoerbare bestand of de bijbehorende symboolbestanden niet naar de schijf geschreven. If you wish BinPlace to overwrite files regardless of their timestamp, use the -f command-line option.

Bestandsbestemmingen

De naam van de map waarin BinPlace een bestand plaatst dat is opgegeven op de opdrachtregel, wordt gemaakt door twee directory's samen te vouwen: de hoofdmap en de submap van de klasse. (De mappen kunnen alle namen bevatten die u kiest, maar meestal is de hoofdmap van de mapstructuur waarin u uw bestanden plaatst en de submap van de klasse een submap is waar het logisch lijkt om een specifiek bestand of een specifieke groep bestanden te plaatsen.)

  • De hoofdmap van het doel kan worden opgegeven met behulp van de opdrachtregelparameter -r RootDestinationPath. Als dit wordt weggelaten, wordt de standaardwaarde bepaald door respectievelijk de _NT386TREE, _NTIA64TREE of _NTAMD64TREE omgevingsvariabele op een x86-, Itanium- of x64-computer. De hoofdmap van het doel moet op een van deze manieren worden gedefinieerd; als deze helemaal niet is gedefinieerd, wordt BinPlace niet uitgevoerd.

  • De submap van de klasse wordt meestal opgegeven in het plaatsbestand. Het is mogelijk om meerdere klassesubmappen voor één bestand op te geven; Dit zorgt ervoor dat BinPlace kopieën van het bestand maakt en deze op elk van de opgegeven locaties plaatst. Zie De syntaxis van het bestand plaatsen voor volledige details. De submap van de klasse kan ook worden opgegeven met behulp van de opdrachtregelparameter -:D EST ClassPath.

Symboolbestandsbestemmingen

Wanneer een uitvoerbaar bestand wordt vermeld op de opdrachtregel van BinPlace en er een gekoppeld symboolbestand in dezelfde map staat, wordt het symboolbestand ook gekopieerd (of gewijzigd). De map waarin dit symboolbestand wordt geplaatst, wordt gemaakt door drie mappen samen te vouwen: de hoofdmap van het symbool, de submap van de klasse en de submap van het bestandstype.

  • De hoofdmap van het symbool kan worden opgegeven met behulp van de opdrachtregelparameter -s SymbolRoot. 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.

  • De submap van de klasse wordt meestal opgegeven in het plaatsbestand. Het is mogelijk om meerdere klassesubmappen voor één bestand op te geven; Dit zorgt ervoor dat BinPlace kopieën van het bestand maakt en deze op elk van de opgegeven locaties plaatst. Zie De syntaxis van het bestand plaatsen voor volledige details. De submap van de klasse kan ook worden opgegeven met behulp van de opdrachtregelparameter -: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.

  • De submap van het bestandstype wordt alleen gebruikt voor symboolbestanden. Dit wordt bepaald door de bestandsnaamextensie van het oorspronkelijke uitvoerbare bestand. Symboolbestanden die zijn gekoppeld aan .exe bestanden worden dus in een exe-submap geplaatst, symboolbestanden die aan DLL's zijn gekoppeld, worden in een dll-submap geplaatst en symboolbestanden die zijn gekoppeld aan stuurprogramma's worden in een sys-submap geplaatst. Deze conventie helpt conflicten met bestandsnaam te voorkomen, bijvoorbeeld myprogram.exe en myprogram.dll beide symboolbestanden hebben met de naam myprogram.pdb, maar deze symboolbestanden worden in verschillende submappen geplaatst.

Er is één uitzondering op dit algoritme. 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. Als u de technieken voor het bewerken van symboolbestanden van BinPlace wilt gebruiken, moet u de naam van het uitvoerbare bestand weergeven, niet de bestandsnaam van het symbool.