【问题标题】:Does Visual Studio have anything like Borland's CodeGuard?Visual Studio 有类似 Borland 的 CodeGuard 的东西吗?
【发布时间】:2008-11-10 21:05:32
【问题描述】:

Visual Studio 中是否有像 Codeguard 这样会报告内存泄漏的东西?

例如:

Error 00001. 0x300010 (Thread 0x0FA4):
Resource leak: The object (0xC65D84) was never deleted

The object (0x00C65D84) [size: 4 bytes] was created with new
| element2.cpp line 3:
| #include "element2.h"
| 
|>CS225::Element2::Element2(int _val) : p_val(new int(_val)) { }
| 
| CS225::Element2::Element2(const Element2& rhs) 
Call Tree:
   0x0040E3A7(=bcc_cg.exe:0x01:00D3A7) element2.cpp#3
   0x00409116(=bcc_cg.exe:0x01:008116) element-factory.h#19
   0x0040D964(=bcc_cg.exe:0x01:00C964) array.cpp#87
   0x00405308(=bcc_cg.exe:0x01:004308) driver.cpp#394
   0x004054B5(=bcc_cg.exe:0x01:0044B5) driver.cpp#415
   0x00405522(=bcc_cg.exe:0x01:004522) driver.cpp#420

------------------------------------------
Error 00002. 0x300010 (Thread 0x0FA4):
Resource leak: The object (0xC65D58) was never deleted

The object (0x00C65D58) [size: 4 bytes] was created with new
| element2.cpp line 6:
| 
| CS225::Element2::Element2(const Element2& rhs) 
|>  : AbstractElement(), p_val(new int(*rhs.p_val)) 
| { }
| 
Call Tree:
   0x0040E4B7(=bcc_cg.exe:0x01:00D4B7) element2.cpp#6
   0x0040E652(=bcc_cg.exe:0x01:00D652) element2.cpp#26
   0x0040D8CD(=bcc_cg.exe:0x01:00C8CD) array.cpp#81
   0x00405308(=bcc_cg.exe:0x01:004308) driver.cpp#394
   0x004054B5(=bcc_cg.exe:0x01:0044B5) driver.cpp#415
   0x00405522(=bcc_cg.exe:0x01:004522) driver.cpp#420

【问题讨论】:

    标签: visual-studio memory-leaks codeguard


    【解决方案1】:

    内置,没有。它有<crtdbg.h>,但并不像您的示例所暗示的那样全面。有各种附加组件可提供此功能。 Boundschecker 是一个众所周知且流行的。

    【讨论】:

      【解决方案2】:

      Visual Leak Detector 听起来不错。不过我自己没试过。

      【讨论】:

        猜你喜欢
        • 2017-07-15
        • 2014-09-22
        • 2010-11-29
        • 2020-03-26
        • 2011-10-18
        • 2023-03-09
        • 2011-04-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多