none
Mon application se crashe sans autre forme de procès RRS feed

  • Question

  • Bonjour,

    Mon appli C#, lancée en mode debug sous Visual Studio 2010, crashe sans bruit. Pas de message, alors que j'ai un try/catch global. Je soupconne un pb de RAM (le processus atteint 600 Mo de RAM avant le crash). Comment puis-je en être certain et trouver l'origine de ce problème ?

    Cordialement


    Philippe
    mercredi 16 mars 2011 13:03

Réponses

  • Il suffisait d'ajouter un Dispose à l'objet créé par l'appel au composant COM dans un bloc finally.

    Donc c'est réglé. Merci de votre attention.


    Philippe
    • Marqué comme réponse PhilTheGap jeudi 17 mars 2011 10:11
    jeudi 17 mars 2011 10:10

Toutes les réponses

  • Bon je crois avoir trouvé le problème. Ca se passe sur une boucle sur une DataTable:

     foreach (DataRow dataRow in catalogCardDataTable.Rows)
                    {}

    A chaque passage dans la boucle, la RAM du processus augmente. Pourtant, elle ne devrait pas puisque le GC devrait libérer les ressources du DataRow précédent avant d'allouer celle du DataRow courant. Le DataRow n'est pas référencé ailleurs...

    Comment puis-je faire ?

    Cordialement


    Philippe
    jeudi 17 mars 2011 09:46
  • J'ai trouvé l'origine du problème. J'utilise une méthode dans la boucle qui fait appel à un composant COM. Si je supprime cet appel, alors je n'ai plus de problème la mémoire reste stable.

    Donc maintenant j'ai au autre souci, comme gérer la mémoire non managée. Si vous avez des pistes...

     

     


    Philippe
    jeudi 17 mars 2011 09:53
  • Il suffisait d'ajouter un Dispose à l'objet créé par l'appel au composant COM dans un bloc finally.

    Donc c'est réglé. Merci de votre attention.


    Philippe
    • Marqué comme réponse PhilTheGap jeudi 17 mars 2011 10:11
    jeudi 17 mars 2011 10:10