gpt4 book ai didi

iphone - EXC_BAD_ACCESS 在设备上,但在模拟器上正常

转载 作者:行者123 更新时间:2023-12-03 19:37:46 24 4
gpt4 key购买 nike

我有一个 ScrollView 应用程序,它在模拟器上运行良好,但是,当安装在设备上时,当我尝试滚动一页时,它会给我一个 EXC_BAD_ACCESS 。我已经通过具有分配和泄漏的仪器运行了它,但没有任何泄漏,也没有发送僵尸消息......我只是好奇什么会导致模拟器与设备之间存在如此大的差异?由于我的符号化崩溃日志(下面部分),任何调试此问题的方法似乎都不是非常符号化。

异常类型:EXC_BAD_ACCESS (SIGBUS)
异常代码:KERN_PROTECTION_FAILURE 位于 0x0000000f
崩溃的线程:0

线程 0 崩溃:
0 libobjc.A.dylib            0x0000286e objc_msgSend + 18
1 我的应用程序                       0x00004fee 0x1000 + 16366
2 UIKit                         0x000668f4 -[UIViewController View ] + 104
3 我的应用程序                     0x00009716 0x1000 + 34582
4 我的应用程序                     0x0000960c 0x1000 + 34316
5 UIKit                         0x0001426c -[UIScrollView setContentOffset:] + 344

谢谢

最佳答案

模拟器中的代码可能存在错误,但幸运的是您取消引用的指针不在未映射的内存中,因此不会触发 EXC_BAD_ACCESS。指针可能是坏的,并且被访问,但未被检测到——这仍然是一个错误。

您已经检查过没有收到僵尸消息,这是我的第一个建议。

下一步要做的是启用 Guard Malloc - 然后阅读本文

http://developer.apple.com/iphone/library/documentation/Performance/Conceptual/ManagingMemory/Articles/MallocDebug.html

您只能在模拟器中执行此操作 - 您的目标是使用超敏感堆使错误在模拟器中抛出 EXC_BAD_ACCESS。

文章中:

  1. 看看如何在GDB中设置变量
  2. 阅读“检测堆损坏”部分

关于iphone - EXC_BAD_ACCESS 在设备上,但在模拟器上正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3583728/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com