140

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

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

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

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

在此处输入图像描述

4

5 回答 5

148

通过打开断点导航器(视图->导航器->显示断点导航器或⌘8),单击左下角的加号按钮,然后选择“添加符号断点”,在 malloc_error_break() 上设置断点。在出现的弹出窗口中,malloc_error_break在符号字段中输入,然后单击完成。

编辑:openfrog 添加了一个屏幕截图,并表示在我发布答案后他已经尝试了这些步骤但没有成功。有了那个编辑,我不知道该说什么。我还没有看到自己无法正常工作,实际上我总是在 malloc_error_break 集上保留一个断点。

于 2012-12-26T19:31:26.213 回答
48

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

在此处输入图像描述

我这样做了,它起作用了:断点在这里停止(尽管堆栈跟踪通常来自一些晦涩的系统库......)

于 2013-09-03T13:49:54.890 回答
6

我对 Xcode 也有同样的问题。我按照您提供的步骤进行操作,但没有成功。我疯了,因为在我看到的每一个论坛中,这个问题的所有线索都是你提供的。我终于看到我在 malloc_error_break 之后放了一个空格,我压制了它,现在它可以工作了。一个愚蠢的问题,但如果解决方案不起作用,请确保您没有在 malloc_error_break 之前和之后放置任何空间。

希望这个消息会有所帮助..

于 2013-04-19T08:55:39.430 回答
4

我已经授予了我不应该在某些文件夹中写入的权限(尤其是 /usr/bin/),这导致了问题。我通过打开磁盘工具并在 Macintosh HD 磁盘上运行“修复磁盘权限”来修复它。

于 2014-07-16T07:52:15.173 回答
2

我通过近距离的野生动物园检查员解决了它。参考我的帖子。当我运行我的应用程序进行测试时,有时我也会发现声音,然后我打开带有自动检查器的 safari,之后,我在我的应用程序中执行了一些操作,然后触发了这个问题。

在此处输入图像描述

于 2017-05-10T07:54:18.183 回答