xCode에서 dSYM(디버그 심볼) 다운받는 방법과 symbolicate하는 법

드리머즈 0 6779

애플에 앱 심사를 맡겼는데 크래쉬가 발생하여 심사가 보류 됐습니다.


크래쉬 로그를 던져주는데 디버그 심볼을 이용해서 분석해야 합니다.


99e6d756332b19dfc4090ad70cb551fe_1547085079_182.png
xCode에서 상단 탭 Window > Organizer > Archives(기본 탭)의 오른쪽에 있는 Download Debug Symbols를 누르면 되는 것 같은데

잠시 로딩을 하더니 어디에 다운 된 것인지 알 수가 없습니다..


https://stackoverflow.com/questions/7088771/iphone-where-the-dsym-file-is-located-in-crash-report 

위의 글에 정답이 있네요.


99e6d756332b19dfc4090ad70cb551fe_1547085193_7875.png
Archives에서 크래쉬가 발생한 버전에서 오른쪽 클릭(트랜패드는 양 손가락 클릭?)을 하면 나오는 메뉴에서 Show in Finder를 클릭합니다.


99e6d756332b19dfc4090ad70cb551fe_1547085303_4887.png

그러면 보이는 xcarchive파일에서 마우스 오른쪽을 눌러 나오는 메뉴에서 패키지 내용 보기를 클릭합니다.


99e6d756332b19dfc4090ad70cb551fe_1547085303_5827.png
여기에 dSYMs폴더가 있습니다!


원래는 Xcode에서 정석적인 방법을 사용하면.. crash파일이 자동으로 symbolicate되어야 하는 것 같으나..

저는 무슨 문제인지 그게 되지 않아


https://stackoverflow.com/questions/25855389/how-to-symbolicate-crash-log-xcode 


위의 글을 참고하여.. 에러가 발생한 부분이 어디서 발생했는지 찾아봤네요.


99e6d756332b19dfc4090ad70cb551fe_1547087274_0229.png
위 글에서 말한대로 필요한 파일들을 한 폴더에 넣고 명령어를 입력하면 됩니다.

자신의 앱.dSYM 파일을 dSYMs폴더에 잘 찾아보면 있습니다.

app파일도 xcarvhices안에 Products쪽에 찾아보면 있습니다.


99e6d756332b19dfc4090ad70cb551fe_1547087230_3377.png
 

xcrun atos -o Foo.app/Foo -arch arm64 -l 0xd7000 0x0033f9bb 


명령어 1줄 치면.. 입력한 주소가 어디 위치인지 뜹니다.




**참고

Organizer에서 Download Debug Symbols를 클릭하여 해당 버전의 심볼을 다운 받은 후에 

Devices & Simulators에서 .crash 확장자로 변경한 크래쉬 파일을 드래그 하고 로그 목록에서 마우스 오른쪽 클릭하여 나오는 메뉴에서 re-symbolicate를 누르면symbolicate가 되네요. ㅡ.ㅡ;;

(https://stackoverflow.com/questions/25855389/how-to-symbolicate-crash-log-xcode)


0 Comments