我担心我的一些代码会导致内存泄漏,而且我不确定如何检查它。是否有适用于MacOS X的工具或其他东西?
谢谢
答案 0 :(得分:4)
是的 - 有一个名为 MallocDebug 的应用程序,它是作为Xcode包的一部分安装的。
您可以在/Developer/Applications/Performance Tools
文件夹中找到它。
答案 1 :(得分:2)
Apple很好地描述了如何在开发者页面上的OS X上使用MallocDebug。
答案 2 :(得分:1)
当然,UNIX提供了一种检测内存泄漏的快速而肮脏的方法......顶部。
启动您的应用并观察分配给您的流程的系统内存。如果它不应该不断增长那么可能会有内存泄漏。此时你会突破Valgrind或使用MallocDebug等。
当然如果您使用智能指针和/或RAII,那么您的代码中不应该有内存泄漏,对吧? ;)))
答案 3 :(得分:0)
内存错误,泄漏等的最佳工具周期是Valgrind。开始使用here。您不需要在代码中执行任何特殊操作,这将报告内存的分配位置(使用完整的堆栈跟踪,即使在C中)。此外,它还会检测对释放内存的写入,未初始化的内存使用情况等等。