代码之家  ›  专栏  ›  技术社区  ›  Sauleil

带有dsym的iPhone崩溃日志未加载调试信息

  •  2
  • Sauleil  · 技术社区  · 16 年前

    我想知道为什么我的应用程序在设备(iPhone)上崩溃了,使用的是可执行文件生成的dsym(临时),但我不知道为什么,没有任何有用的信息。似乎“组织者”能够找到合适的DSYM,并将一些数据转换成更可读的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 回复  |  直到 16 年前
        1
  •  1
  •   ilapps    16 年前
        2
  •  0
  •   Sauleil    16 年前

    为了获取调试信息,经过多次不必要的重试之后,我决定从头开始创建一个新项目,并将所有内容重新添加到其中。现在一切正常。所以可能是某种隐藏的环境让它表现得像那样。我不知道那是什么,我还是很好奇。