我遇到所有异常断点问题

时间:2020-01-01 02:10:54

标签: ios ipad breakpoints

我正在使用Objective-C编写iPhone / iPad应用程序。从我上一次编码(假期和家族事务)到现在已经有几个星期了。

今天,当我使用XCode构建和运行我的应用程序时,它在我的iPhone测试设备上运行良好,但在我的iPad测试设备上触发了“所有异常断点”。

血压没有立即触发;当我触摸第一个按钮时,它会在启动后发生。调查显示,启动后我碰到的任何按钮都会发生这种情况。进一步的测试表明,即使我不触摸任何按钮,也可能会在大约63秒的启动后崩溃。

XCode的崩溃报告如下所示:

libc++abi.dylib`__cxa_throw:
->  0x18c9c8b9c <+0>:   stp    x22, x21, [sp, #-0x30]!
    0x18c9c8ba0 <+4>:   stp    x20, x19, [sp, #0x10]
    0x18c9c8ba4 <+8>:   stp    x29, x30, [sp, #0x20]
    0x18c9c8ba8 <+12>:  add    x29, sp, #0x20            ; =0x20 
    0x18c9c8bac <+16>:  mov    x19, x2
    0x18c9c8bb0 <+20>:  mov    x20, x1
    0x18c9c8bb4 <+24>:  mov    x21, x0
    0x18c9c8bb8 <+28>:  bl     0x18c9c89c0               ; __cxa_get_globals

鉴于这是新的行为,我开始怀疑我在第一天构建之前对代码库进行的一些小更改。因此,我逐一支持这些更改,直到我的代码恢复原样为止。没有效果,BP仍然在iPad上触发。

我尝试了很多东西。我卸载并重新安装了该应用程序,然后从头开始重新启动了iPad。我什至回去恢复了我几周前上一次工作并保存它的开发环境。这些都没有改变发生的事情。

我已经将All Exceptions BP设置了很长时间。有人曾说过,这是捕捉稀有事物的好方法。这对我来说听起来不错,所以我先设置好然后忘记了。

好吧,我很好奇如果禁用BP并使其继续运行会导致崩溃的情况。

很棒!一切都按预期进行。

我仔细研究了一下,发现如果设置了BP并将其困住,然后我告诉代码继续,一切都很好。而且,如果我让BP保持禁用状态,则每次代码都可以正常运行。

因此,我对所有这些事情感到困惑,并且我讨厌将谜团抛在脑后。看来我的iPad测试设备上正在发生异常,并且如果我不使用BP捕获它,代码将继续运行,可以解决所有问题,并且一切都很好。

我知道作为一个堆栈溢出问题,整个查询是非常开放和通用的。但是我正在寻找一些关于可能发生的事情的想法,如果我犯了一个错误,那就是不去挖掘尝试以解决这种奇怪情况的根源。有想法吗?

0 个答案:

没有答案