Logiciel de detection de fuite mémoire

Logiciel de detection de fuite mémoire - C++ - Programmation

Marsh Posté le 05-04-2007 à 18:31:02    

Bonjour,
 
Je cherche un logiciel qui permette de detecter les fuites mémoires sur un soft développé en C++.
J'pense que l'un d'entre vous doit avoir ca sous le coude...
 
:hello:

Reply

Marsh Posté le 05-04-2007 à 18:31:02   

Reply

Marsh Posté le 05-04-2007 à 22:53:05    

Sous linux, valgrind. Pour windows, j'en "connais" qu'un, payant, IBM Rational Purify (et Purify Plus, je connais pas les différences).
Il y en a d'autres, mais c'est les seuls dont j'ai vraiment entendu parler (et puis, google sur "memory leak check" ou "memory leak detection" par exemple, tu auras quelques infos aussi :))

Reply

Marsh Posté le 05-04-2007 à 22:59:30    

Pour visual studio, j'ai déjà utilisé ça :
http://www.codeproject.com/tools/leakfinder.asp

Reply

Marsh Posté le 05-04-2007 à 23:02:36    

IrmatDen a écrit :

Sous linux, valgrind. Pour windows, j'en "connais" qu'un, payant, IBM Rational Purify (et Purify Plus, je connais pas les différences).


Purify fonctionne aussi au moins sous Linux et Solaris.

Reply

Marsh Posté le 05-04-2007 à 23:46:19    

did-54 a écrit :

Bonjour,
 
Je cherche un logiciel qui permette de detecter les fuites mémoires sur un soft développé en C++.
J'pense que l'un d'entre vous doit avoir ca sous le coude...
 
:hello:


 
J'ai utilisé BoundsChecker il y a assez longtemps sous Visual C++ 6.0. C'est VC++ only, mais l'intégration à l'environnement de développement est pas mal faite du tout. Il détectait très bien les erreurs mémoires, avec quelques fausses alertes (notamment dans l'implémentaiton STL de Microsoft, cela se réglait en ajoutant quelques exclusions). La version actuelle supporte toutes les versions de cet IDE. Par contre, à l'époque il y avait un système de protection du logiciel mal conçu, pénible.
 
http://www.compuware.com/products/ [...] isualc.htm

Reply

Marsh Posté le 09-04-2007 à 21:54:45    

IrmatDen a écrit :

Sous linux, valgrind. Pour windows, j'en "connais" qu'un, payant, IBM Rational Purify (et Purify Plus, je connais pas les différences).
Il y en a d'autres, mais c'est les seuls dont j'ai vraiment entendu parler (et puis, google sur "memory leak check" ou "memory leak detection" par exemple, tu auras quelques infos aussi :))


Sous Windows, pour avoir utilisé les deux, Boundschecker est très supérieur à Purify, et probablement bien moins cher.

Reply

Marsh Posté le 09-04-2007 à 22:00:43    

perso, j'ai pas mal utilisé glowcode, et j'en suis content :

Reply

Marsh Posté le 09-04-2007 à 22:06:52    

Ouais il parait que c'est bien.

Reply

Marsh Posté le 10-04-2007 à 00:38:22    

el muchacho a écrit :

Sous Windows, pour avoir utilisé les deux, Boundschecker est très supérieur à Purify, et probablement bien moins cher.


Tu pourrais détailler, voir quels avantages à Boundchecker sur Purify ?

Reply

Marsh Posté le 10-04-2007 à 07:45:44    

++fab a écrit :

Tu pourrais détailler, voir quels avantages à Boundchecker sur Purify ?


Je m'en étais servi il y a une paye, et de ce que je me souviens: Plus rapide, bien moins buggé, interface qui va un peu plus vite, et il buttait moins sur la stl (entre-autres, il comprenait ce qu'était une string, et il te l'affichait tel quel plutôt qu'avec son nom décoré). Purify, c'est comme Rose (de Rational aussi): un vieux logiciel qui n'est le standard que grâce à sa gloire passé.
 
Sous Solaris, il y a libumem aussi qui sait faire ça (bon, c'est gratuit, mais c'est moins sexy aussi).

Reply

Marsh Posté le 10-04-2007 à 07:45:44   

