begin process at 2010 02 09 21:38:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

Divers

 > 

Memory Leak


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Memory Leak

mardi 26 juillet 2005 à 11:15:39 | Memory Leak

walibi333

      Bonjour,

   Je voulais savoir si quelqu'un connaissait un outil pour aider à la détection des fuites mémoires en C# ? Du style Purify pour le C++ il me semble.

   merci
mardi 26 juillet 2005 à 11:28:43 | Re : Memory Leak

Fildomen

euh , des fuites mémoires??? je n'ai jamais entendu parler de ca, je pense que le c# est très sécurisé, pas comme le cblusblus, alors le compilateur ne laisse pas executer ces trucs

(Je pense)

YaoYao !!
1 + 1 = 10
mardi 26 juillet 2005 à 11:32:03 | Re : Memory Leak

Lutinore

Administrateur CodeS-SourceS

Salut, il n'y a pas de memory leak avec le code managé justement ! A moins d'utiliser de la mémoire non managée, ce qui n'est pas fréquent dans des projets "classiques".

CLR Profiler ( sur le site de Microsoft ).

mardi 26 juillet 2005 à 12:00:56 | Re : Memory Leak

sebmafate

Membre Club Administrateur CodeS-SourceS
ca arrive de perdre de la mémoire...

par exemple, un exemple à la con, essayé d'utiliser des images (bitmap), si vous ne faites pas de Dispose à la fin... et bah la mémoire monte, monte, monte...


Sébastien FERRAND

Blog : http://blogs.developpeur.org/sebmafate
mardi 26 juillet 2005 à 12:04:15 | Re : Memory Leak

Lutinore

Administrateur CodeS-SourceS
Et le Dtor du bitmap il appele Dispose, j'espère !?
mardi 26 juillet 2005 à 12:10:54 | Re : Memory Leak

walibi333

      J'utilise du code non managé justement. Pour traiter des images pixel par pixel c plus efficace quand même. Je pensais avoir correctement libéré ces ressources (normalement avec lock/unlock) mais je vais revérifier. Le problème que j'ai est que j'utilise des resosurces que je ne dois pas libèrer pas explicitement (je pense) avec dispose par exemple et qui trainent à la fin de mon exécution. Et ca GC ou pas le programme ne peut pas deviner quand est ce j'arrete de les utiliser. Bref, j'ai un résidu de 100 Mo après une exécution qui monte jusque 500 Mo...
mardi 26 juillet 2005 à 14:02:50 | Re : Memory Leak

RMI

Une bonne habitude à prendre est de se forcer à faire un dispose sur tous les objets possédant cette méthode...., j'ai moi aussi rencontré des pertes de mémoires (pas seulement du à mon age) et pas sur des bitmaps mais sur des usercontrol qui étaient créer dynamiquement sur des panels et détruit par monPanel..Controls.Clear().

Théo
mardi 26 juillet 2005 à 15:06:10 | Re : Memory Leak

Lutinore

Administrateur CodeS-SourceS
Vi, mais normalement le destructeur il appelle Dispose, et le GC à moins d'un sortie anormale ( plantage ) du programme il n'oublie pas la méthode Finalize.
mardi 26 juillet 2005 à 17:11:30 | Re : Memory Leak

Miiitch

Il faut surtout se forcer a utiliser using (tonobjet) { } quand c'est possible, tu es sur au moins que Dispose sera appelé meme si une exception est déclanchée.

Miiitch

mercredi 27 juillet 2005 à 10:23:35 | Re : Memory Leak

walibi333

      Salut,

   Je me suis un peu plus documenté sur les méthodes à utiliser pour libérer les ressources en C# mais quelques questions substistent. En fait je travaille avec des classes qui, pour la plupart, contiennent des ArrayList et Hashtable en données membres, est ce que je dois appeler la méthode clear sur ces données pour informer le GC qu'elles ne sont plus nécéssaires ? Est ce que je dois en plus affecter la valeur null à ces conteneurs ? 
   Certains de ces conteneurs stockent des strings, donc type de base, pour ces conteneurs j'appele juste la méthode clear, pour les autres conteneurs qui stockent des images je les parcoure en entier et j'appele explicitement dispose sur le éléments... est-ce que la bonne facon de faire ?
   D'une manière générale, comment est ce qu'on differencie une ressource managée d'une non managée ?

   merci.

1 2

Cette discussion est classée dans : memory, leak


Répondre à ce message

Sujets en rapport avec ce message

Probleme Memory avec Word [ par DiscoPlacid ] Bonjour à tous,   J'ai développé une application qui doit générer des documents Word. Jusque là, aucun problème. J'ai vs2005 et Word2003.Sur mon pc, t dll non libérée (Attempted to read or write protected memory.) [ par mustik2k ] Bonjour,J'ai une page qui utilise une classe C# implémentant une .dll écrite en C de la manière suivante :     //Chargement de la DLL kernel 32 afin d Acceder à de la "memory share" en c# [ par spipi ] Bonjour..  à tous.. Voici la question, j'ai une dll en c++ qui partage de la mémoire avec gendre de code#pragma data_seg(".SHARDAT") _declspec(dllex Attempted to read or write protected memory. This is often an indication that other memory is corrupt. [ par damzz ] Bonjour, J'ai créé une dll en C# (.NET 2.0 et 3.5) qui fait appel à des méthodes venant d'une librairie développée en C/C++. Cette dernière est util Out of memory [ par GG29 ] Bonjour, J'ai créé une liste chainée. Lorsque j'exécute ceci j'ai une erreur de type OutOfMemoryException var l = new LinkedList(); for (var i = 0


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales