在Xcode 4中设置malloc_error_break

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

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

我认为这是如何完成的。

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

通常这是由于创build的对象是其他对象的子对象还不存在(即SKPhysicsBody是在它的spritenode存在之前创build的)

这就是断点button的样子:

在这里输入图像说明

这是左下angular的加号:

在这里输入图像说明

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

你也可以直接通过gdb命令窗口来完成。

 break malloc_error_break 

或在lldb:

 breakpoint set -n malloc_error_break 

要打开XCode 4中的debugging器命令窗口,点击右上angular“视图”上面的中间button,然后点击刚刚打开的底部debugging面板右上angular的中间button。 另请参阅input以在Xcode 4中进行控制