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 :

Visual Studio -- EEFileLoadException


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif

    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2014
    Messages : 103
    Par défaut Visual Studio -- EEFileLoadException
    Bonjour à tous,

    J'implémente une interface avec un parseur XML dans le cadre d'un stage de fin d'études et, parmi les nombreux blocages que j'ai déjà eus, en voici un qui me donne beaucoup de fil à retordre.

    À la compilation du projet, Visual C++ me susurre les mots doux suivants :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    First-chance exception at 0x7571C42D in vstest.executionengine.x86.exe: Microsoft C++ exception: EEFileLoadException at memory location 0x0571D4A4
    Je ne sais vraiment, mais vraiment pas de quoi il s'agit, et quand je me sers de mon ami Google je ne comprends rien à ce qu'il dit.

    Une petite description du contexte (facultative) tout de même :

    Dans mon entreprise, on dispose d'un optimiseur (un moteur d'optimisation quoi) prenant en entrée des données fournies sous format XML. Cet optimiseur étant codé en C++, on a besoin d'un parseur XML. L'optimiseur fournit une interface pour éviter le couplage avec le parseur XML, et ma mission est d'implémenter la relation entre l'interface et le parseur.

    Dans Visual C++, j'ai déjà créé des liens entre l'interface et le parseur, et testé plusieurs fonctions avec succès. Mon outil de tests unitaires est Google Test (je le mets en gras au cas où le problème viendrait de là).

    Quelqu'un parmi vous serait-il en mesure de me fournir un oracle ou une piste à suivre pour résoudre mon problème ? Je lui en serai très reconnaissant.

    Merci à tous !

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 470
    Par défaut
    C'est pas très clair votre truc.
    C'est une "first-chance exception", si elle est catché, il n'y a pas de problème.
    C'est une exception liée à .NET et je ne vous pas de rapport avec votre projet.
    C'est une exception, c'est donc à l'exécution pas à la compilation.

    C'est en passant les tests que vous avez cette exception ?
    Ou en exécutant votre optimiseur ?

    C'est super pas clair.

  3. #3
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Euh, vstest.executionengine.x86.exe, c'est l'outil de test unitaires de Visual Studio, pas celui de Google...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Membre très actif

    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2014
    Messages : 103
    Par défaut
    Citation Envoyé par bacelar Voir le message
    C'est pas très clair votre truc.
    C'est une "first-chance exception", si elle est catché, il n'y a pas de problème.
    C'est une exception liée à .NET et je ne vous pas de rapport avec votre projet.
    C'est une exception, c'est donc à l'exécution pas à la compilation.

    C'est en passant les tests que vous avez cette exception ?
    Ou en exécutant votre optimiseur ?

    C'est super pas clair.
    Bonjour,

    Merci pour vos réponses. Je sais que ce n'est pas clair parce que dans ma tête ce n'est pas très clair non plus ! Je ne sais pas comment catcher une First-chance exception car je ne sais pas de quoi il s'agit.

    En fait vous avez raison ce n'est pas à la compilation mais à l'exécution que ces exceptions apparaissent, mais elles apparaissent avant les premières lignes du main de mon programme - je l'ai constaté en utilisant le debugger de MSVC - mais si je demande au compilateur de continuer sans s'en préoccuper, le programme fonctionne normalement - pour le moment.

    Oui, c'est en passant les tests que je suis confronté à cette exception... Pour l'instant, l'optimiseur est un projet en chantier, que je n'ai pas encore eu l'occasion d'exécuter (en gros, je ne m'en occupe pas pour le moment). Et la remarque de Médinoc soulève un point qui me semble étrange : je sais que j'exécute les librairies de test fournies par Google (références à GTest au sein de mon projet sans laquelle il m'est impossible de compiler, exécution des Google Tests dans le main...) mais en effet, c'est vstest qui pose problème... Y'a-t-il un lien entre Google Tests et VSTest ?

    Merci.

    P.S. : En effet il n'y a pas de lien avec .NET car je n'ai jamais utilisé ce langage, ni dans ce projet, ni ailleurs...

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Ce n'est pas une exception .Net, c'est une exception C++.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 470
    Par défaut
    "EEFileLoadException" n'est pas une exception .NET mais elle est lancée pour le Runtime .NET.
    Les first-chance ne ce catchent pas, ce n'est pas une exception c'est une phase lors du lancement d'une exception.
    La première phase est quand on cherche une clause catch d'une exception.

    Si le débuggeur s'arrête à ce moment de la vie de l'exception, c'est qu'il a été configuré, à tord ou à raison, pour suspendre le debuguee lors du lancement de ce type d'exception et non au moment où l'exception arrête le programme quand elle n'est pas catchée.

    Le plus probable, c'est que vous ayez, par un moyen ou un autre, ajouté de tests unitaires MS dans votre projet et que votre projet tente de les passer en post-compilation.

    Pouvez-vous recréer le projet pour vérifier mon hypothèse ?

  7. #7
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Note: le debugger logue "first-chance exception" qu'il interrompe l'exécution ou non. Il serait une bonne idée de désactiver l'interruption au lancement d'exception pour voir si celle-ci est gérée ou non.
    Citation Envoyé par bacelar Voir le message
    Le plus probable, c'est que vous ayez, par un moyen ou un autre, ajouté de tests unitaires MS dans votre projet et que votre projet tente de les passer en post-compilation
    Je plussoie.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

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

Discussions similaires

  1. News Visual Studio
    Par farscape dans le forum Visual C++
    Réponses: 34
    Dernier message: 27/04/2010, 10h21
  2. [IDE] Visual Studio 2005 Express
    Par Louis-Guillaume Morand dans le forum Général Dotnet
    Réponses: 130
    Dernier message: 23/12/2006, 15h08
  3. Visual Studio .Net et template
    Par Sphax dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 17/07/2004, 16h33
  4. Probleme d'utilisation de directX 9 avec visual studio.net
    Par cranedoeuf dans le forum DirectX
    Réponses: 1
    Dernier message: 24/05/2004, 04h33
  5. Version de Windows dans Visual Studio !!!
    Par Jasmine dans le forum MFC
    Réponses: 3
    Dernier message: 18/03/2004, 17h40

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