Surveillance des allocations memoire [c]

Soyez le premier à donner votre avis sur cette source.

Vue 5 194 fois - Téléchargée 356 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 4
23 janv. 2003 à 16:31
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.