Programme qui plante sans savoir pourquoi

Résolu
sandra26 Messages postés 92 Date d'inscription mercredi 5 juillet 2006 Statut Membre Dernière intervention 5 août 2009 - 18 févr. 2007 à 08:43
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 24 févr. 2007 à 10:18
Salut,
Je dois reparer un programme qui se charge de faire des enregistrements de videos surveillance.
Ce programme marche tres bien dans le fonc mais il faut quil reste allume 24h/24.Seulement au bout d'un moment il plante, l'interface bloque et je ne peut le fermer que grace au Gestionnaire des taches.
Je ne pense pas que ca soit un pb de memoire, j'ai donc fait plusieurs enregistrements en plusieurs jours du gestionnaire des taches afin de voir le comportement de ce programme.
J'ai deceler qqs bizareries:
    - j'ai remarque que les Handles augmentaient considerablement d'un jour a l'autre, en 3 jours ils ont plus que triples(de 7000 a 24000 environ), 
   - ObjectUsers est passe de ~270 a ~530,
   - Util Max Memoire a aussi augmente ainsi que la memoire virtuelle
Est ce que c'est normal?
Sinon qu'est ce que je dois faire?
sandra

5 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
18 févr. 2007 à 10:32
Salut,

A ce niveau là tu n'as plus qu'à entammer une revue de code pour déterminer ce que tu gardes ouvert pour rien, on ne peut pas te donner de raison précise avec si peu d'éléments.
Avant celà tu peux tenter de vérifier quels sont les handles qui ne sont jamais fermés, via Process Explorer notamment.

Par contre si le logiciel est destiné à enregistrer les vidéos, je m'interogge sur l'utilité d'une application basée sur un GUI pour effectuer cette tâche.

/*
coq
MVP Visual C#
CoqBlog
*/
3
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
24 févr. 2007 à 10:18
Ctrl+H pour afficher la liste des Handles du processus sélectionné.

/*
coq
MVP Visual C#
CoqBlog
*/
3
sandra26 Messages postés 92 Date d'inscription mercredi 5 juillet 2006 Statut Membre Dernière intervention 5 août 2009
18 févr. 2007 à 10:44
Salut Coq,
en fait on en a besoin pour pouvoir visualiser les cameras videos en temps reel.
Je me pose une question, les enregistrements se font dans des dossiers nommes selon les clients. ces dossiers se trouvent dans le bin de l'appli, serait-ce pour ca que le nombre de handle ne fait que augmenter?
En attendant ton avis je vais suivre ton conseil.
Merci de ta reponse

sandra
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
18 févr. 2007 à 10:58
Déjà utiliser le répertoire de l'application est presque suicidaire, dû aux restrictions d'accès qui y sont en général appliquées pour un compte standard, notamment en écriture.

Ensuite effectivement ça pourrait venir de handles sur fichier ouverts et jamais fermés, soit côté .NET un objet Stream (& co) ouvert mais jamais fermé, et ne se trouvant jamais libérable par le GC.
Ca peut aussi venir d'un accès au registre etc etc
Mais ça peut venir de n'importe quoi d'autre : controle graphique etc, bref tout ce qui implique l'ouverture d'un handle.
Ensuite si tu affiches les vidéos je suppose que tu passes par un contrôle existant pour celà, du type WMP & co
Donc il faut déjà que tu identifies ce qui pourrait clocher pour cibler ta revue, sinon elle devra être totale.

/*
coq
MVP Visual C#
CoqBlog
*/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sandra26 Messages postés 92 Date d'inscription mercredi 5 juillet 2006 Statut Membre Dernière intervention 5 août 2009
20 févr. 2007 à 11:03
Salut, j'ai donc suivi ton conseil et telecharge Process Explorer mais je ne trouve pas comment verifier les handlesqui ne sont jamais fermes.
Peut tu m'en dire un peu plus ou bien me diriger vers de la doc stp?

sandra
0
Rejoignez-nous