Symbolicating an iOS 7 crash report using Flurry Crash Analytics

扶醉桌前 提交于 2019-12-05 01:43:53

I noticed that in order to be able to drag the Flurry crash report to XCode Organizer you need to:

  1. Rename the file to .crash
  2. Add an incident identifier line at the top of the report. This looks like a GUID so you can put anything unique or generate one online, e.g.

    Incident Identifier: D1D6CA1F-EC87-4677-9366-401BE050B2C8

  3. Add iOS and Crash Report version lines (just above the Exception Type), e.g.

    OS Version: iOS 7.1.1 (11D201)

    Report Version: 104

  1. <redacted> is an iOS optimization for system symbols only.
  2. Uploading your app dSYM doesn't change a thing, since that only contains the app symbols, not the iOS system symbols of the required cpu architecture.
  3. To symbolicate those locally you need to have the exact system symbols or the iOS version and architecture that created the crash.
  4. Using atos to symbolicate a system symbol with your app binary/dSYM doesn't work (as mentioned above)
  5. Getting a symbol by only passing in the address in the stack frame, never works, you also need to pass the load address of the corresponding binary (which can be found in the binary images section, the first address in the line of the binary)
  6. In your atos example you are trying an address which already shows proper symbols in the stack trace.
  7. Dragging the crash report into the Xcode organizer should already symbolicate the report if you have the symbols available and you won't have to do the manual steps.
  8. It looks like that Flurry doesn't have the iOS symbols on their server to resolve those symbols themselves.

So an example for 0x3a99ed7b of the libdispatch.dylib library would be:

xcrun atos -arch armv7 -o PathToLibrary -l LoadAddressOfLibrary 0x3a99ed7b

The root path for the iOS symbols on your Mac is: ~/Library/Developer/Xcode/iOS DeviceSupport/` with a subdirectory for each iOS version.

So the simple solution: drag the crash report into the Device Logs entry in the Xcode organizer and hope you have everything required. If that doesn't remove at least some of the <redacted> strings, you are missing the iOS symbols and the manual steps won't work either.

this worked for my flurry logs http://ipartymobile.com/how-to-find-your-bug-from-ios-crash-logs/ didn't have to add anything to crash report, just took memory addresses and plugged in to this format “xcrun atos -arch armv7 -o MyApp 0x0000000"

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