Reply

Marsh Posté le 10-04-2007 à 10:30:13    

[:drapal]


---------------
Töp of the plöp
Reply

Marsh Posté le 10-04-2007 à 13:49:14    

Lam's a écrit :

Je m'en étais servi il y a une paye, et de ce que je me souviens: Plus rapide, bien moins buggé, interface qui va un peu plus vite, et il buttait moins sur la stl (entre-autres, il comprenait ce qu'était une string, et il te l'affichait tel quel plutôt qu'avec son nom décoré). Purify, c'est comme Rose (de Rational aussi): un vieux logiciel qui n'est le standard que grâce à sa gloire passé.


 
+1, j'avais été obligé d'utiliser Purify chez un client et il est bourré de défaut. Ce que je déteste, ce sont les "fausses alertes" par dizaines sur un code on ne peut plus standard : à se demander si l'éditeur a jamais fait des tests. Ceci dit, depuis ce temps là il n'y a plus de fuites mémoires dans mes codes, ou alors tellement peu que je peux les trouver "à la main". Chsais pas trop d'où ça vient, sûrement un ensemble de facteurs : faire gaffe  ;) ,  utiliser std::vector et pas des tableaux C, mettre des auto_ptr là où ils sont utiles, etc... Le nombre de 'new' dans mes codes a beaucoup baissé.
 

Reply

Marsh Posté le 10-04-2007 à 22:20:13    

Lam's a écrit :

Je m'en étais servi il y a une paye, et de ce que je me souviens: Plus rapide, bien moins buggé, interface qui va un peu plus vite, et il buttait moins sur la stl (entre-autres, il comprenait ce qu'était une string, et il te l'affichait tel quel plutôt qu'avec son nom décoré). Purify, c'est comme Rose (de Rational aussi): un vieux logiciel qui n'est le standard que grâce à sa gloire passé.


Voilà, pareil.  En gros, il y en avait un qui est utilisable et pas l'autre.

 

Et pour en remettre une couche sur Rational, je rajouterais Clearcase, et je ne parle pas du machin pour le suivi de défauts dont j'ai oublié le nom. J'arrête là, on va penser que j'en profite pour faire du mauvais esprit. :o

Message cité 2 fois
Message édité par el muchacho le 10-04-2007 à 22:28:48
Reply

Marsh Posté le 10-04-2007 à 23:09:30    

el muchacho a écrit :

Voilà, pareil.  En gros, il y en avait un qui est utilisable et pas l'autre.
 
Et pour en remettre une couche sur Rational, je rajouterais Clearcase, et je ne parle pas du machin pour le suivi de défauts dont j'ai oublié le nom. J'arrête là, on va penser que j'en profite pour faire du mauvais esprit. :o


Spoiler :

Clearquest


Reply

Marsh Posté le 10-04-2007 à 23:29:00    

el muchacho a écrit :

Voilà, pareil.  En gros, il y en avait un qui est utilisable et pas l'autre.
 
Et pour en remettre une couche sur Rational, je rajouterais Clearcase, et je ne parle pas du machin pour le suivi de défauts dont j'ai oublié le nom. J'arrête là, on va penser que j'en profite pour faire du mauvais esprit. :o


 
chouette, tout ce que je doit utiliser au taf' :o

Reply

Marsh Posté le 10-04-2007 à 23:40:08    

Si on t'impose pas requisite pro, tu peux t'estimer comme chanceux en fait.

Reply

Marsh Posté le 10-04-2007 à 23:40:11    

OK, merci de vos avis. On utilise occasionellement Purify et ça nous dépanne quand même. Il y a toutefois pas mal d'erreurs graves signalées par Purify, qui n'ont jamais provoqué de plantages... Finalement, toute l'équipe croit que c'est un bug de purify. Valgrind, on l'utilise uniquement pour les tests unitaires ; car pour le projet sur lequel je travaille, la chaine de lancement de l'application ne permet pas de lancer les process avec valgrind (no comment).
 

Spoiler :

Dans la rubrique logiciel de gestion de conf le plus merdique, je donne la palme à cette boue de CM Synergy (continuus). Je pense que son IHM motif, des années 30, et buggé jusqu'à la moelle en ferait pâlir plus d'un. Certains le comparent parfois à ClearCase, mais sans avoir l'honneur de connaitre ce dernier, je suis sur qu'on ne peut pas dépasser la médiocrité de CM, ce serait inhumain.

