2

我试图使用沿可执行文件(临时)生成的 dSym 来查看为什么我的应用程序在设备(iPhone)上崩溃,但我不知道为什么,没有任何有用的信息。似乎“组织者”能够找到合适的 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 个连续版本进行的。

提前致谢。

4

2 回答 2

1

我发现这很有帮助:

http://www.anoshkin.net/blog/2008/09/09/iphone-crash-logs/

于 2010-05-05T21:17:22.987 回答
0

为了获得调试信息而进行了多次徒劳的重试后,我决定从头开始创建一个新项目并将所有内容重新添加到其中。现在它工作正常。所以它可能是某种隐藏的设置让它表现得像这样。我不知道它是什么,我仍然对它很好奇。

于 2010-05-06T19:32:19.137 回答