如何"在malloc_error_break中设置一个断点来调试"

ope*_*rog 114 iphone ios

我没有应用程序崩溃,我得到了很多这样的控制台输出:

malloc:*对象0xc6a3970的错误:未释放指针被释放*在malloc_error_break中设置断点以进行调试

如何找出受影响的对象或变量?

我尝试设置这样的符号断点,但它永远不会停止:

在此输入图像描述

And*_*sen 124

通过打开断点导航器(View-> Navigators-> Show Breakpoint Navigator或⌘7​​),单击左下角的加号按钮,然后选择"Add Symbolic Breakpoint",在malloc_error_break()上设置断点.在弹出的弹出窗口中,输入malloc_error_break符号字段,然后单击完成.

编辑:openfrog添加了一个截图,并表示他我发布我的答案已经尝试过这些步骤而没有成功.有了这个编辑,我不知道该说些什么.我没有看到自己无法工作,事实上我总是在malloc_error_break集上保留一个断点.

  • 这对我有用(没有模块).问题的原因是我有一个文件支持的`UIImage`,我用不同的图像覆盖了文件.当我在原始图像上调用"UIImagePNGRepresentation"时(而不是实际覆盖文件时),这会导致错误. (2认同)

Vin*_*zzz 44

在屏幕截图中,您没有指定任何模块:尝试设置"libsystem_c.dylib"

在此输入图像描述

我做到了,它的工作原理:断点在这里停止(虽然堆栈跟踪经常从一些不起眼的系统lib中升起......)

  • 看起来iOS中的模块名称不同,它是:`libsystem_malloc.dylib`.断点适用于我而无需指定模块. (7认同)

小智 5

我和Xcode有同样的问题.我按照你给出的步骤,但没有奏效.我变得疯狂,因为在我看到的每个论坛中,这个问题的所有线索都是你给出的.我终于看到我在malloc_error_break之后放了一个空格,我压制了它,现在它起作用了.一个愚蠢的问题,但如果解决方案不起作用,请确保您没有在malloc_error_break之前和之后放置任何空格.

希望这条消息有所帮助..