Symbolicate adhoc iphone app crashes

不想你离开。 提交于 2019-12-02 16:50:42

I've been struggling with this for several days and finally figured it out. I wasn't able to get symbolicated logs from any Archived application I installed to my phone. For me, it was a problem with the build settings, although I did notice that it was able to symbolicate logs from some older builds as well after I followed these steps. YMMV may vary with crash logs from older builds. I was able to get symbolicated logs after following these steps in Xcode 4.0.1 on iOS 4.3.1.

In the Xcode Project navigator, click on your project and then click Build Settings. When you archive your application, Xcode uses the Release configuration by default. You'll want to set the following values for the Release configuration only, so you'll have to expand any settings that aren't already expanded to allow you to set it on a per-configuration basis.

Ensure these values are set for the Release configuration:

  • Generate Debug Symbols: Yes
  • Debug Information Format: DWARF with dSYM File
  • Deployment Postprocessing: Yes
  • Strip Linked Product: Yes
  • Use Separate Strip: Yes
  • Strip Debug Symbols During Copy: No
  • Strip Style: All Symbols

Once those are set, Archive and reinstall your application. New crash reports generated from the resulting archive should be symbolicated correctly. For me, many old crash reports also symbolicated correctly after following these steps although I'm not sure how accurate the results would be if the builds were very different.

For reference, I figured all this out after studying this page: http://developer.apple.com/tools/xcode/symbolizingcrashdumps.html

I also found this page, which is handy if you're trying to figure out what a particular build setting does: http://developer.apple.com/library/mac/#documentation/DeveloperTools/Reference/XcodeBuildSettingRef/1-Build_Setting_Reference/build_setting_ref.html

Hope this helps!

Dan

In order to symbolicate your crash report, try this approach:

(a) Locate the symbolicator (/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash)

(b) Open Terminal and drag this file (so that the path gets copied correctly)

(c) Run a command like /Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatorcrash .crash .app (mention the whole path of the crash report and the app file)

(d) Symbolicated crash report will show up

Naveen Shan

Steps to analyze crash report from apple:

  1. Copy the release .app file which was pushed to the appstore, the .dSYM file that was created at the time of release and the crash report receive from APPLE into a FOLDER.

  2. OPEN terminal application and go to the folder created above (using CD command)

  3. atos -arch armv7 -o '(your .app file name here)'/'(.dSYM filename here)' (memory location in the crash report where the crash occured). The memory location should be the one at which the app crashed as per the report.

Ex : atos -arch armv7 -o 'app name.app'/'app name' 0x0003b508

This would show you the exact line, method name which resulted in crash.

Thanks

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