objective-c - 如何调试 EXC_BAD_ACCESS 错误

标签 objective-c xcode lldb

我收到一个错误

EXC_BAD_ACCESS 代码=2 at0xb0987654

我想知道如何打印出 0xb0987654 处的值?

最佳答案

要调试 EXC_BAD_ACCESS,通常可以通过启用僵尸对象来找出悬挂指针的位置。

Xcode

Product > Scheme > Edit Scheme

然后,如下配置👇🏼 enable zombie objects

应用代码

选择编辑目标,并添加以下环境变量:

NSZombieEnabled=YES

EXC_BAD_ACCESS 的另一个原因可能是无限递归,这可以通过添加一些日志记录找到。

C++ 更新:

要使用 Clang 编译器调试 C++ 中的悬挂指针,请尝试使用 Address Sanitizer (ASAN)来自谷歌。

关于objective-c - 如何调试 EXC_BAD_ACCESS 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19740200/

相关文章:

iphone - 在 RSA 解密中将 uint8_t 转换为 NSString

objective-c - 访问数组中对象的属性

objective-c - 如何避免 NSTokenField 中的 token 被删除

xcode - LLDB 在 Swift Xcode 项目中抛出自动导入错误

macos - Cocoa 应用程序尝试在崩溃时启动 lldb?

ios - 如何在 LLDB 调试器中打印 C 变量?

ios - 如何在 Objective C 中显示另一个之前关闭一个呈现的 UIAlertController

ios - Xcode 中的库未加载问题

ios - 设置 NSNumber 属性时与 exc_bad_access 相关的核心数据有什么解决方案吗?

iphone - 如何在UiView中拖动UIBezierPath