简体   繁体   中英

Symbolicating iOS crash dump: symbols not found

I'm trying to symbolicate a crash dump for an iOS app buit using Xamarin.iOS. I am seeing a lot of warning about not being able to find symbols for system binary images such a Foundation, and the output from symbolicate is ultimately missing most of the information that I need.

I'm following the process described here . I have put MyApp.app, MyApp.app.dSYM, and the crash log into a directory and run symbolicate -o crash.txt "crashreport.crash" "MyApp.app" . The output crash.txt contains no symbols, and I see a lot of errors in the symbolicate console output. For example:

Finding Symbols:
.fetching symbol file for Foundation--[undef] 
Searching []...-- NO MATCH
Searching in Spotlight for dsym with UUID of e596bd80bcc83f15aca36a7ef014f457
Running mdfind "com_apple_xcode_dsym_uuids == E596BD80-BCC8-3F15-ACA3-6A7EF014F457"
@dsym_paths = (  )
@exec_names = (  )
Did not find executable for dsym
## Warning: Can't find any unstripped binary that matches version of /System/Library/Frameworks/Foundation.framework/Foundation

The full output is at http://pastebin.com/W1KP1iTR

I have used dwarfdump to verify that the UUID in MyApp.pSYM is the same as the one in the crash dump.

I'm using Xamarin studio 5.7.1 on with xcode 6.1.1.

Can anyone suggest what is going wrong here?

Apple's symbolicate tool requires that you add all executables and mach-o binaries to Spotlight database prior to querying for symbols.

This of course a tedious job that is required. I could never find how to remove it from the index, or to know what the queue has been completed and the binary with its UUIDs are indexed.

Plug: I wrote this symbolicate-pro tool.

Here's a program I wrote for TestFairy (the company). It's called symbolicate-pro and it has a few key differences that Apple's symbolicate:

  1. It does not require any indexing.
  2. You can specify directories where your iOS symbols are located.
  3. It's 10x faster.
  4. And if you get otool compiled for another OS, it can run on other platforms than Mac.

TestFairy uses it for its production and is updating when iOS changes the crash reports.

You can find it on github at: https://github.com/testfairy/symbolicatecrash-pro

Hope this helps ;)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM