如果没有我的应用程序崩溃,我会收到很多这样的控制台输出:
malloc: *对象0xc6a3970的错误:被释放的指针不是 assigned * 在malloc_error_break中设置断点以进行调试
如何找出受影响的对象或变量?
我尝试设置这样的符号断点,但它永远不会停止:
答案 0 :(得分:120)
通过打开断点导航器(View-> Navigators-> Show Breakpoint Navigator或⌘7),单击左下角的加号按钮,然后选择“添加符号断点”,在malloc_error_break()上设置断点。在弹出的弹出窗口中,在符号字段中输入malloc_error_break
,然后单击完成。
答案 1 :(得分:42)
在屏幕截图中,您没有指定任何模块:尝试设置“libsystem_c.dylib”
我做到了,它确实有效:断点在这里停止 (虽然堆栈跟踪经常从一些不起眼的系统lib中升起......)
答案 2 :(得分:5)
我遇到了与Xcode相同的问题。我按照你给的步骤进行操作,但是没有用。 我变得疯狂,因为在我看到的每个论坛中,这个问题的所有线索都是你给出的。 我终于看到我在malloc_error_break之后放了一个空格,我压制了它,现在它起作用了。 一个愚蠢的问题,但如果解决方案不起作用,请确保您没有在malloc_error_break之前和之后放置任何空格。
希望这条消息有所帮助..
答案 3 :(得分:4)
我已经授予了权限,我不应该在某些文件夹中写入(特别是/ usr / bin /),这导致了问题。我通过打开“磁盘工具”并运行“修复磁盘权限”来修复它。在Macintosh HD磁盘上。
答案 4 :(得分:2)
我通过近距离野生动物园检查员解决。请参阅我的 post 。当我运行我的应用程序进行测试时,我也发现了声音,然后我打开了自动检查器的safari,之后,我在我的应用程序中执行了一些操作,然后触发了此问题。