How to symbolicate crash report from Apple received in .txt format not .crash format
Asked Answered
S

5

19

My app got rejected from Apple and I have got crash reports in .txt format instead of .crash format.

How can I symbolicate or read the crash report ?

Skillet answered 8/11, 2016 at 5:47 Comment(3)
Same here, all other SO posts talk about .crash files. I can't seem to drag and drop the .txt crash log file provide by iTunes Connect into the "View Device Logs" console in Xcode... @Skillet did you ever find an answer?Chimerical
@Chimerical just manually change the .txt extension to .crash and then save the file. The .txt file then gets converted to .crash and you can proceed with reading the crash report. Hope this helps.Skillet
thanks for the tip. I tried this but Xcode still wouldnt symbolicate the file auto matically so I had to do it manually with the atos command following apple's guide. It works just take a while to do it line by line... developer.apple.com/library/content/technotes/tn2151/…Chimerical
T
50

When you get your crash report as a .txt file just follow these steps :

  1. Change the file extension .txt to .crash (eg mycrash.txt to mycrash.crash).

  2. Create a new folder in desktop and copy the mycrash.crash file to the newly created folder.

  3. Copy the .dSYM file:

    • update: download all DSYMs from appstoreconnect activity- they are properly named with their UUIDs
    • Unzip DSYMs, then copy the App and Sybolicate script as defined below: https://appstoreconnect.apple.com/WebObjects/iTunesConnect.woa/ra/ng/app/[appID]/activity/ios/builds/[version]/[build]/details
  4. Open the Archives window in Xcode by navigating the menus: xcode -> window -> orgnizer or xcode -> product -> Archive:

    • Select any Archives of your app Right click on it, then select Show in Finder

    • Right-click on appname.xcarchive and select Show Package Contents.

    • Open the dSYMs folder and get the .dSYM file, and paste it too in the newly created folder.

    • Copy the .app file from the same xcarchive to the new folder.

  5. Go to path /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/

    • Finder hotkey (⇧ + ⌘ + G) and just paste in the path.
  6. Copy the symbolicatecrash file to the newly created folder.

    The folder should now have:
    • mycrash.crash
    • myapp.app
    • myapp.app.dSYM
    • symbolicatecrash
  7. Open terminal, navigate to your folder path and then run:
    $ export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"

  8. Then run the symbolicate command on your crash like so:
    $ ./symbolicatecrash mycrash.crash > symbolicated.crash

Tomsk answered 20/7, 2017 at 7:16 Comment(3)
when viewing 'show package contents' there is no .app file anywhere.Iaea
Point 3 and 4 are confusing. Why are we reading dSYM's from two locations?Guarino
The reason is, that some apps include bitcode and some don't. This should be explained in the answer. If your app includes bitcode, Apple will rebuild it before sending it out to customers. The rebuild changes the dSYMs, so in those cases you have to download the most recent versions before continuing.Weeny
B
12
  1. Change the file extension .txt to .crash
  2. Make sure your device is plugged in.
  3. Go to xcode -> window -> devices and simulators -> view device logs.
  4. Drag the file that of the crash log and drag it to the left side of that windows.
  5. Now you can see the log and what happen there.
Bagnio answered 5/11, 2018 at 10:0 Comment(2)
make sure you have a device plugged in to get the option to view device logs; this was way easier than the accepted answer thoughRictus
it's not symbolicatedSidran
M
4

Can't add a comment to Shakti's answer, but I had trouble with steps 5 and 6 as it was complaining about DEVELOPER_DIR not being specified.

Some googling later I found out that the part 5 should have been:

5 now open terminal cd your folder path and then type this

export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"

So, the "export" is also a keyword and a part of the command, just in case anyone else gets the same problem.

Mar answered 6/2, 2018 at 13:29 Comment(0)
D
4

It worked for me ,might help some one else also

Apple gives you crash log in .txt format , which is unsymbolicated

**

With the device connected

**

  • Download ".txt" file , change extension to ".crash" enter image description here
    • Open devices and simulators from window tab in Xcode
    • select device and select device logs
    • drag and drop .crash file to the device log window

enter image description here

We will be able to see symbolicated crash logs over there

Please see the link for more details on Symbolicating Crash logs

Danilodanio answered 16/12, 2019 at 10:38 Comment(3)
Does not work. This is simple solution and should work, but it does not work.Guarino
Make sure u use the same iPad used for development . Surprisingly it worked for me . If anyone struggling on symbolicating logs , they can give a try with this methodDanilodanio
I have followed the same solution and I can find the sourcode view controller names and method names instead of hexadecimal codes. Thank you for the solution.Shanleigh
M
-2

By dragging the .crash file in organiser was not completely symbolicating my crash. So i tried another way of doing it.

If archived builds is already on your computer. Then you don't need to give .app and dsym file. Just run below commands in terminal.

export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"

Hit enter

    /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash /Your/Crash/File/Path/c.crash > /Your/Symbolicated/Crash/File/Path/c.crash

Hit enter and check the path you have given.

Mediant answered 21/5, 2020 at 23:20 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.