Skip to content

A malloc / free wrapper that creates a narrative timeline of your program's memory usage

Notifications You must be signed in to change notification settings

hooop/Memory_tracer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Memory Tracer :

Un allocateur mémoire avec traçage intégré pour visualiser le flow mémoire de vos programmes C en temps réel.

L'idée :

Voir l'histoire de votre mémoire, pas seulement son état final.

Memory Tracer est un wrapper de malloc / free qui fusionne vos logs applicatifs avec le traçage mémoire pour créer une timeline narrative de votre programme :

Aperçu Memory tracer

Contexte :

Développé lors du projet cub3D de l'École 42, en travaillant depuis chez moi sur macOS sans accès à Valgrind, j'avais besoin de debugger un parser complexe et je voulais voir en temps réel si chaque phase nettoyait correctement ses ressources.

L'outil n'a de valeur que dans un contexte narratif : il s'intègre à vos logs de debugging existants pour raconter l'histoire complète de votre mémoire au fil de l'exécution de votre programme.

Utilités :

ID unique par allocation

Suivez le cycle de vie complet : malloc id: 42free id: 42. Identifiez instantanément quelle allocation n'est jamais libérée.

Contexte applicatif intégré

Comprenez quand et pourquoi une fuite se produit dans le flow de votre programme, pas juste dans le code.

Validation du error handling

Vérifiez d'un coup d'œil que vos chemins d'erreur nettoient correctement la mémoire.

Léger et rapide

Overhead minimal, pas de ralentissement.

Installation & Usage :

1. Copiez les fichiers dans votre projet :

cp my_memory.c votre_projet/srcs/
cp my_memory.h votre_projet/include/

2. Modifiez votre Makefile :

# Activez le mode debug
DEBUG = yes

ifeq ($(DEBUG),yes)
    CFLAGS += -DDEBUG_MEMORY
    SRCS += srcs/my_memory.c
endif

3. Incluez le header :

// Dans votre header principal (ex: votre_projet.h)
#include "my_memory.h"

4. Compilez et lancez :

make
./votre_programme

Le traçage mémoire s'affichera automatiquement entrelacé avec vos logs !

Compatibilité :

Actuellement compatible : macOS uniquement

Support Linux à venir (le parsing des symboles de backtrace_symbols() diffère entre les deux systèmes).


Comprenez le flow mémoire de votre programme, pas seulement ses fuites.

About

A malloc / free wrapper that creates a narrative timeline of your program's memory usage

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published