# 기호 파일 업로드

> Manually upload application symbol files to improve crash report symbolication and readability.

네이티브 크래시 리포트에는 누락된 기호가 있을 수 있습니다. 프로젝트에 누락된 기호가 있는 경우 애플리케이션 기호 파일을 프로젝트에 수동으로 추가할 수 있습니다. 이는 문제를 더 잘 진단하고 해결하는 데 도움이 됩니다.

크래시 및 예외 리포트에 누락된 기호가 있다면 Cloud Diagnostics Dashboard에서 애플리케이션 기호 파일을 추가합니다.


**Frame:**
![](/api/media?file=/cloud-diagnostics/media/images/debugging-symbolspageemptystate.png)

기호를 업로드하려면 다음 단계를 따릅니다.

1. [Unity Dashboard](https://dashboard.unity3d.com/)를 엽니다.
2. Cloud Diagnostics가 활성화된 프로젝트를 엽니다.
3. 왼쪽 내비게이션에서 **Cloud Diagnostics** > **Debugging Symbols**를 선택합니다.
4. Debugging Symbols 페이지에서 **Upload Symbols**를 선택하고 컴퓨터에서 파일을 선택합니다.

새 기호를 업로드할 때 업로드 후 사용 가능해지기까지 약간의 시간이 걸립니다. 새 크래시를 제출하기 전에 5분 이상 대기합니다. 처리되면 새 리포트가 알맞은 기호와 함께 생성될 것입니다.

## 누락된 iOS/OSX 애플리케이션 기호 찾기 및 업로드##finding-and-uploading-missing-iososx-application-symbols

Xcode를 사용하여 애플리케이션을 만들 때 iOS/OSX는 기호를 다음과 유사한 이름의 dSYM 폴더에 저장합니다.

```cpp
~/Library/Developer/Xcode/DerivedData/<build id>;/Build/Products/<build type>/appname.dSYM
```

dSYM 파일은 애플리케이션에 대한 DWARF(Debugging With Attributed Record Formats) 디버깅 정보를 포함하는 ELF 파일입니다. DWARF는 소스 레벨 디버깅을 지원하는 디버깅 파일 포맷입니다.

dSYM이 올바른 UUID를 포함하는지 확인하려면 다음과 같이 `dwarfdump` 명령을 실행하고 `appname`을 애플리케이션의 dSYM으로 대체합니다.

```cpp
dwarfdump -u appname.dSYM/Contents/Resources/DWARF/appname
```

다음은 `dwarfdump`의 샘플 출력을 보여 줍니다.

`UUID: 5EEDCCD2-38E7-3E52-81EC-B90C7BCD6D91 (armv7) appname.dSYM/Contents/Resources/DWARF/appname`

`UUID: 583173FD-6697-3E3C-90DC-EA9147563A5B (arm64) appname.dSYM/Contents/Resources/DWARF/appname`

**참고:** dwarfdump는 DWARF 정보를 사람이 읽을 수 있는 포맷으로 출력하는 애플리케이션입니다. dwarfdump의 출력은 UUID를 대시(—)가 있는 대문자로 리포트합니다. UUID는 종종 대시 없이 모두 소문자로 표시됩니다. 두 포맷 모두 UUID를 나타낼 수 있습니다. 예를 들어 `5EEDCCD2-38E7-3E52-81EC-B90C7BCD6D91` 및 `5eedccd238e73e5281ecb90c7bcd6d91`은 모두 동일한 UUID를 나타냅니다.

올바른 dSYM 폴더를 찾은 다음 전체 폴더를 압축한 뒤 Unity Dashboard의 **Debugging Symbols** 탭을 사용하여 Cloud Diagnostics 서비스로 업로드합니다.

## iOS, Bitcode, App Store##ios-bitcode-and-the-app-store

Bitcode를 활성화한 iOS 앱을 만들어 App Store에 제출하는 경우, Apple은 빌드를 포스트 프로세싱하여 새 바이너리를 생성합니다. 이 새 바이너리에는 새 UUID와 그에 상응하는 새 dSYM이 있습니다. 이 경우 iTunes Connect에서 dSYM을 다운로드해야 합니다. iTunes Connect의 **My Apps** > **Activity** > **All Builds** > \*\*(내 빌드 선택)\*\*에서 이용 가능합니다.

App Store에 앱을 업로드할 때 **Include bitcode for iOS content** 및 **Upload your app’s symbols to receive symbolicated reports from Apple**을 체크하여 App Store가 올바른 기호로 새 dSYM을 생성하게 합니다.

새 dSYM을 다운로드한 뒤 dwarfdump를 사용하여 UUID가 올바른지 확인합니다. 파일을 압축하여 **Debugging Symbols** 탭을 통해 Cloud Diagnostics 서비스로 업로드합니다.

기호에 대한 자세한 내용은 Apple Developer 웹 사이트의 [크래시 리포트 기호화](https://developer.apple.com/library/content/technotes/tn2151/_index.html#//apple_ref/doc/uid/DTS40008184-CH1-SYMBOLICATION)를 참고하십시오.

**참고:** 새 dSYM ID를 업로드할 때 리포트가 다시 기호화되지 않습니다. 새 기호를 사용하여 리포트를 생성하려면 새 크래시를 제출해야 합니다.
