|
|
1
0
内存保护可以捕获一些堆损坏。它比较慢(尤其是释放),但它只是为了调试目的,并且您的发布版本不会包括这一点。 堆遍历是特定于平台的,但不一定太有用。最简单的检查就是简单地包装您的分配并使用 线 和 有关调试模式的信息,以及大多数泄漏都会在退出程序时很快显现出来,并且数字不符合要求。 搜索谷歌 线 我相信会有很多结果出现。 |
|
|
2
3
如果您在Linux或OSX下工作,请查看 Valgrind (免费,可通过OSX获得) Macports Rational PurifyPlus (需要许可证)。 Dmalloc 甚至在 Paul Nettle's memory manager 这有助于跟踪与内存分配相关的错误。 |
|
|
3
1
libgmalloc . libgmalloc将每个内存分配放在单独的页上。任何超出页面的内存访问/写入都将立即触发总线错误。但是请注意,使用libgmalloc运行程序可能会导致显著的速度减慢。 |