Unity는 스택 추적을 심볼화하고 앱을 디버깅하는 데 사용할 수 있는 네이티브 라이브러리용 심볼이 포함된 패키지를 생성할 수 있습니다. 심볼화는 활성 메모리 주소를 사용 가능한 정보(예: 메서드 이름)로 변환하는 프로세스입니다. 이렇게 하면 충돌이 발생한 위치를 쉽게 파악할 수 있습니다.
또한 Google Play 콘솔에 심볼 패키지를 업로드하여 Android Vitals 대시보드에서 사람이 읽을 수 있는 형태의 스택 추적을 확인할 수도 있습니다.
심볼 패키지 생성은 다음의 두 가지 방법으로 활성화할 수 있습니다.
Public Symbols 패키지에는 함수 주소를 확인하여 사람이 읽을 수 있는 문자열로 만드는 데 필요한 정보가 포함되어 있습니다. 디버그 정보가 들어 있지 않아서 Debugging Symbols 패키지보다 크기가 훨씬 더 작습니다.
Unity는 --strip-debug
파라미터를 사용하여 공용 심볼을 생성합니다. 자세한 내용은 Linux 사용자 매뉴얼에서 --strip-debug
에 대한 정보를 참조하십시오.
Debugging Symbols 패키지에는 전체 디버깅 정보와 심볼 표가 포함되어 있습니다. 다음 용도로 사용할 수 있습니다.
참고: 디버깅 심볼을 사용할 수 없는 경우 Unity는 빌드 시점에 프로젝트에 공용 심볼이 있는 파일(예: 공용 심볼 파일만 포함하는 libunity.so
)을 배치합니다.
Unity는 --only-keep-debug
파라미터를 사용하여 디버깅 심볼을 생성합니다. 자세한 내용은 Linux 사용자 매뉴얼에서 --only-keep-debug
에 대한 정보를 참조하십시오.
Google Play에 앱을 업로드한 후 Public 또는 Debugging 심볼 패키지(둘 다 필수 심볼 표를 포함하고 있음)를 업로드할 수도 있습니다. 이렇게 하려면 Google Play 콘솔에서 앱 옆의 점 세 개를 클릭한 후 Uploading native debug symbols (.zip)를 선택하십시오.
심볼 패키지를 업로드하면 Google Play는 Android Vitals > Crashes and ANRs에서 수신하는 모든 크래시를 심볼화합니다. 이를 통해 무엇이 잘못되었는지에 대한 추가 정보를 제공할 수 있습니다.
참고: 심볼 패키지를 업로드하기 전에 Google Play에서 수신한 크래시는 심볼화되지 않습니다.