Liens connexes

Dépêche modérée par

: Valgrind 1.0.0

Posté par Laurent Mazet (page perso, ). Modéré le 29 juillet 2002.
0
Valgrind (NdM : GPL) permet d'evaluer, a posteriori, la gestion de la memoire dans un programme, du même type que mpatrol (NdM : LGPL) ou dmalloc (NdM : libre) ou purify (NdM : propriétaire) sans recompilation du code. Il permet de détecter les problèmes suivants :
* Utilisation de memoire non initialisée
* Lecture/écriture de blocs liberés
* Lecture/écriture au delà d'un bloc alloué
* Lecture/ecriture de zones non autorisées de la pile
* Fuites de mémoire
* Passage de bloc non initialisés ou inaccessibles à des appels système
* Mauvaise utilisation des fonctions et opérateurs malloc/new/new [] par rapport à free/delete/delete []

Javais testé certaines versions précédentes et c'était impressionnant (un chouya mieux que mpatrol que je connais bien) !

Note du modérateur : il ne fonctionne que sur Linux x86, mais il est effectivement assez impressionnant.

> Lire les commentaires (30 commentaires, moyenne: 9,9).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

cool

Posté par kael () le 29/07/2002 à 07:38. (lien). Évalué à 29.

qui se devoue pour poster l'url au developpeurs des chez nvidia ? :)

allez hop -1

Pour info

Posté par tuiu pol (Jabber id, ) le 29/07/2002 à 09:13. (lien). Évalué à 35.

Les développeurs de KDE (pas de troll) l'utilisent. C'est même en lisant un article (argh plus l'URL) où ils expliquent les outils utilisés que j'ai découvert valgrind.

Je vais essayer la dernière version ...

atomique

Posté par Emmanuel Blindauer (page perso, ) le 29/07/2002 à 09:25. (lien). Évalué à 16.

C'est vraiment de la balle atomique, et tout bon programme devrait pouvoir passer à travers. En plus ca s'utilise finger in ze noze, pas besoin de recompiler l'appli :)
ca permet meme de savoir exactement où on pert des blocs mémoires. Le meilleurs de ceux que j'ai utilisé.
reste a corriger les false positives et voila!

valgrind c Bien

Posté par Troy McClure (page perso, ) le 29/07/2002 à 09:25. (lien). Évalué à 32.

valgrind roxor, il est vraiment une tête au-dessus des mallocs-debuggers "classiques". Ses seuls inconvenients sont:
- des "faux"-warnings parfois un peu gênants dans les lib externes (libc, libX11..). Il possède une liste prédéfinie pour les éliminer, mais je suppose que celle-ci ne s'adapte parfaitement qu'à la redhat de l'auteur de valgrind.
- l'execution du code sous valgrind est très sensiblement ralentie (à l'oeil je dirais entre 20 et 50 fois), du coup on ne peut pas envisager de lancer systématiquement le code sous valgrind pour ramasser les bugs qui passent.

Ça ne l'empêche pas de roxer.

Licence et portabilite

Posté par a_jr () le 29/07/2002 à 09:29. (lien). Évalué à 34.

Comme j'ai mal lu la news, j'ai cru comprendre que dmalloc ET mpatrol ET purify etaient proprietaires. Verification faite, voici les precisions. N'oublions pas non plus electricfence dont le role n'est pas tout a fait le meme mais qui rend aussi quelques services

dmalloc: licence de logiciel libre
Permission to use, copy, modify, and distribute this software for any purpose and without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies, and that the name of Gray Watson not be used in advertising or publicity pertaining to distribution of the document or software without specific, written prior permission.

Ajoutons que l'auteur aimerait qu'on lui fasse un don si son logiciel a aide a faire gagner du temps ou de l'argent.

mpatrol: licence GPL

valgrind: licence GPL
Licence GPL malgre un titre sur la page principale comme quoi il n'est qu'open source.

purify: proprietaire
http://www.rational.com/products/purify_unix/(...)
No comment.

electricfence: licence GPL
http://perens.com/FreeSoftware/(...)


portabilite
valgrind: ix86 seulement

dmalloc: AIX, BSD/OS, DG/UX, Free/Net/OpenBSD, GNU/Hurd, HPUX, Irix, Linux, MS-DOG, NeXT, OSF, SCO, Solaris, SunOS, Ultrix, Unixware, Windoze, and even Unicos on a Cray T3E.

mpatrol: AIX 4.1 DG/UX 4.11, 4.20 DRS/NX 6.2 DYNIX/ptx 4.5 FreeBSD 4.2 HP/UX 10.20 IRIX 5.3 Red Hat Linux 5.1, 6.0, 6.1, 6.2, 7.0, 7.1 SuSE Linux 7.1 LynxOS 3.0.0 SINIX 5.43 Solaris 2.5, 2.6, 7, 8 Tru64 5.0 UnixWare 7.1.1 AmigaOS 3.1 Windows NT 4.0 (et surement d'autres versions de tous ces OS!)

purify: No comment: c'est proprietaire

electricfence: y'a pas grand chose d'ecrit, mais je l'ai deja teste avec succes sur ix86 et sur solaris (sparc) 2.6


Le bonjour chez vous,
Yves

Revenir en haut de page