我的应用程序运行良好,但是出现了问题,当我放置断点时,单步执行/跳过/恢复会导致程序崩溃,显示EXC_BAD_ACCESS错误。如果我去除/禁用断点,就不会发生这种情况。
有什么建议吗?
我的应用程序运行良好,但是出现了问题,当我放置断点时,单步执行/跳过/恢复会导致程序崩溃,显示EXC_BAD_ACCESS错误。如果我去除/禁用断点,就不会发生这种情况。
有什么建议吗?
根据我所看到的,LLDB在Xcode 4.2和4.2.1中似乎存在问题。请在“编辑方案”设置中切换到GDB。
切换到GDB后,断点将正常工作。
针对可能遇到的使用Xcode 5.0.1和Mavericks操作系统的人员: 尝试删除所有方案并重新创建它们 - 这对我有用。
这是XCode 5.0.1和Mavericks存在的一个bug。苹果发布了5.0.2版本,已经修复了这个bug!
我正在使用Xcode 4.3.2,而且Xcode自动更新调试工具为LLDB(弹出对话框并确认)。这真的是一场噩梦,当我进入任何函数调用时,它会在8-9次中有7-8次崩溃。
回退到GDB似乎现在更好了!
EXC_BAD_ACCESS
表示您在某个地方存在内存问题 - 很可能是当您期望它仍然存在时释放了某些东西(可能是 autorelease
的结果)。运行 静态分析器 来查找它。我想您看到崩溃是因为调试器在加载断点时积极占用内存,从而标记了其他地方的问题。
说句实话,我也遇到了同样的问题。 我可以使用我知道正确的代码,并且如果我使用lldb进入它并达到断点后,它会崩溃。当我尝试打印任何本地变量时,我也会得到这样的输出。
(lldb) p self
error: use of undeclared identifier 'self'
error: 1 errors parsing expression
看起来 Xcode 4.2.1 中的 lldb 出了问题。我唯一的建议是暂时切换回 gdb。