기호 파일 시스템

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

현재 기호 파일 시스템

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

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

이전 기호 파일 시스템

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

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

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

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

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

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