I have a MonoTouch app that I built in debug and uploaded to the device. I ran the app in the debugger and the app died without the debugger catching anything. I have a .crash log for it. I ran:
symbolicatecrash myapp.cr开发者_Python百科ash myapp.dSYM
It got symbol information for Apple stuff like CFRunLoopRunInMode and UIApplication, but not for anything in my program.
Is there a different way I need to symbolicate MonoTouch crash logs?
We had this same problem and we created a work around...
When we ran symbolicatecrash with the -v parameter (verbose) we saw it was complaining about not having a binary file inside the dSYM package. So we manually copied the binary file from within the app package into the dSYM package and that worked. Something like [MyProject].app/[MyProject] to [MyProject].app.dSYM/[MyProject].
We then created this as a Custom Command to run After Build:
cp ${TargetDir}/${ProjectName}.app/[MyProject] ${TargetDir}/${ProjectName}.app.dSYM/${ProjectName}
Note the [MyProject] portion as the binary created in the app package is a different name than the project name for us for some reason.
Now all builds symbolicate fine from terminal and within Xcode organizer. I hope there's a less band-aid way, but we were in a time crunch and this worked.
I had this problem and posted a patched version of symbolicatecrash to github. Replace /usr/local/bin/symbolicatecrash with this and you should be back in business.
tholsens answer is correct but when using Xcode >=4.3 (which is installed as an application) you need to run xcode-select first:
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
Otherwise you'll get strange errors like 'does not contain slice armv6', etc.
精彩评论