我试图了解为什么我的应用程序使用沿可执行文件生成的dSym(在ad hoc中)在设备(iPhone)上崩溃,但我不知道为什么,没有任何有用的信息。似乎“Organizer”能够找到合适的dSym并将一些数据转换为更易读的数据,但是当涉及到我的应用程序时,我只有一个地址。
由于我知道如何重现它,我已经尝试设置我的构建,以便它可以在将来帮助我。所以,我试图找到我是否在项目构建属性中设置了所有正确的标志,一切似乎都很好。因此,经过一些研究,似乎所有信息都在链接时被剥离,而dSym似乎完全无用。我玩过一些旗帜,但没有改变。
那么,为了使崩溃文件具有人类可读性,有什么特别的事吗?或者在临时设置中是不可能的?我最接近工作的是建立一个调试版本并在其中查找地址。至少它似乎给出了正确的文件。所以,我制作了一个示例应用程序,在这里我拥有的内容:(我想要的行是#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
在对象上使用2个连续版本进行崩溃。
提前致谢。
答案 0 :(得分:1)
答案 1 :(得分:0)
为了获得调试信息,经过多次重复的重试后,我决定从头开始创建一个新项目并重新添加所有项目。现在它工作正常。所以它可能是某种隐藏的设置,使其表现得像那样。我不知道它是什么,我仍然很好奇。