2015-10-16 8 views
5

Non riesco a fare in modo che VLD rilevi perdite di memoria indipendentemente da ciò che ho provato. Qualche idea, perché? Anche qui snippet dell'output:Visual Leak Detector che non trova perdite VS2013

Cosa mi manca?

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). 


#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; 
} 

risposta

3

Si sta lavorando in Visual Studio 2013 ultimo

Devi eseguire il programma in una modalità console (andare alla directory di debug del progetto)

Di seguito, troverai una foto del risultato, ma la console mostra molte perdite non possiamo vederle tutte qui

ho aggiunto l'inclusione e percorsi lib al progetto impostazione

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

enter image description here

Come si vede lì sono 13 perdite di memoria.