在Xcode 4中设置malloc_error_break

Man*_*man 20 iphone xcode ios

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

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

Man*_*man 53

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

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

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


Fra*_*ano 14

这是断点按钮的样子:

在此输入图像描述

这是左下角的加号:

在此输入图像描述

伙计,我花了一段时间找到他们两个!

  • 来吧,伙计.对于那些总是通过鼠标/键盘快捷键设置断点的人来说,这是新的东西.不是每个人都知道. (3认同)

man*_*ged 5

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

break malloc_error_break
Run Code Online (Sandbox Code Playgroud)

或在 lldb 中:

breakpoint set -n malloc_error_break
Run Code Online (Sandbox Code Playgroud)

要在 XCode 4 中打开调试器命令窗口,请单击右上角“查看”上方的中间按钮,然后单击刚刚打开的底部调试窗格右上角的中间按钮。另请参阅Xcode 4 中的控制台输入