我想知道是否可以设置Xcode来进行引用计数,如果“保留”和“释放”的数量不匹配则显示警告?
答案 0 :(得分:11)
使用Build>构建和分析命令,或cmd-shift-A。静态分析仪可以捕获该区域的许多错误。
答案 1 :(得分:5)
这就是乐器工具的用途。
对于更多的保留而不是发布:
当您不再引用某个对象时,泄漏会告诉您,但它仍然保留。
Object Alloc将在任何时间点显示系统中仍保留的所有对象。不要忘记,在你的程序结束之前不应该发布很多东西......所以除了Leaks案例之外,系统不可能知道你有多少留存。对于任何对象,对象alloc还可以显示保留和释放调用的完整历史记录。
如果你有更多的版本而不是保留版本,你会很快知道,因为应用程序会崩溃。在这种情况下,通过选择可执行文件“获取信息”打开“NSZombieEnabled”,然后在“常规”选项卡中输入环境变量“NSZombieEnabled”为“YES”。然后,当您尝试访问已释放的对象时,您将在日志中看到错误消息。它还可以帮助运行Object Alloc,并告诉它注意Zombies。不要留下僵尸检测,因为它永远不会释放内存。