begin process at 2012 02 12 19:42:50
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > DETECTION DES MEMORY LEAKS [VSTUDIO/WIN32]

DETECTION DES MEMORY LEAKS [VSTUDIO/WIN32]


 Information sur la source

 Description

Ce code permet, sous visual c++, de voir afficher en mode debug les blocs de memoire non désalloués
Il ne marche que sous windows, et seulement sous visual c++, mais j espere que cela pourra servir....Pour que cela marche, il faut lancer l executable en appuyant sur F5 (et non sur build/execute)

Source

  • #include <crtdbg.h>
  • #include <stdio.h>
  • void DetectMemLeaks()
  • {
  • _CrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF|_CRTDBG_ALLOC_MEM_DF);
  • _CrtSetReportMode(_CRT_ASSERT,_CRTDBG_MODE_FILE);
  • _CrtSetReportFile(_CRT_ASSERT,_CRTDBG_FILE_STDERR);
  • }
  • int main ()
  • {
  • // Initialisation la detection
  • DetectMemLeaks();
  • char* str = new char[50]; // alloue de la mémoire
  • //delete[] str; // ici la memoire n est pas desalloue,
  • //une erreur apparaitra dans le panneau de debuggeur
  • // decommentez pour voir l erreur disparaitre
  • return 1;
  • }
#include <crtdbg.h>
#include <stdio.h>

void DetectMemLeaks() 
{ 
   _CrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF|_CRTDBG_ALLOC_MEM_DF); 
   _CrtSetReportMode(_CRT_ASSERT,_CRTDBG_MODE_FILE); 
   _CrtSetReportFile(_CRT_ASSERT,_CRTDBG_FILE_STDERR); 
} 

int main ()
{
	// Initialisation la detection
	DetectMemLeaks();

	char* str = new char[50];		// alloue de la mémoire
	//delete[] str;					// ici la memoire n est pas desalloue, 
	//une erreur apparaitra dans le panneau de debuggeur
	// decommentez pour voir l erreur disparaitre

	return 1;	
}



 Sources du même auteur

Source avec Zip CONVERTISSEUR D'IMAGES
EQUIVALENT A DATE () DU PHP
Source avec Zip BASECODE SDL/OPENGL
Source avec Zip LIBRAIRIE SON [FMOD]
Source avec Zip CONSOLE A LA QUAKE (DANS LA CONSOLE DOS!)

 Sources de la même categorie

Source avec Zip SCHEDULER RR FIFO par yvesB87
Source avec Zip ALGORITHMES RÉCURSIFS VS ALGORITHMES ITÉRATIFS par yvesB87
Source avec Zip Source avec une capture C++ FORMAT D'IMAGE AVEC QT par pop70
Source avec une capture EXEMPLE DE POINTEURS DE FONCTION par pop70
Source avec Zip Source avec une capture [C++] CLASS REGISTER par Miwik

Commentaires et avis

Commentaire de GoldenEye le 01/02/2004 16:03:18

Super
Court efficace
bref bien

Commentaire de Kaid le 01/02/2004 17:08:16

Je pense qu'il serait mieux d'exclure tout ce code d'une compilation en mode Release non ?

#ifdef DEBUG
#include &lt;crtdbg.h&gt;
#endif
#include &lt;stdio.h&gt;

#ifdef DEBUG
void DetectMemLeaks()
{
     _CrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF|_CRTDBG_ALLOC_MEM_DF);
     _CrtSetReportMode(_CRT_ASSERT,_CRTDBG_MODE_FILE);
     _CrtSetReportFile(_CRT_ASSERT,_CRTDBG_FILE_STDERR);
}
#endif

int main ()
{
#ifdef DEBUG
    // Initialisation la detection
    DetectMemLeaks();
#endif

    char* str = new char[50];       // alloue de la mémoire
    //delete[] str;                 // ici la memoire n est pas desalloue,
    //une erreur apparaitra dans le panneau de debuggeur
    // decommentez pour voir l erreur disparaitre

    return 1;  
}

Commentaire de Cyberboy2054 le 01/02/2004 17:50:30

Oui mais bon en meme temps ces trois fonctions ne sont pas executées en mode release alors pourquoi s embeter ?
de plus j aurais mis #ifdef DEBUG && WIN32 histoire d eliminer plus de cas ...

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,385 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales