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

C# Discussion :

Crash sans exception


Sujet :

C#

  1. #1
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Par défaut Crash sans exception
    Salut tout le monde,

    Je suis confronté a un petit problème.
    J'ai écrit une appli C#/WPF qui fonctionne sur 50 % des PC ou je l'installe ....
    Quand l'application ne fonctionne pas elle fait carrément un crash en voulant générer un rapport d'erreur ...

    J'ai entouré la ligne qui fait planter par try catch pour essayer de récupérer l'exception mais impossible, elle plante et génère un rapport d'erreur.

    Vu que je fais appel a un composant externe, je me dis que c'est meut etre pour ça que je ne peux pas récupérer l'exception.

    Quel méthode je devrais mettre en place pour avoir plus d'info lors du crash et ainsi pouvoir corriger mon pb ?

    Merci d'avance

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    le bon framework est il installé ?

    tu peux aussi tenter de t'abonner à unhandledexception
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Par défaut
    Oui oui ....
    Mais je veux surtout trouver une technique pour récupérer le message d'erreur.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    135
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 135
    Par défaut
    Si ta ligne comporte des p/invoke, et que c'est le code de tes p/invoke qui plante, ya moyen qu'il n'y aie rien à récupérer, dans la mesure où il ne s'agit pas d'exception .Net ...

  5. #5
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Par défaut
    Ca fait appel à un composant d'Enterprise Library ...
    Il faudrait que je regarde son code source ...

  6. #6
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Par défaut
    Visiblement si j'utilise les call stack, je pourrais avoir plus de précision sur le crash, je vais essayer de le mettre en place.

    Si quelqu'un a un exemple ...

  7. #7
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Par défaut
    Voici les solutions au pb

    Alors un petit bout de code pour voir ce qu'il y a dans la stack et pour logger l'exception :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
                StackTrace stackTrace = new StackTrace();           // get call stack
                StackFrame[] stackFrames = stackTrace.GetFrames();  // get method calls (frames)
     
                try
                {
                    dtBase = EnterpriseLibraryContainer.Current.GetInstance<Database>();
                }
                catch (Exception e)
                {
                    using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Users\Public\Exception.txt"))
                    {
                       file.WriteLine(e.Message);
                    }
                }
                finally
                {
     
                    // Example #3: Write only some strings in an array to a file.
                    using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Users\Public\WriteLines.txt"))
                    {
                        // write call stack method names
                        foreach (StackFrame stackFrame in stackFrames)
                        {
                            file.WriteLine(stackFrame.GetMethod().Name);
                        }
                    }
                }
    Il faut utiliser l'assembly System.Diagnostics;


    Pour la cause de mon crash c'est en fait Enterprise Library qui ne veut pas lire le fichier app.config (je sais pas pourquoi) en attendant je met les paramètres en clair directement dans le code source.


    Voici l'exception qu'on obtient quand on à ce problème

    Activation error occured while trying to get instance of type Database, key

    Merci à tous pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/07/2009, 15h05
  2. JPanel transparent (tous sans exceptions)
    Par aristeas dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 12/02/2009, 23h16
  3. interruption d'un programme java sans exception
    Par laurent.c123 dans le forum Général Java
    Réponses: 9
    Dernier message: 14/12/2007, 10h10
  4. Blocage sans exception
    Par Chris33 dans le forum Tkinter
    Réponses: 3
    Dernier message: 07/12/2006, 10h27
  5. Réponses: 3
    Dernier message: 18/08/2006, 12h11

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