> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 수동으로 기호 번들 만들기

> 자동 기호 번들링을 사용할 수 없을 때 기호 번들을 수동으로 만들고 업로드하는 방법을 알아봅니다.

MakePkg와 Submission Validator는 일반적으로 타이틀을 패키징하거나 업로드할 때 기호 번들을 자동으로 만듭니다. 이 절차는 자동 기호 번들링을 사용할 수 없거나 필요한 번들이 생성되지 않는 경우의 대체 방법으로만 사용하세요.

## 시작하기 전에

번들을 만들기 전에 다음 정보와 파일을 수집하세요.

* 패키지 전체 이름(`PackageFullName`).
* 타이틀 ID(`TitleId`).
* \_MicrosoftGame.config\_의 `Identity` `Name` 값.
* `/f`를 사용하여 MakePkg에 전달한 정확한 레이아웃 파일.
* 패키징된 EXE 및 DLL 파일.
* 패키징된 각 EXE 및 DLL과 정확히 일치하는 PDB 파일.

`/f` 없이 패키지를 만든 경우 [`makepkg genmap`](/ko/build/core-features/common/packaging/deployment/makepkg#genmap)을 사용하여 레이아웃 파일을 만드세요. 해당 파일을 `makepkg pack /f`에 전달하여 패키지를 다시 빌드한 다음, 기호 번들에서 동일한 레이아웃 파일을 사용하세요.

> [!IMPORTANT]
>
> 각 PDB는 패키징된 빌드의 이진 파일과 정확히 일치해야 합니다. 다른 빌드의 PDB는 해당 이진 파일에 대한 기호를 제공할 수 없습니다.

## 번들 만들기

1. `<PackageFullName>_<TitleId>`라는 이름의 루트 디렉터리를 만듭니다.

2. 루트 디렉터리에 다음 JSON이 포함된 `game.txt`라는 파일을 만듭니다. 자리 표시자 값을 패키지의 ID 이름 및 패키지 전체 이름으로 바꿉니다.

   ```json theme={null}
   {
     "Title": "<IdentityName>",
     "Version": "<PackageFullName>"
   }
   ```

3. MakePkg에 전달한 정확한 레이아웃 파일을 루트 디렉터리에 복사합니다. 예를 들어 `layout.xml`을 복사합니다.

4. 루트 디렉터리 아래에 각 EXE 및 DLL의 패키징된 디렉터리 경로를 다시 만듭니다.

5. 패키징된 각 EXE 또는 DLL의 위치에 `.exe` 또는 `.dll` 확장명을 포함하여 이진 파일 이름과 정확히 같은 이름의 디렉터리를 만듭니다.

6. 이진 파일과 정확히 일치하는 PDB 파일을 해당 디렉터리에 복사합니다.

7. 번들 구조를 확인합니다. 예를 들어 패키지 루트에 `MyGame.exe`가 있고 `Resources\MyDll.dll`이 있는 패키지는 다음과 같은 구조를 가집니다.

   ```text theme={null}
   <PackageFullName>_<TitleId>\
   |-- game.txt
   |-- layout.xml
   |-- MyGame.exe\
   |   |-- MyGame.exe
   |   `-- MyGame.pdb
   `-- Resources\
       `-- MyDll.dll\
           |-- MyDll.dll
           `-- MyDll.pdb
   ```

   ![기호 번들을 보여 주는 Windows 파일 탐색기 보기로, 각 이진 파일이 해당 이진 파일 이름의 폴더에서 일치하는 PDB와 함께 있습니다.](https://mintcdn.com/microsoft-4404708b/5dcGPrKRKcrgaGe7/images/packaging/symbol-bundle-folder-structure.png?fit=max\&auto=format\&n=5dcGPrKRKcrgaGe7\&q=85\&s=c2ba7549a824cbe4bfbfa16c5a8a3aa8)

8. `<PackageFullName>_<TitleId>`를 최상위 디렉터리로 포함하는 ZIP 보관 파일을 만듭니다.

9. Partner Center에서 일치하는 타이틀 및 패키지의 기호 번들로 ZIP 보관 파일을 업로드합니다.


## Related topics

- [디스크 만들기](/ko/build/core-features/common/packaging/creating-discs.md)
- [방법: 수동 작업 큐 만들기](/ko/build/core-features/common/async/async-task-queue-design-howto/creating-manual-task-queue.md)
- [비동기 호출 만들기](/ko/services/playfab/sdks/c/async.md)
- [Touch Adaptation Kit 편집기: 번들 및 레이아웃 만들기](/ko/build/core-features/common/game-streaming/tak-editor/game-streaming-tak-editor-create-bundle.md)
- [예약 주문 잠금 해제 번들 만들기](/ko/publishing/game-publishing/how-to/how-to-create-preorder-unlock-bundle.md)