Message cité 1 fois
Message édité par ++fab le 10-04-2007 à 23:41:38
Reply

Marsh Posté le 11-04-2007 à 08:12:34    

kadreg a écrit :

chouette, tout ce que je doit utiliser au taf' :o


M'étonne pas. Dans le militaire, ils aiment bien le style char d'assaut pour écraser la mouche. Surtout qu'au final, c'est l'état qui paye. Syndrome du "plus c'est cher, mieux c'est".
Enfin l'avantage avec Clearcase, d'après mon expérience, c'est qu'une fois par mois  à peu près, le serveur de vobs/vues/licences est en carafe (de préférence le lundi matin), ce qui permet à tout le monde de glander à la salle café à bon compte (dans le cas des vues dynamiques). :p


Message édité par el muchacho le 11-04-2007 à 08:19:02
Reply

Marsh Posté le 11-04-2007 à 08:13:44    

raté, c'était hier :o mais bon, ça compte pareil


Message édité par kadreg le 11-04-2007 à 08:13:52
Reply

Marsh Posté le 11-04-2007 à 08:19:58    

Ah ben peut-être que chez vous la fréquence est plus élevée. :D

Reply

Marsh Posté le 15-04-2007 à 12:04:21    

++fab a écrit :

Dans la rubrique logiciel de gestion de conf le plus merdique, je donne la palme à cette boue de CM Synergy (continuus). Je pense que son IHM motif, des années 30, et buggé jusqu'à la moelle en ferait pâlir plus d'un. Certains le comparent parfois à ClearCase, mais sans avoir l'honneur de connaitre ce dernier, je suis sur qu'on ne peut pas dépasser la médiocrité de CM, ce serait inhumain.


Faut vraiment que les types qui choisissent ce genre d'outil aiment la vaseline ou que le vendeur du CMS leur offre discrètement des vacances aux Caraïbes, parce qu'au prix de la licence... :ouch:  :ouch:  :ouch:  
 
"Prices negotiable with salesman. Server is typically roughly 20,000 British Pounds. Clients are 4,000 British Pounds. Per-year costs of 18% of original." :pfff:

Reply

Marsh Posté le 15-04-2007 à 12:10:47    

mon premier rebase avec clearcase (un équivalent du cvs update pour ceux qui suivent pas)
 
1h30 pour y arriver [:atsuko]

Reply

Marsh Posté le 15-04-2007 à 12:17:20    

Nous on utilise les vues dynamiques avec Clearcase, ça marche très bien.

Reply

Marsh Posté le 15-04-2007 à 12:24:52    

pas moi :'(
 
clearcase en mode UCM ...

Reply

Marsh Posté le 15-04-2007 à 13:52:46    

kadreg a écrit :

mon premier rebase avec clearcase (un équivalent du cvs update pour ceux qui suivent pas)

 

1h30 pour y arriver [:atsuko]


Bah, c'est le temps moyen consacré à chaque opération non triviale avec CC.[:spamafote]

verdoux a écrit :

Nous on utilise les vues dynamiques avec Clearcase, ça marche très bien.


