OS X Crash Log Symbolication

自古美人都是妖i 提交于 2019-12-03 03:16:51
w00t

If you have a stack trace; for example:

0   com.your_app        0x00000001016191e0 0x1015fb000 + 123360
1   com.your_app        0x000000010161509d 0x1015fb000 + 106653
2   com.your_app        0x00000001016147b9 0x1015fb000 + 104377
3   com.your_app        0x000000010161df81 0x1015fb000 + 143233`

Try the following:

atos -o YOUR_APP.app.dSYM/Contents/Resources/DWARF/YOUR_APP -l 0x1015fb000 0x00000001016191e0 0x000000010161509d 0x00000001016147b9 0x000000010161df81`
Parag Bafna

You can use GDB for Symbolication, Put your release build and your .dSYM file in the same directory open terminal

$ cd directory
$ gdb MyApp.app
(gdb) info line *0x00085f3c  

or you can use atos as suggested by trojanfoe

$cd directory
$atos -o MyApp.app/Contents/MacOS/MyApp
info 0x00085f3c

or

$ cd directory
$ lldb MyApp.app
(lldb) image lookup -v --address 0x1ec4
Lukas Neumann

We had the same problem with our app and I was symbolicating the crash reports manually line by line with atos.

I now tweaked Apple's symbolicate script such that it works with Mac apps and crash reports from PLCrashReporter.

https://github.com/lksnmnn/Symbolicate-CrashReports

How to use it:

Make sure you have all of the following files on your computer:

  1. The crash report: report.crash
  2. The dSYM file of your app: MyApp.dSYM
  3. The executable / app folder of your app: MyApp.app
  4. The improved symbolicate script: symbolicatecrash

Now go in the command line (Terminal) and do the following:

# set the developer directory
export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"

# Now run the script
/Path/To/symbolicatecrash /Path/To/report.crash > /Path/To/readable_report.crash

# Use -v for verbose logging.

The script will find your dSYM and your executable and symbolicates as much as it cans. You will now find your symbolicated report in the stated output file readable_report.crash

Build settings:

For proper reports and symbols, set your build settings to this:

Strip Debug Symbols During Copy: Yes
Strip Style: All Symbols
Strip Linked Product: Yes

I've used MacSymbolicator and Xsymbolicate in cases where I had a dsym and crash report file. They did the job for simply needs, though Xcode's built in crash reporting support has also gotten better, at least for apps sold in the App Store.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!