* 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.
# cool
Posté par kael . Évalué à 10.
allez hop -1
[^] # Re: cool
Posté par Benoît Sibaud (site web personnel) . Évalué à 10.
C'est sûr, ça va leur plaire cette page.
[^] # Re: cool
Posté par kael . Évalué à -5.
bon -1 pour mechanceté gratuite...
[^] # Re: cool
Posté par Pierre Tramo . Évalué à -2.
Deux heures que j'essayais de poster cet extrait.
Pas moyen. Dix lignes pour un commentaire ça parait insurmontable aux serveurs ?
-1 parce que se défoule parce que énervé.
Et vivement le ouikènd.
[^] # Re: cool
Posté par Moby-Dik . Évalué à 6.
Ah la beauté du x86... Je me souviens des %fs et %gs qui se baladaient dans mon code quand j'accédais au framebuffer sous Ms-Dos ;)
[^] # Bug Valgrind
Posté par frecillia5 . Évalué à 3.
Valgrind est en effet une sorte d'émulateur x86, dont l'auteur implémente les instructions à la demande (c'est à dire qu'il attends que les gens se plaignent pour le faire).
Ici, l'émulateur dit qu'il ne n'est pas capable d'interpréter les instructions avec un préfixe de segment genre "es:" (si le segment par défaut est "ds").
[^] # Re: Support Valgrind incomplet
Posté par Alberto . Évalué à 2.
Depuis l'apparition du 386, c'est beaucoup moins utile puisque l'on peut adresser a plat 4go (32 bits des registres, et le segment de donne par defaut (ds pour data segment est utilise). Bref les compilos ne generent plus souvent des instructions avec des prefixes (qui sont devenu couteux en temps d'execution). Pourquoi Nvidia utilise encore ce truc la, je ne sais pas...
# Pour info
Posté par tuiu pol . Évalué à 10.
Je vais essayer la dernière version ...
[^] # Re: Pour info
Posté par Sebastien . Évalué à 8.
C'est un sujet sensible chez kde, les prcohaines glibc et gcc permettront d'améliorer tout ça.
Zut, un myth de moins pour kde.
# atomique
Posté par Emmanuel Blindauer (site web personnel) . Évalué à 10.
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!
[^] # Re: atomique
Posté par jojolapin . Évalué à 6.
Oui, mais si j'ai bien compris, ça marche pas top top avec les instructions supplémentaires mmx et autres.
# valgrind c Bien
Posté par Troy McClure (site web personnel) . Évalué à 10.
- 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.
[^] # Re: valgrind c Bien
Posté par Pierre Tramo . Évalué à 9.
Il est possible d'y définir ses propres lib. Mais je dois avouer ne pas avoir encore essayer.
[^] # Re: valgrind c Bien
Posté par zeiram . Évalué à 10.
Quant à la liste des exclusions pour les librairies externes (lic, libX11, ...), elle est générée par le script configure. Donc, si ce script est bien fait, la liste s'adaptera automatiquement au système de l'utilisateur (puisque configure peut connaître assez précisément les libs de la machine).
Note : tout cela est tiré de la doc, je n'ai pas encore testé.
[^] # Re: valgrind c Bien
Posté par Dugland Bob . Évalué à -2.
change de langage
# Licence et portabilite
Posté par a_jr . Évalué à 10.
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
[^] # Re: Licence et portabilite
Posté par Laurent Mazet (site web personnel) . Évalué à 10.
[^] # Purify
Posté par frecillia5 . Évalué à 4.
Comme quoi il doit y avoir beaucoup moins de leurs clients qui développent sous Linux que sous Solaris (sinon ils auraient fait le portage pour gagner plus de sous).
[^] # Re: Licence et portabilite
Posté par Laurent Mazet (site web personnel) . Évalué à 10.
[^] # Re: Licence et portabilite
Posté par Benoît Sibaud (site web personnel) . Évalué à 10.
dmalloc
http://dmalloc.com/(...)
libre
Multi-plateforme
C/C++
Nécessite une recompilation
Supporte le multi-thread
Version 4.8.2
ccmalloc
http://www.inf.ethz.ch/personal/biere/projects/ccmalloc/(...)
Fuites de mémoire et problèmes de mémoire
GPL
Linux et Solaris
Nécessite une recompilation
Version 0.3.9
Electric Fence (efence)
http://perens.com/FreeSoftware/(...)
GPL
Détection des dépassements de limites
C
Version 2.2.2
Valgrind
http://developer.kde.org/~sewardj/(...)
Problèmes de mémoire (dont fuites)
Pour x86 linux.
Sans recompilation
C/C++
J'aime beaucoup
Version 1.0
Boehm Collector
http://www.hpl.hp.com/personal/Hans_Boehm/gc/(...)
Garbage collector et détecteur de fuites
Licence compatible Debian en tout cas
Multi-plateforme
C/C++
Parallel Collector on Message Passing Environment
http://www.yl.is.s.u-tokyo.ac.jp/gc/dgc/(...)
Licence inconnue (pas de téléchargement)
Adresse de téléchargement invalide
LeakTracer
http://www.andreasen.org/LeakTracer/(...)
Fuites de mémoire
Linux et d'autres Unix
Domaine public
Sans recompilation
C++
Version 2.2
MemWatch
http://www.linkdata.se/sourcecode.html(...)
Fuites de mémoire
Domaine public
Nécessite une recompilation
C
Version 2.67
Memprof
http://people.redhat.com/otaylor/memprof/(...)
Profil de la mémoire allouée et détection des fuites (avec GUI)
GPL
C. C++ ?
Sans recompilation
Version 0.4.1
mpatrol
http://www.cbmamiga.demon.co.uk/mpatrol/(...)
GPL
Peut s'utiliser avec ou sans recompilation,
Possibilité d'utiliser l'option -fcheck-memory-usage de gcc
Un joli manuel bien fait
Multi-plateforme, C/C++
[^] # Re: Licence et portabilite (memprof n'est plus maintenu)
Posté par a_jr . Évalué à 8.
- l'URL de telechargement chez gnome est invalide.
- La derniere entree dans le ChangeLog date du 9 fevrier 2001.
Donc memprof, soit quelqu'un s'y colle pour le maintenir, soit on oublie
Le bonjour chez vous,
Yves
[^] # Boehm Collector
Posté par Dugland Bob . Évalué à -3.
Ne l'utilisez pas en GC, c'est un principe de GC trop primitif pour être efficace (conservatif).
Il vaut mieux un vrais GC dans un vrai langage, qu'un truc haxorisé dans un langage
douteuxpas prévu pour.Ceci dit il devrait être mieux que celui de OpenCascade et ses potes qui utilisent des smartPointers (un accès à l'objet pour chaque duplication ou suppression de référence).
J'ai qd même l'impression qu'il est à racines ambigües, d'où la conservativité. Mais comment fait-il avec ceux qui bougent leurs indices dans leurs buffers ? il fait 2 comparaisons ? mort de rire.
-1 c'est pas le genre de discours bienvenu ici
[^] # Re: Licence et portabilite
Posté par Smith Elliot . Évalué à 1.
quand je vois tout ca, je me dis que les projets C que j'ai rendu devaient pas etre folichons.
Comprendre : Vu les mallocs et les strcpy que je te collais a droite et a gauche, ya des profs qu'on du avoir peur :)
[^] # projet C d'école
Posté par frecillia5 . Évalué à 0.
Ce genre d'outils, c'est fait pour les gens qui écrivent des gros programmes de plusieurs milliers (voir centaines de milliers) de lignes, et qui ne peuvent plus garder la trace de leurs allocations... pas pour le TP de 50 lignes que tu fait en première année.
[^] # Re: projet C d'école
Posté par Smith Elliot . Évalué à 2.
Pitit rectification:
Je ne suis pas developpeur de formation mais sur les 3 mois de C que je me suis tapé, j'ai eu droit aux trucs comme huffman, listes chainees simples et doubles, etc...
D'ailleurs, essais "dc" sous linux, c exactement ce que j'ai du faire...
une calculatrice RAPIDE en précision infinie avec gestion de pile.et je t'assure que ca ne fait pas 50 lignes.
[^] # Re: projet C d'école
Posté par frecillia5 . Évalué à 0.
T'as du faire pas mal d'arbre alors (Huffman c'est à base d'arbre et la décomposition des expressions matheuse aussi).
Au fait qu'est ce que tu entends par "calculatrice rapide" ?
Sur PC standard, même une calculatrice pas rapide doit mettre moins d'un millième de seconde par opération ?
Tu faisait de l'embarqué ?
[^] # Re: projet C d'école
Posté par Smith Elliot . Évalué à 1.
comme c a base de pile, tu rentres :
1 puis 999888.... puis / et t'attend :)
Non, je t'assure que meme un PII400 te sors pas les 1 millions de chiffre en 1 seconde...
Sachant que les types utilisé étaient des chaines. quand j'y repense, c'etait assez marrant
[^] # Re: projet C d'école
Posté par frecillia5 . Évalué à 0.
PII400 te sors pas les 1 millions de chiffre en 1 seconde..
Il pourrait pourtant ! ça nous laisserait 400 cycles par chiffres.
[^] # Re: projet C d'école
Posté par Smith Elliot . Évalué à 0.
[^] # Re: projet C d'école
Posté par Olivier Cahagne . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.