I was trying to see why my application crashed on the device (iPhone) using the dSym generated along the executable (in ad hoc), but I don't know why, there isn't any useful information. It seems tha开发者_如何学JAVAt "Organizer" is able to find the appropriate dSym and translate some data into more readable one, but when it comes to my application, I just have an address.
Since I know how to reproduce it, I've tried to setup my build so it can help me in the future. So, I've tried to find if I had all the proper flags set int the project build properties and everything seems fine. So after doing some research, it seems that all information are stripped during link time and the dSym seems completely useless. I've played with some flags, but nothing changed.
So, is there something special to do in order to get the crash file human readable? Or is it impossible in the ad hoc setting? The closest thing near to work that I've done was to build a debug version and look up the address in it. At least it seems to give the right file. So, I made a sample app and here what I have: (the line I want is #4):
Thread 0 Crashed:
0 libobjc.A.dylib 0x00003ebc objc_msgSend + 20
1 UIKit 0x0005c970 -[UIView dealloc] + 60
2 UIKit 0x0005c840 -[UIImageView dealloc] + 76
3 CoreFoundation 0x0003963a -[NSObject release] + 28
4 MyApplication 0x000046a6 0x1000 + 13990
5 UIKit 0x00069750 -[UIViewController view] + 44
6 MyApplication 0x000053fa 0x1000 + 17402
The crash is made using 2 successive releases on an object.
Thanks in advance.
I have found this helpful:
http://www.anoshkin.net/blog/2008/09/09/iphone-crash-logs/
After many infructuous retries in order to get the debug information, I decided to create a new project from scratch and re-add everything into it. And now it works fine. So it was probably some kind of hidden settings somewhere that was making it behave like that. I don't know what it was and I'm still curious about it.
精彩评论