Objective c 帮助诊断Cocoa框架中的崩溃-可能的内存泄漏?

Objective c 帮助诊断Cocoa框架中的崩溃-可能的内存泄漏?,objective-c,cocoa,frameworks,nsdocument,Objective C,Cocoa,Frameworks,Nsdocument,我目前正在开发一个从只支持GC的环境到支持GC的框架。工作完成后(或者我认为必须完成才能使其工作),我能够运行框架附带的示例,没有任何问题,并且工具没有显示任何重大内存泄漏 我在我的非GC应用程序中包含了非GC Fragaria,当我将光标放在上面时,它就会崩溃。老实说,使用模式与示例不同,因为我将其嵌入到NSViewController的实例中,而不是NSDocument中 你能给我一些关于如何调试这个的提示吗?我现在有点不知所措。首先要做的是构建和分析代码,然后修复发现的任何问题 接下来,尝

我目前正在开发一个从只支持GC的环境到支持GC的框架。工作完成后(或者我认为必须完成才能使其工作),我能够运行框架附带的示例,没有任何问题,并且工具没有显示任何重大内存泄漏

我在我的非GC应用程序中包含了非GC Fragaria,当我将光标放在上面时,它就会崩溃。老实说,使用模式与示例不同,因为我将其嵌入到NSViewController的实例中,而不是NSDocument中


你能给我一些关于如何调试这个的提示吗?我现在有点不知所措。首先要做的是构建和分析代码,然后修复发现的任何问题

接下来,尝试在启用僵尸检测的情况下运行(google NSZombie)


最后,每次崩溃的stacktrace应该能让您很好地了解事情的进展情况。

Instruments的僵尸模板比
NSZombieEnabled
更易于使用,因为Instruments允许您查看僵尸对象的历史。启用了
nszombie
,您所能做的就是使用调试器,它只显示当前,而不是过去。这正是我所需要的。在我堵住大量内存泄漏的路上,内存泄漏和崩溃是两件几乎相反的事情。当你发布了一些你不应该发布的东西时,你的应用程序崩溃了。当你不释放你应该释放的东西时,它会泄漏内存。Instruments中的僵尸模板将有助于避免过度发布崩溃;“泄密”模板将有助于解决发布不足的泄密问题。我提交的代码是不完整的。僵尸让我走上了正确的道路,尽管这不是我的框架版本的唯一问题。