Reputation: 14605
I have a crash report from BugSense, so I have information on the memory location of crashes but they are not symbolicated. Also Bug Sense does not send traditional crash reports but still gives me a bugtrace. So I am trying to use Atos to get the exact location of my crashes. I have archived the app in XCode 4 and used that version to submit to the app store, so I have a dSYM file. I have run the following code:
atos -arch armv7 -o MyApp.app.dSYM 0x001057e9
However, instead of getting the proper output, I am receiving an error:
atos cannot load symbols for the file MyApp.app.dSYM for architecture armv7
Any suggestions as to why this might be happening? I am not stripping debug symbols from the app.
Upvotes: 38
Views: 26376
Reputation: 41
You have to get the right address. You can use the solution above but you must use hex math to get the right memory address. slide + stack address - load address.
Upvotes: 4
Reputation: 14605
To properly get symbols from your archived app's dSYM file and get useful information from your BugSense crash reports (or any other crash reports for that matter):
atos
and symbolicate your stack trace.~/Library/Developer/XCode/Archives/YYYY-MM-DD/
dSYMs
folderMyApp.app.dSYM
and you may think, this is the file that I should run atos
against! This is incorrect. It is actually another package! cd
into this package, into the folder: MyApp.app.dSYM/Contents/Resources/DWARF
and you will find another file simply called MyApp
. This is the actual dSYM file.atos -arch armv7 -o MyApp 0x0000000
(or whatever the memory address is) to find the location of your error, or simply atos -arch armv7 -o MyApp
to enter interactive mode.Upvotes: 107