3

我担心我的某些代码会导致内存泄漏,我不确定如何检查它。是否有适用于 MacOS X 的工具或其他东西?

谢谢

4

4 回答 4

4

是的 - 有一个名为MallocDebug的应用程序作为 Xcode 包的一部分安装。

您可以在/Developer/Applications/Performance Tools文件夹中找到它。

于 2009-02-03T14:40:15.623 回答
1

Apple 在其开发人员页面上对如何在 OS X 上使用 MallocDebug 进行了很好的描述。

于 2009-02-03T14:58:11.000 回答
1

当然,UNIX 提供了一种快速而肮脏的方法来检测内存泄漏......顶部。

启动您的应用程序并观察随着时间的推移分配给您的进程的系统内存。如果它在不应该的时候持续增长,那么可能存在内存泄漏。此时你打破Valgrind或使用 MallocDebug 等。

当然,如果您使用智能指针和/或 RAII,那么您的代码中不应该有内存泄漏,对吧?;)))

于 2009-02-04T00:23:00.720 回答
0

内存错误、泄漏等的最佳工具期是 Valgrind。从这里开始。你不需要在你的代码中做任何特别的事情,这将报告内存的分配位置(带有完整的堆栈跟踪,即使在 C 中也是如此)。此外,它还会检测对已释放内存的写入、未初始化的内存使用情况等等。

于 2011-02-09T14:00:07.340 回答