如何在崩溃日志中包含崩溃的原因?

时间:2017-05-02 04:45:26

标签: ios xcode exception assertion crash-log

当我的应用程序在连接到Xcode时崩溃,我获得了调试和修复问题所需的所有信息。但是当应用程序在没有连接到Xcode时崩溃时,我不知道是否是无解包,断言失败或异常。

在后两种情况下,断言或异常消息也会丢失。

如何让Xcode在崩溃日志中包含此信息?

我有"在复制过程中剥离调试符号"和#34;剥离链接产品"设置为NO,调试版本的调试信息格式使用dSYM设置为DWARF。是的,我在手机上安装了调试版本。我得到一个符号化的堆栈跟踪,但不是上面的信息。

案例1:解开零:该行"致命错误:在展开可选值时意外发现nil"崩溃日志中缺少。

案例2:断言失败:如果我有:

assert(level > 2, "Level should've been at least 2")

"等级应至少为2"不会出现在崩溃日志中。有时,它甚至没有说它因断言失败而崩溃(与其他原因相反)。

案例3:例外:缺少以下异常消息:

  

由于未捕获的异常终止应用程序' NSGenericException',   原因:' *** - [AVCaptureDevice setTorchMode:]可能无法调用   没有首先成功获得该设备的独家所有权   使用-lockForConfiguration:'

有时,它甚至没有说它因异常而崩溃(与其他原因相反)。

如果没有连接到Xcode,如何在连接到Xcode时获得崩溃时获得的所有信息,我该如何崩溃?

1 个答案:

答案 0 :(得分:0)

最好的方法是使用分析工具。看看Fabric