다음을 통해 공유


기호 파일 시스템

두 가지 일반적인 기호 파일 시스템이 있습니다. 이 문서에서는 이를 현재 시스템이전 시스템이라고 합니다.

현재 기호 파일 시스템

현재 시스템에는 항상 실행 파일과 .pdb 파일이라는 두 개의 파일이 있습니다. .pdb 파일에는 모든 기호가 포함됩니다. 실행 파일은 .pdb 파일에 대한 포인터를 포함합니다.

.pdb 기호 파일에 프라이빗 기호가 포함된 경우 BinPlace는 이 정보를 제거하고 제거된 기호 파일을 생성할 수 있습니다. 자세한 내용은 공용 기호 및 개인 기호를 참조하세요.

이전 기호 파일 시스템

이전 시스템에서 실행 파일 및 기호 파일은 다음과 같은 두 가지 방법으로 정렬할 수 있습니다.

  • 실행 파일 및 .pdb 파일입니다. 이 배열에서 대부분의 기호 정보는 .pdb 파일에 있습니다. 기호 정보의 나머지 는 실행 파일에 포함됩니다. 실행 파일에는 .pdb 파일에 대한 포인터도 포함되어 있습니다.

  • 실행 파일, .pdb 파일 및 .dbg 파일입니다. .pdb 파일은 두 파일 정렬과 동일합니다. 대부분의 기호를 보유합니다. 기호 정보의 나머지 는 .dbg 파일에 있습니다. 실행 파일에 기호 정보가 없습니다. 실행 파일은 .dbg 파일에 대한 포인터를 포함하고 .dbg 파일에는 .pdb 파일에 대한 포인터가 포함되어 있습니다.

이전 기호 파일 시스템에서는 두 개의 파일 정렬과 3개 파일 정렬 모두 동일한 실행 코드와 동일한 기호를 포함합니다. 프로그램을 실행할 수 있으며 두 배열 중 하나로 디버그할 수 있습니다. 그러나 실행 파일이 더 작기 때문에 3개 파일 정렬은 실행 속도를 향상합니다.

2개 파일 정렬에 이전 기호 파일 시스템으로 빌드된 이진 파일이 있는 경우 BinPlace는 이를 3개 파일 정렬로 변환할 수 있습니다. 즉, BinPlace는 실행 파일을 기호 없는 실행 파일 및 실행 파일에 있던 기호가 포함된 새 .dbg 파일로 "분할"할 수 있습니다.

BinPlace는 이전 기호 파일 시스템의 파일에서 개인 기호 정보를 제거할 수도 있지만 파일을 분할하는 경우에만 제거할 수 있습니다(즉, 파일을 2개 파일 배열에서 3개 파일 배열로 변경하는 경우에만). BinPlace는 이전 기호 파일 시스템의 파일에서 프라이빗 기호를 제거하고 두 파일 배열에 둘 수 없습니다. 파일이 이미 3개 파일 정렬에 있는 경우 BinPlace는 제거를 수행하지 않습니다. 실제로 실행 파일의 이름이 BinPlace 명령줄에 있는 경우 기호 파일도 이동하지 않습니다. 자세한 내용은 공용 기호 및 개인 기호를 참조하세요.