다음을 통해 공유


BinPlace 대상 디렉터리

BinPlace는 배치하는 파일을 저장할 디렉터리 트리를 만듭니다. 해당 트리의 구조는 BinPlace의 명령줄에 전달되는 매개 변수, 특정 환경 변수의 값 및 위치 파일이라고 하는 텍스트 파일의 내용에 따라 결정됩니다.

두 조건 중 하나가 충족되는 경우 BinPlace는 파일을 배치합니다.

  1. 파일은 BinPlace 명령줄에 지정됩니다.

  2. 파일은 연결된 실행 파일과 동일한 디렉터리에 있는 기호 파일이며 실행 파일은 명령줄에 지정됩니다. 이 경우 기호 파일과 실행 파일은 서로 다른 디렉터리에 배치됩니다. BinPlace는 이 시나리오에서 분할 또는 제거( 공용 기호 및 프라이빗 기호 참조) 또는 제거( 기호 파일 시스템 참조)를 수행할 수도 있습니다.

BinPlace에서 파일을 배치하면 동일한 이름의 이전 파일을 자동으로 덮어씁니다. 그러나 BinPlace는 기본적으로 최신 파일을 덮어쓰지 않습니다. 특히 실행 파일의 최신(또는 동일한) 버전이 있는 경우 실행 파일이나 연결된 기호 파일은 디스크에 기록되지 않습니다. BinPlace가 타임스탬프에 관계없이 파일을 덮어쓰려면 -f 명령줄 옵션을 사용합니다.

파일 대상

BinPlace가 명령줄에 지정된 파일을 배치하는 디렉터리의 이름은 루트 대상 디렉터리와클래스 하위 디렉터리의 두 디렉터리를 연결하여 만듭니다. (디렉터리에는 사용자가 선택한 이름이 있을 수 있지만 일반적으로 루트 대상 디렉터리가 파일을 배치하는 디렉터리 트리의 루트이고 클래스 하위 디렉터리가 특정 파일 또는 파일 그룹을 배치하는 것이 논리적으로 보이는 하위 디렉터리입니다.)

  • -r RootDestinationPath 명령줄 매개 변수를 사용하여 루트 대상 디렉터리를 지정할 수 있습니다. 이 값을 생략하면 기본값은 각각 x86 기반, Itanium 기반 또는 x64 기반 컴퓨터의 _NT386TREE, _NTIA64TREE 또는 _NTAMD64TREE 환경 변수에 의해 결정됩니다. 루트 대상 디렉터리를 다음 방법 중 하나로 정의해야 합니다. 정의되지 않은 경우 BinPlace가 실행되지 않습니다.

  • 클래스 하위 디렉터리가 일반적으로 위치 파일에 지정됩니다. 한 파일에 대해 여러 클래스 하위 디렉터리를 지정할 수 있습니다. 이로 인해 BinPlace는 파일의 복사본을 만들어 지정된 각 위치에 배치합니다. 자세한 내용은 파일 구문 배치 를 참조하세요. -:D EST ClassPath 명령줄 매개 변수를 사용하여 클래스 하위 디렉터리를 지정할 수도 있습니다.

기호 파일 대상

실행 파일이 BinPlace의 명령줄에 나열되고 동일한 디렉터리에 연결된 기호 파일이 있는 경우 BinPlace는 기호 파일도 복사(또는 변경)합니다. 기호 루트 디렉터리, 클래스 하위 디렉터리 및 파일 형식 하위 디렉터리의 세 디렉터리를 연결하여 이 기호 파일이 배치되는 디렉터리를 만듭니다.

  • 기호 루트 디렉터리 -s SymbolRoot 명령줄 매개 변수를 사용하여 지정할 수 있습니다. -a-x 스위치를 사용하는 경우 제거된 기호 파일이 SymbolRoot 디렉터리 아래에 배치됩니다. 이 경우 -n FullSymbolRoot를 사용하여 전체 기호 파일의 위치를 지정할 수 있습니다.

  • 클래스 하위 디렉터리가 일반적으로 위치 파일에 지정됩니다. 한 파일에 대해 여러 클래스 하위 디렉터리를 지정할 수 있습니다. 이로 인해 BinPlace는 파일의 복사본을 만들어 지정된 각 위치에 배치합니다. 자세한 내용은 파일 구문 배치 를 참조하세요. -:D EST ClassPath 명령줄 매개 변수를 사용하여 클래스 하위 디렉터리를 지정할 수도 있습니다. -y 명령줄 스위치를 사용하는 경우 기호 파일에 클래스 하위 디렉터리가 사용되지 않습니다. 대상 디렉터리가 단순히 기호 루트 디렉터리와 파일 형식 하위 디렉터리로 구성됩니다.

  • 파일 형식 하위 디렉터리가 기호 파일에만 사용됩니다. 원래 실행 파일의 파일 이름 확장명에서 결정됩니다. 따라서 .exe 파일과 연결된 기호 파일은 exe 하위 디렉터리에 배치되고, DLL과 연결된 기호 파일은 dll 하위 디렉터리에 배치되고, 드라이버와 연결된 기호 파일은 sys 하위 디렉터리에 배치됩니다. 이 규칙은 파일 이름 충돌을 방지하는 데 도움이 됩니다. 예를 들어 myprogram.exe 및 myprogram.dll 모두 myprogram.pdb라는 기호 파일이 있을 수 있지만 이러한 기호 파일은 서로 다른 하위 디렉터리에 배치됩니다.

이 알고리즘에는 한 가지 예외가 있습니다. -s-n을 모두 제공하지 않으면 전체 기호 파일이 이진 파일과 동일한 위치에 배치됩니다.

참고 BinPlace의 명령줄에 기호 파일 이름을 나열하면 BinPlace는 다른 파일처럼 이동하며 해당 내용을 검사하지 않습니다. BinPlace의 기호 파일 조작 기술을 사용하려면 기호 파일 이름이 아닌 실행 파일 이름을 나열해야 합니다.