Bonjour,
je ne sais pas si je poste au bon endroi mais j'aimerai connaitre le nom de quelques freeware permettant de reperer les fuites memoires d'un programme C.
Merci!!
Bonjour,
je ne sais pas si je poste au bon endroi mais j'aimerai connaitre le nom de quelques freeware permettant de reperer les fuites memoires d'un programme C.
Merci!!
Moi j'utilise cette technique(pas top, mais on peu deja voir si on a une fuite)
si tu est sous linux sous KDE tu peu faire CTRL + ESC ou sous Windows 2000 et XP tu fait CTRL + ALT + SUPPR et tu va dans l'onglet processu. Si tu as une fuite de mémoire ton programme dans la liste des processus à sa mémoire utilisée qui augmente.
Je sais c'est pas super mais ça ma permi de resoudre quelques problémes de ce genre. Il suffit de désactiver ensuite une à une les parties de ton programme pour voir d'ou viens la fuite.
En fait, en regle general, je declare un compteur en global et je fais ++ a chaque malloc et -- a chaque free. Puis j'affiche le resultat...
C'est assez efficace.
Sinon, je rajoute:
a la fin du main .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 while(1);
Et, en meme temps je fais un top pour voir ce qu'il reste a la fin...
ca marche bien aussi.
Mais la, je sais que j'ai enorme de fuite partout et j'ai pas super envie de me les resoudre a la main... donc un pitit soft serai le bienvenu!!!
Merci !!
Au lieu d'un while(1) qui va te bouffer toutes tes ressource fais un pause() sous linux ... (ctrl^C pour fermer le programme ensuite).Envoyé par vince3320
allez puisque la recherche c'est pas ton fort visiblement :
valgrind
Alors tu sera interessé par ça:Envoyé par vince3320
http://emmanuel-delahaye.developpez.com/clib.htm
Module SYSALLOC
Ca manque un peu de mode d'emploi !. Si ça t'intéresse, je peux m'y coller... j'ai du temps libre en ce moment (ma boite à brûlé).
ok ok
je regarde tt ca demain!!
Merci!!
PS desole pour ta boite... et bon courage a toi!!
Envoyé par Emmanuel
Si ils avaient respecté la norme incendie ... Ok désolé je
Effectivement, il n'y aurait peut être pas eu 55 voitures brûlées dans la parking souterrain avec propagation au rez de chaussée... Une enquête est en cours, et je pense que le propriétaire des locaux va passer un sale quart d'heure...Envoyé par Yabo
coucou!
Bon j'ai regarde ton code et c'est vrai que j'ai un peu de mal a bien saisir.
De plus, a un moment donne, tu fais
Je n'ai pas trouve ces fichiers.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 #include "ed/inc/sys.h" #include "ed/inc/cnt.h"
Je n'ai recupere que sysalloc.*
Je ne comprends pas tres tres bien la...
Merci de ton aide
Pour valgrind je le testerai ce WE, ici j'ai pas le droit.........
Merci encore!!
Ils sont dans les modules respectifs SYS et CNT sur la même page. Il faudra bien sûr ajouter les .c correspondants au projet...Envoyé par vince3320
J'ai ajouté un lien 'mode d'emploi' (un peu spartiate) accessible à partir de la liste des fonctions (module CLIB)
http://emmanuel-delahaye.developpez.com/sysalloc_um.htm
C'est un peu fastidieux, mais on y arrive.
N'hésite pas à poser des questions.
Je ne trouve pas le module cnt.
Il est bien sense se trouver sur cette page?
http://emmanuel-delahaye.developpez.com/clib.htm
De plus, il a l'air de manquer ceci
#include </djgpp/include/sys/version.h>
Oui, mais j'ai rajouté le lien ce matin. Il faut recharger la page.Envoyé par vince3320
Oui, c'est dans une partie un peu glauque de sys.h, qui n'est pas portable... Quel est ton compilateur ?De plus, il a l'air de manquer ceci
#include </djgpp/include/sys/version.h>
Ben meme en rechargeant ta page, je ne le vois pas...
Il est entre quoi et quoi normalement?
C'est peut etre moi qui a du mal...
mon compilateur c'est gcc
apres je ne sais pas comment savoir quel version de gcc je possede...
Moi je le vois :
Fais bien "actualiser" (et pas simplement reclicker sur le lien).CHRO Mesure du temps d'exécution chro.c chro.h ISO-C 90
CNT Compteurs cnt.c cnt.h cnt_err.itm ISO-C 90
CS8 Checksum 8-bit cs8.c cs8.h ISO-C 90
en fait, cela doit venir de l'endroi ou je me trouve car meme sur un autre post je ne voi pas le lien.
Je retenterai plus tard dans la journee!!!
Merci!!
gcc -VEnvoyé par vince3320
Essaie en effacant l'historique de ton navigateur.Envoyé par vince3320
Sinon voici les liens (si ca te dérange Emmanuel je les enlève) :
cnt.c
cnt.h
cnt_err.itm
nickel
Donc j'ai tout recupere!!
merci bien!
La version de gcc est
gcc version 2.96
C'est en ordre alphabétique, donc entre CHRO et CS8Envoyé par vince3320
http://emmanuel-delahaye.developpez....b/ed/src/CNT.C
http://emmanuel-delahaye.developpez....b/ed/inc/CNT.H
http://emmanuel-delahaye.developpez....nc/CNT_ERR.ITM
[EDIT]mon compilateur c'est gcc
apres je ne sais pas comment savoir quel version de gcc je possede...
J'ai modifié sys.h et sys.c. Ca devrait regler le probleme avec DJGPP, mais je n'ai pas de machine Linux pour tester.
[/EDIT]
Tiens moi au courant.
Pas du tout. Rien de secret!Envoyé par Yabo
C'est bon, je les ai!
Mais il reste ceci
sys.h:197:40: /djgpp/include/sys/version.h: Aucun fichier ou répertoire de ce type
avec gcc 2.96
Merci a toi
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager