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 :

Unhandled Win32 Exception en mode Release


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6
    Par d�faut Unhandled Win32 Exception en mode Release
    Bonjour,

    Alors voici mon probl�me : j'ai mon programme qui fonctionne en mode debug, mais comme il s'agit d'un programme de rendu �a irait beaucoup plus vite en mode release donc j'ai essay� et l� surprise : �a plante !

    Ci dessous un petit screenshot, il y a plusieurs choses que je ne comprends pas :
    - Pourquoi est-ce que le programme va sur cette ligne alors qu'il y a justement un "if element == NULL" sur la ligne du dessus ?

    - Pourquoi le catch(...) ne fait-il pas son boulot ?

    Et enfin au meme endroit en mode debug : le pointeur element n'est pas NULL est l'exception est bien captur�e.
    Et sinon pour le cas ou le node contient bien un attribut "name" �a fonctionne aussi bien en mode release que debug.

    Merci d'avance pour votre aide !

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    D�tails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par d�faut
    Salut,

    Les valeurs affich�es sous le d�bogueur en mode release, sont en g�n�ral fausses.
    Parmi les diff�rences classiques debug/release on a entre autres les pointeurs qui sont initialis�s � 0 en debug et non en release.

    Sinon un catch( ... ) ne va pas attraper les plantages, qui ne sont pas des exceptions...

    MAT.

  3. #3
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    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 397
    Par d�faut
    catch(...) n'est pas suppos� attrapper les exceptions Win32, seulement les exceptions C++.
    Sur d'anciennes versions de Visual, �a les attapait. Depuis que Visual respecte mieux le standard C++ (mais pi�tine le standard C), c'est corrig�.

    Pour attrapper les exceptions Win32, il faut utiliser le Structured Exception Handling (SEH).

    PS: Un pointeur peut �tre invalide sans �tre NULL, h�las...
    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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6
    Par d�faut
    ah ok,
    merci beaucoup pour la vitesse de r�ponse,
    je vais essayer cela tout de suite

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6
    Par d�faut
    Bon, alors j'ai fait des tests, et donc le probl�me ne vient pas de l'�l�ment (car vous aviez raison, c'est bien un probl�me du debugger just in time, en r�alit� il est non nul) donc le probl�me vient du "Attribute" le probl�me c'est que c'est une m�thode de tinyxml...

    En fait j'ai 9 fichiers diff�rents � parser et celui l� est le seul � planter pour la bonne et simple raison que c'est le seul � ne pas avoir d'attribut "name" dans le node "scene", du coup si vous avez une id�e de comment tester si un attribut existe ou non avec tinyxml �a r�glerait aussi bien mon probl�me!

    merci d'avance !

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6
    Par d�faut
    Bon finalement j'ai trouv�...
    C'�tait le return qui faisait planter,

    le fait de faire return attribute si l'attribute est null il esssaye de faire un string de null et �a plante

    merci � ceux qui m'ont aid� et en esp�rant que cette boulette serve � d'autres personnes :p

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 3
    Dernier message: 27/05/2012, 10h12
  2. R�ponses: 5
    Dernier message: 28/10/2010, 13h01
  3. Exception non catch� en mode release
    Par Troopers dans le forum C#
    R�ponses: 3
    Dernier message: 06/07/2010, 10h09
  4. an unhandled win32 exception occurred in explorer.exe
    Par perloutta dans le forum Forms
    R�ponses: 0
    Dernier message: 13/05/2009, 18h16
  5. An unhandled win32 exception occured in explorer.exe
    Par tamiii dans le forum Windows XP
    R�ponses: 5
    Dernier message: 03/06/2008, 22h38

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