xcode - How to symbolicate Mac OSX crash reports issued by Apple? -


for ios crash reports, sufficient drag , drop crash report organizer.

symbolicating iphone app crash reports

but method doesn't work mac osx crash reports.

how can symbolicate mac osx crash report ?

thanks !!

you can use atos command line number app crashed.

heres quick guide:

  1. create directory working files
  2. open xcode, select window->organizer, goto archive tab , find version of app experienced crash.
  3. right click on app archive , select "show in finder"
  4. right click on .xarchive, select "show contents" , find appname.dsym directory , app , copy them working folder
  5. copy stack trace working folder
  6. open terminal , change working folder. ls should show yourapp.app yourapp.app.dsym stacktrace.txt
  7. open stack trace in textedit. going need find code type header (system architecture - eg. x86-64) , addresses of crash. search through threads find 1 crashed (it "thread 2 crashed") find objects. need 2 addresses (hex numbers) line code line.
  8. once you've got information need run following in terminal:

    atos -o yourapp.app/contents/macos/yourapp -arch x86_64 -l [load-address] [address]

for example, heres extract stacktrace:

process:         myapp [228] path:            /applications/myapp.app/contents/macos/myapp identifier:      uk.co.company.app version:         1.0 (1) app item id:     774943227 app external id: 218062633 code type:       x86-64 (native) parent process:  launchd [154] responsible:     myapp [228] user id:         501  date/time:       2013-12-17 10:20:45.816 +0100 os version:      mac os x 10.9 (13a603) report version:  11 anonymous uuid:  7aa662b1-7696-a2c5-af56-9d4ba2ce9515   crashed thread:  2  exception type:  exc_crash (sigabrt) exception codes: 0x0000000000000000, 0x0000000000000000  <snip>  thread 2 crashed: 0   libsystem_kernel.dylib          0x00007fff8b95a866 __pthread_kill + 10 1   libsystem_pthread.dylib         0x00007fff8bf4f35c pthread_kill + 92 2   libsystem_c.dylib               0x00007fff87571bba abort + 125 3   libsystem_malloc.dylib          0x00007fff897ae093 free + 411 4   uk.co.company.app           0x0000000103580606 0x10356e000 + 75270 5   uk.co.company.app               0x00000001035803da 0x10356e000 + 74714 6   com.apple.foundation            0x00007fff8d00970b __nsthread__main__ + 1318 7   libsystem_pthread.dylib         0x00007fff8bf4e899 _pthread_body + 138 8   libsystem_pthread.dylib         0x00007fff8bf4e72a _pthread_start + 137 9   libsystem_pthread.dylib         0x00007fff8bf52fc9 thread_start + 13 

i can see "code type" x86_64, thread 2 crashed, , on line 4 code running have addresses need. using information run following:

$ atos -o myapp.app/contents/macos/myapp -arch x86_64 -l 0x10356e000 0x0000000103580606 

this returns:

got symbolicator myapp.app/contents/macos/myapp, base address 100000000 obj_free (in myapp) (somefile.c:135) 

telling me app crashed @ line 135 of somefile.c


Comments