Détecter les fuites de mémoires (vc++6)

Soyez le premier à donner votre avis sur cette source.

Vue 8 844 fois - Téléchargée 312 fois

Description

Petite source qui montre comment faire pour détécter les fuites de mémoire avec

Visual C++ 6, par exemple quand on oublie d'effacer des objets crées avec new malloc (ca ne marche qu'en mode debug)

Source / Exemple :


#include <crtdbg.h>

int main()
{
#ifndef NDEBUG

	int flag = _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG);

	flag |= _CRTDBG_LEAK_CHECK_DF;

	_CrtSetDbgFlag(flag); 

#endif

	char* szText = new char[10];
	return 1;
}

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
1
Date d'inscription
lundi 25 juillet 2005
Statut
Membre
Dernière intervention
31 octobre 2007

Vraiment pratique !!
Messages postés
2
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
17 novembre 2006

c'est parceque t'as pas fait la redefinition du new

#ifndef NDEBUG

#define new new(_NORMAL_BLOCK, __FILE__, __LINE__)

int flag = _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG);

flag |= _CRTDBG_LEAK_CHECK_DF;

_CrtSetDbgFlag(flag);

#endif


après c'est bon ca t'affiche bien le fichier et le numéro de ligne
Messages postés
23
Date d'inscription
jeudi 16 mars 2006
Statut
Membre
Dernière intervention
23 mars 2007

C:Program FilesMicrosoft Visual StudioMyProjectsExempleexemple.cpp(15) : {46} normal block at 0x00431A90, 10 ->> cette ligne ne s'affiche pas (chez moi), ni numéro de ligne, ni nom de variable.
Messages postés
23
Date d'inscription
jeudi 16 mars 2006
Statut
Membre
Dernière intervention
23 mars 2007

Bonjour :) N'y a t il pa une solution pour afficher qq part le nom de la variable concernée ?
Messages postés
368
Date d'inscription
mercredi 14 novembre 2001
Statut
Membre
Dernière intervention
1 septembre 2008

Idem !
Dans ce cas, ce que tu nous montre est génial !
Afficher les 11 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.