Directorios de destino de BinPlace
BinPlace crea un árbol de directorios para contener los archivos que está colocando. La estructura de ese árbol viene determinada por los parámetros que se pasan a la línea de comandos de BinPlace, los valores de determinadas variables de entorno y el contenido de un archivo de texto conocido como archivo de posición.
BinPlace colocará archivos si se cumple una de estas dos condiciones:
El archivo se especifica en la línea de comandos de BinPlace.
El archivo es un archivo de símbolos que reside en el mismo directorio que su archivo ejecutable asociado y el archivo ejecutable se especifica en la línea de comandos. En este caso, el archivo de símbolos y el archivo ejecutable se colocarán en directorios diferentes. BinPlace también puede realizar la división o eliminación (consulte Símbolos públicos y símbolos privados) o la eliminación (consulte Sistemas de archivos de símbolos) en este escenario.
Cuando BinPlace coloca los archivos, sobrescribirá automáticamente un archivo anterior con el mismo nombre. Sin embargo, BinPlace no sobrescribirá, de forma predeterminada, un archivo más reciente. En concreto, si hay una versión más reciente (o idéntica) de un archivo ejecutable, ni el archivo ejecutable ni los archivos de símbolos asociados se escribirán en el disco. Si desea que BinPlace sobrescriba los archivos independientemente de su marca de tiempo, use la opción de línea de comandos -f .
Destinos de archivo
El nombre del directorio en el que BinPlace coloca cualquier archivo especificado en su línea de comandos se crea concatenando dos directorios: el directorio de destino raíz y el subdirectorio de clase. (Los directorios pueden tener cualquier nombre que elija, pero normalmente el directorio de destino raíz es la raíz del árbol de directorios donde se colocan los archivos y el subdirectorio de clase es un subdirectorio donde parece lógico colocar un archivo o un grupo de archivos específicos).
El directorio de destino raíz se puede especificar mediante el parámetro de línea de comandos -r RootDestinationPath. Si se omite, el valor predeterminado viene determinado por la variable de entorno _NT386TREE, _NTIA64TREE o _NTAMD64TREE en un equipo basado en x86, basado en Itanium o en x64, respectivamente. El directorio de destino raíz debe definirse de una de estas maneras; Si no está definido en absoluto, BinPlace no se ejecutará.
Normalmente, el subdirectorio de clase se especifica en el archivo place. Es posible especificar varios subdirectorios de clase para un archivo; Esto hace que BinPlace realice copias del archivo y colóquelas en cada una de las ubicaciones especificadas. Consulte Place File Syntax (Colocar sintaxis de archivo ) para obtener más información. El subdirectorio de clase también se puede especificar mediante el parámetro de línea de comandos -:D EST ClassPath.
Destinos de archivo de símbolos
Cuando un archivo ejecutable aparece en la línea de comandos de BinPlace y hay un archivo de símbolos asociado en el mismo directorio, BinPlace también copiará (o modificará) el archivo de símbolos. El directorio en el que se coloca este archivo de símbolos se crea mediante la concatenación de tres directorios: el directorio raíz del símbolo, el subdirectorio de clase y el subdirectorio de tipo de archivo.
El directorio raíz del símbolo se puede especificar mediante el parámetro de línea de comandos -s SymbolRoot. Si usa los modificadores -a y -x , los archivos de símbolos eliminados se colocarán en el directorio SymbolRoot ; en este caso, puede usar -n FullSymbolRoot para especificar la ubicación de los archivos de símbolos completos.
Normalmente, el subdirectorio de clase se especifica en el archivo place. Es posible especificar varios subdirectorios de clase para un archivo; Esto hace que BinPlace realice copias del archivo y colóquelas en cada una de las ubicaciones especificadas. Consulte Place File Syntax (Colocar sintaxis de archivo ) para obtener más información. El subdirectorio de clase también se puede especificar mediante el parámetro de línea de comandos -:D EST ClassPath. Y si se usa el modificador de línea de comandos -y , no se usará ningún subdirectorio de clase para los archivos de símbolos, el directorio de destino simplemente constará del directorio raíz del símbolo más el subdirectorio de tipo de archivo.
El subdirectorio de tipo de archivo solo se usa para los archivos de símbolos. Viene determinado por la extensión de nombre de archivo del archivo ejecutable original. Por lo tanto, los archivos de símbolos asociados con .exe archivos se colocarán en un subdirectorio exe, los archivos de símbolos asociados a dll se colocarán en un subdirectorio dll y los archivos de símbolo asociados a controladores se colocarán en un subdirectorio sys. Esta convención ayuda a evitar conflictos de nombres de archivo; por ejemplo, myprogram.exe y myprogram.dll pueden tener archivos de símbolos denominados myprogram.pdb, pero estos archivos de símbolos se colocarán en distintos subdirectorios.
Hay una excepción a este algoritmo. Si no se proporciona -s ni -n , los archivos de símbolos completos se colocarán en la misma ubicación que los archivos binarios.
Nota Si muestra el nombre del archivo de símbolos en la línea de comandos de BinPlace, BinPlace lo moverá como cualquier otro archivo y no examinará su contenido. Para usar las técnicas de manipulación de archivos de símbolos de BinPlace, debe enumerar el nombre del archivo ejecutable, no el nombre del archivo de símbolos.