|
|
1
0
因为这只是尼尔的答案中的暗示,所以让我们明确地说: 据我所知,没有任何工具可以像gcc的crtchemory那样容易获得。 IIRC有一些已检查过的malloc库,但我没有发现它们像crtcheckmemory那样可用。 但是 Valgrind 不受干扰地部署,并且 你在整个结果中表现得更出色。 |
|
|
2
0
这个特性实际上是内置在gcc的堆中的。
如上所述
here
启用它的最简单方法是在xcode::run菜单上:
|
|
|
3
-1
这并没有直接回答你的问题,但我觉得必须回答。正如您所说,像CRT检查函数这样的工具只会给您一个很小的信心,而不会解决除内存之外的资源泄漏问题。如果你发现自己依赖于这样的工具,我会说你的C++开发方法有一些非常非常错误的地方。在过去的10年里,我的代码中没有与内存泄漏相关的任何一个问题。这不是因为我是C++代码的上帝,而是因为我使用RAI中的基本工具、智能指针和标准库集合在我的代码中,并且在任何可能的地方避免使用显式的动态内存分配。
停下来问问自己,“有什么方法可以避免这样做吗?”如果答案是“否”,那么问问你自己为什么要给一个原始指针分配内存,如果你找不到任何方法来解决这个问题(这种情况很少发生),立即编写代码来管理指针的去分配,并确保代码是异常安全的。 如果采用这种方法,您将不需要特殊的CRT功能或Valgrind之类的工具,并且可以节省大量调试时间。 |