在Xcode 4中设置malloc_error_break

时间:2011-08-06 22:32:23

标签: iphone ios xcode

如何在Xcode4中设置malloc_error_break?此外,我似乎收到此错误malloc: *** error for object 0x4d80814: incorrect checksum for freed object - object was probably modified after being freed.

无论如何我可以检查0x4d80814是什么对象?它不会显示在调试器的变量列表中。

3 个答案:

答案 0 :(得分:53)

我认为这就是它的完成方式。

  • 单击左侧栏顶部的断点导航器(看起来像一个标志杆) XCode 4。
  • 在左下角有一个加号。点击它。
  • 添加符号断点并将malloc_error_break设置为符号。
  • 单击下一个断点按钮(看起来像|>)并位于底部面板上。它会将您带到导致错误的行。

通常它是由于对象被创建为其他对象尚未存在的对象(即SKPhysicsBody在其spritenode存在之前创建)引起的。

答案 1 :(得分:14)

这是断点按钮的样子:

enter image description here

这是左下角的加号:

enter image description here

男人,我花了一段时间找到他们两个!

答案 2 :(得分:4)

您也可以直接通过gdb命令窗口执行此操作。

break malloc_error_break

或在lldb:

breakpoint set -n malloc_error_break

要在XCode 4中打开调试器命令窗口,请单击右上角“视图”上方的中间按钮,然后单击刚刚打开的底部调试窗格右上角的中间按钮。另请参阅Input to console in Xcode 4