视觉泄漏探测器未发现泄漏VS2013

use*_*412 5 c++ memory-leaks visual-studio visual-leak-detector

无论我尝试什么,我似乎无法让VLD捕获任何内存泄漏.有什么想法吗?

这里的输出片段也是:

Visual Leak Detector Version 2.4RC2 installed. 
The thread 0x5748 has exited with code 0 (0x0).
The thread 0x2c70 has exited with code 0 (0x0).
The thread 0x3c98 has exited with code 0 (0x0).
No memory leaks detected.
Visual Leak Detector is now exiting.
The program '[24988] ConsoleApplication2.exe' has exited with code 0 (0x0).
Run Code Online (Sandbox Code Playgroud)


#include <vld.h>

#include <iostream>
using namespace std;

class Car{
    public:
        Car() {}

        Car(string model,int year, string color) {
            this->model = model; this->color, this->year = year;
        }

        string getModel() {
            return this->model;
        }

        void setModel(string m) {
            this->model = model;
        }

        string getColor() {
            return this->color;
        }

        void setColor(string color) {
            this->color = color;
        }

        void paint()
        {
            setColor("white");
        }

    private:
        string model;
        int year;
        string color;
};


int _tmain(int argc, _TCHAR* argv[]){
    Car c("bmw", 2000, "red");
    c.paint();
    cout << c.getColor().c_str();

    for (int i = 0; i < 10; i++)
        int *ptr = new int(10);

    Car *c2 = new Car("benz", 2010, "yellow");

    return 0;
 }
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

HDJ*_*MAI 4

它在 Visual Studio 2013 Ultimate 下工作

您必须以控制台模式执行程序(转到项目的调试目录)

在下面,你会看到结果的图片,但是控制台显示了很多泄漏,我们在这里看不到所有的泄漏

我将 include 和 lib 路径添加到项目设置中

  1. C:\Program Files (x86)\Visual Leak Detector\include
  2. C:\Program Files (x86)\Visual Leak Detector\lib\win32
  3. C:\Program Files (x86)\Visual Leak Detector\lib\win64

在此输入图像描述

如您所见,有 13 处内存泄漏。