Ca marche, oui. Mais d'après mon expérience (de quelques années) l'avantage, si avantage il y a, est au final assez marginal dans la plupart des cas. Ok, ça permet de récupérer une config presque instantanément (si on ne se plante pas dans le fichier de config spec). C'est pratique quand on travaille sur 2 patchs en même temps sur un gros projet de ~10 000 fichiers. Et c'est d'autant plus crucial que CC est vraiment lent, même à coté de CVS.
Mais le pb, c'est que ce gain de temps ne compense absolument pas la lenteur des builds de Clearmake. La puissance des serveurs et la qualité du réseau sont critiques pour le confort du travail car ils font office de goulot d'étranglement. Le pire, c'est quand il y a une panne serveur ou réseau (ce qui arrive régulièrement): en vue dynamique, comme le source n'est pas en local, on ne peut plus bosser du tout.:D
Au final, quand on pèse les avantages et les inconvénients, je trouve qu'en dev, on reste bien plus productif en snapshot (pas besoin du serveur pour builder). En vérité, je trouve que sauf en ce qui concerne le branchement et le merge, on est plus productif avec CVS qu'avec CC (et je ne suis pas le seul). Ma conclusion est que les vues dynamiques peuvent être pratiques en maintenance/correction de bogues, mais sont plutôt une perte de temps en développement, où l'on ne change pas de config tous les jours, mais où on builde plusieurs fois par jour.
Or, l'avantage procuré par les vues dynamiques n'en est plus un par rapport à des SCM décentralisés avecs lequels le branchement est une opération instantanée et où récupérer un snapshot est extrêmement rapide (~20 Mo/seconde pour Mercurial). De plus, comme ils conservent l'historique de merge (ce que ne font ni CVS, ni SVN), leur capacité de merge est équivalente à celle de CC, voire supérieure pour darcs. Donc que reste-t'il comme avantage à CC ? Je ne vois guère que la GUI, boguée mais pratique. Face aux produits open source, c'est vraiment cher payé pour pas grand-chose.
En conclusion, CC est pour moi un produit ancien aux concepts élaborés, mais avec une implémentation d'une lourdeur trop élevée, et un sytème de licences flottantes lourdissime (le serveur de licences est sollicité à la moindre opération ! C'est d'ailleurs une cause supplémentaire de blocage. Vu le coût de la licence flottante, les boîtes en prennent un minimum, et parfois, ça peut bloquer). Bon, c'est pas SourceSafe non plus. CC ne fera pas perdre de données. Et à sa décharge, d'autres produits payants comme PVCS sont à mon avis encore pires.

 
kadreg a écrit :

pas moi :'(

 

clearcase en mode UCM ...


Jamais essayé UCM. Ca ressemble un peu à une tentative de faire plus ou moins des changesets, non ?


Message édité par el muchacho le 15-04-2007 à 14:49:14
Reply

Marsh Posté le 15-04-2007 à 14:03:14    

oui, ainsi que de lier les changements de source à des activités de dev pouvant être gérées via clearquest :o

Reply

Marsh Posté le 15-04-2007 à 14:22:23    

Donc une tentative d'émuler les SCM open source.


Message édité par el muchacho le 15-04-2007 à 14:31:26
Reply

Marsh Posté le 15-04-2007 à 14:25:01    

oui, mais en lourd :o
 
je veux mantis, testlink et CVS [:sisicaivrai]

Reply

Marsh Posté le 15-04-2007 à 14:33:21    

Prépare tes affaires :D

 
Citation :

I can't speak for ClearCase, but I worked for a small tech company that nearly destroyed its market share using Rational's "Unified Process." We didn't recover until we dumped all the weight and moved to something more XPish. Rational is where ClearCase originated.

[:bap2703]
Tiens, au passage, la personne qui m'a contactée pour aller bosser sur ton projet a commencé par me demander si j'étais un expert CC (ils cherchaient un admin CC, visiblement). Je lui ai gentiment fait comprendre que ce poste ne m'intéressait pas.

Message cité 1 fois
Message édité par el muchacho le 15-04-2007 à 14:40:30
Reply

Marsh Posté le 15-04-2007 à 14:54:30    

el muchacho a écrit :


Tiens, au passage, la personne qui m'a contactée pour aller bosser sur ton projet a commencé par me demander si j'étais un expert CC (ils cherchaient un admin CC, visiblement). Je lui ai gentiment fait comprendre que ce poste ne m'intéressait pas.


 
ils l'ont trouvé :o


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 17-04-2007 à 23:08:09    

el muchacho a écrit :

Faut vraiment que les types qui choisissent ce genre d'outil aiment la vaseline ou que le vendeur du CMS leur offre discrètement des vacances aux Caraïbes, parce qu'au prix de la licence... :ouch:  :ouch:  :ouch:


Hélas non, c'est sans vaseline. C'est une idée pour les prochains investissements.
 

el muchacho a écrit :

"Prices negotiable with salesman. Server is typically roughly 20,000 British Pounds. Clients are 4,000 British Pounds. Per-year costs of 18% of original." :pfff:


Le coût matériel, humain, médical même -voire proctologique- est du même orde de grandeur.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed