Surveillance des allocations memoire [c]

Soyez le premier à donner votre avis sur cette source.

Vue 4 934 fois - Téléchargée 325 fois

Description

Quelques petites fonctions pour verifier que votre programme n'a pas de fuites memoires.
Le principe est d'ecrire dans un fichier toutes les allocations memoire effectuees ainsi que toutes les liberations.
Ensuite le programme jalloc_verif analyse le fichier journal et vous dit s'il y a des oublis.
Tout est dans le zip.

Source / Exemple :


/* Extrait de jalloc.c */

void* jmalloc_d(size_t size, const char* sFile, int iLine)
{
	void* temp;

	/* Allocation memoire */
	temp = malloc(size);

	if(temp != NULL)
		/* Ajout d une entree dans le journal */
		/* 1 pour allocation memoire */
		fprintf(pAllocFile, "1\n%p\n%s\n%d\n", temp, sFile, iLine);

	return temp;
}

void jfree_d(void* object, const char* sFile, int iLine)
{
    if(object != NULL)
    {
		/* Ajoute une entree dans le fichier journal */
		/* 0 pour liberation memoire */
	    fprintf(pAllocFile, "0\n%p\n%s\n%d\n", object, sFile, iLine);

		/* Liberation de la memoire */
	    free(object);
    }
}

Codes Sources

A voir également

Ajouter un commentaire

Commentaire

cs_GoldenEye
Messages postés
527
Date d'inscription
vendredi 14 septembre 2001
Statut
Membre
Dernière intervention
6 octobre 2008
2 -
Potentiellement très utile si c'est intégré à un programme de grande importance Question: existe t'il des logiciels de débug qui font de telles vérifications (couplé avec VC++ de préférence) ?

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.