Domage que la breve valgrind ne soit pas une vrai news.
Ca aurrait été l'ocasion de parler de se formidable outil de débugage et de profilage, qui permet de trouver très rapidement des problèmes dans vos programmes C ou C++.
Basé sur une technique d'instrumentation just in time (il modifie le code machine pour appeler ses propres routines).
A la base, valgrind (memcheck) est un outil de détection d'accès illégaux a la mémoire. Il détecte les fuites de mémoire (memory leak), les accès après libération de pointeur, allocation trop courtes et j'en passe.
La puissance de son outil JIT permet de créer une multitude d'outils de debugages.
Helgrind permet de détecter les problèmes liés au multithread.
Massif est un profileur de memoire, il permet de détailler combien de mémoire prends votre programme
Callgrind est un outil de profilage JIT (a la difference de gprof, pas besoin de compiler avec des options spéciales)
Cache grind permet de détecter les problemes de performances liés aux caches miss et autres branch prediction.
Ces deux outils disposent d'un outil tiers appelé kcachegrind, qui permet de visualiser tout ca. La triplette est en fait pour moi le meilleur outil de profiling que je connaisse.
Valgrind permet aussi de créer relativement facilement ses propres outils d'instrumentations.
Le seul problème de valgrind est qu'il est fortement lié a l'architecture i386. les ports pour d'autres architectures sont en cours, mais un peu moins actifs, ca marche pas aussi bien.
# une news valgrind!
Posté par Pierre . En réponse à la dépêche Matthew Szulik quitte Red Hat, tests de performance JavaScript et Valgrind 3.3.0. Évalué à 0.
Ca aurrait été l'ocasion de parler de se formidable outil de débugage et de profilage, qui permet de trouver très rapidement des problèmes dans vos programmes C ou C++.
Basé sur une technique d'instrumentation just in time (il modifie le code machine pour appeler ses propres routines).
A la base, valgrind (memcheck) est un outil de détection d'accès illégaux a la mémoire. Il détecte les fuites de mémoire (memory leak), les accès après libération de pointeur, allocation trop courtes et j'en passe.
La puissance de son outil JIT permet de créer une multitude d'outils de debugages.
Helgrind permet de détecter les problèmes liés au multithread.
Massif est un profileur de memoire, il permet de détailler combien de mémoire prends votre programme
Callgrind est un outil de profilage JIT (a la difference de gprof, pas besoin de compiler avec des options spéciales)
Cache grind permet de détecter les problemes de performances liés aux caches miss et autres branch prediction.
Ces deux outils disposent d'un outil tiers appelé kcachegrind, qui permet de visualiser tout ca. La triplette est en fait pour moi le meilleur outil de profiling que je connaisse.
Valgrind permet aussi de créer relativement facilement ses propres outils d'instrumentations.
Le seul problème de valgrind est qu'il est fortement lié a l'architecture i386. les ports pour d'autres architectures sont en cours, mais un peu moins actifs, ca marche pas aussi bien.