IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Dotnet Discussion :

debuger une application chez le client


Sujet :

Dotnet

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    maa
    maa est déconnecté
    Membre éclairé
    Avatar de maa
    Inscrit en
    Octobre 2005
    Messages
    672
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Octobre 2005
    Messages : 672
    Par défaut debuger une application chez le client
    Bonjour

    Mon programme plante lorsque je l'execute chez le client et ne m'affiche pas de message d'erreur précis. J'aimerais au moins savoir à quelle ligne il plante et avoir le détail de l'erreur.

    Je peux avoir tous ça si je l'execute dans Visual Studio, mais je n'ai pas visual studio sur l'ordi où ça plante.

    Auriez vous des solutions à me proposer pour mieux localiser l'erreur sur un poste client?

  2. #2
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Tu peux essayer de reprendre tout ton code est mettre des try catch un peu partout. Dans le catch tu loggues ce qui se passe. Si tu livres les .pdb avec tu pourras également avoir les numéros de ligne dans la stacktrace.

  3. #3
    maa
    maa est déconnecté
    Membre éclairé
    Avatar de maa
    Inscrit en
    Octobre 2005
    Messages
    672
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Octobre 2005
    Messages : 672
    Par défaut
    mettre un try-catch ça peut encore aller... mais généralement je dois en semer un peu partout pour pouvoir localiser l'erreur..

    Si avec un tr-catch je pourrais avoir la ligne précise de l'erreur + pile d'appel, ça me conviendrait.. mais comment faire?

  4. #4
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Citation Envoyé par maa Voir le message
    mettre un try-catch ça peut encore aller... mais généralement je dois en semer un peu partout pour pouvoir localiser l'erreur..

    Si avec un tr-catch je pourrais avoir la ligne précise de l'erreur + pile d'appel, ça me conviendrait.. mais comment faire?
    Ben le truc c'est que généralement, dans un programme bien fait, il y'en a deja un peu partout
    Donc pas trop le choix, des que y'a une possibilité d'exception il faut l'entourer avec un bloc try catch.
    Lorsqu'on a un découpage en couche, on décide aux frontières de la couche de la politique: dois-je loguer? remonter à la couche supérieure? la passer sous silence? Il faut faire un peu attention sinon on se retrouver à logguer 5 fois la même erreur.

    A part ca, y'a pas grand chose d'autre à faire.

  5. #5
    Membre Expert Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Par défaut
    Citation Envoyé par Nathanael Marchand Voir le message
    Ben le truc c'est que généralement, dans un programme bien fait, il y'en a deja un peu partout
    +1.

    Là on peut éventuellement te donner des pistes pour trouver ce problème précis, mais ça prouve que dans la conception du programme il y a des lacunes, tu ne devrais pas à avoir à te déplacer chez le client pour débugger...

    En partant de la même observation, je pense qu'une phase de stabilisation de ton application sera nécessaire, car si un autre bug apparaît je te vois mal te déplacer à chaque fois, ou alors ça risque de coûter cher en maintenance !

    Et je te conseille également vivement de mettre en place un système de log plus poussé, avec des exceptions "personnalisées", ça te permettra de débugger plus facilement.

    Pour les pistes, sur le constat que ça marche dans un environnement mais pas dans l'autre :
    - As-tu des scénarios de tests pour mettre en évidence une origine/cause du bug ou est-ce que c'est toute l'application qui plante ?
    - Sur quel(s) OS le problème apparaît ? 32/64 bits ?
    - Y a-t-il des opérations qui doivent s’exécuter dans un ordre précis et/ou avec des dépendances temporelles ?
    Par exemple, est-ce que si la méthode A s'exécute en seulement 100ms, la méthode B tombe en erreur car elle n'a pas eu le temps de s’exécuter ou d'accéder à la ressource ?
    - Est-ce qu'il y a des opérations réseaux ?
    - Est-ce que le volume mémoire occupé par l'application est important ?
    - Est-ce que l'application gère/utilise des fichiers sur le répertoire local ?

    Pour la dépendance à l'OS, tu peux t'amuser avec VMWare ou VirtualPC à faire tourner l'application sur plusieurs OS différents, a priori c'est surtout 32bits/64bits qui pourrait causer une anomalie, de XP à Seven c'est assez transparent pour les applications.

    Bon courage !

Discussions similaires

  1. Réponses: 12
    Dernier message: 14/05/2013, 14h32
  2. [wd9] rendre une application monoposte en client/serveur
    Par hamdi amine dans le forum WinDev
    Réponses: 2
    Dernier message: 11/02/2008, 12h53
  3. faire exécuter une commande chez le client
    Par kenny49 dans le forum Langage
    Réponses: 1
    Dernier message: 05/04/2007, 13h53
  4. developement d'une application d'authentification client/serveur
    Par anisj1m dans le forum Général Java
    Réponses: 2
    Dernier message: 22/02/2007, 12h02
  5. Réponses: 2
    Dernier message: 01/02/2007, 22h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo