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 :

Debogage en mode Release


Sujet :

C++

  1. #1
    Membre éprouvé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Par défaut Debogage en mode Release
    Salut

    Je travaille sous VS 2005 (win32), et j aimerais savoir comment faire pour deboguer une application/DLL quand on est en mode release ?

    J ai un bug qui ne se produit que lorsque l'application est en version Release...en Debug aucun probleme !

    ++


  2. #2
    screetch
    Invité(e)
    Par défaut
    Si tu as un bug en version RELEASE uniquement, le moindre mal est de bidouiller ta version DEBUG sans jamais retirer le mode DEBUG evidemment.

    Je te conseille d'aller faire un tour dans l'onglet "Generation de code" et de desactiver le check de frame (En debug : ce flag est a /RTCsu ou /RTC1, ce qui signifie qu'il remplit la stack avec un pattern identique DDDDDDDD. En release, il ne le fait pas donc ta stack vaut nain porte quoi).

    Donc passe de /RTCsu a "desactive" dans ta config debug et reessaye.

    Si ca marche toujours, essaye d'utiliser la DLL de debug (MD en release, MDd en debug => passe en MD pour capturer l'erreur)

    les erreurs lesp lus frequentes entre debug et release sont la non initialisation des variables, un booleen passe d'un TRUE systematique (DD pour etre precis) a une valeur qui change de temps en temps selon ce qui se trouvait avant sur la pile.

  3. #3
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Tu peux lancer sous le debugger de Visual n'importe quelle application, qu'elle soit en release ou en debug... Par contre, tu n'auras pas de liaison avec ton code source.
    Pour ce faire, dans tes options de compilations, rajoutes juste les informations de débuggage (sans rien toucher au reste)...

    Par contre, tu vas devoir souffrir les variables "non existentes" (parce que le compilo a estimé que telle variable temporaire pouvait rester en 'registre'), les inlines non visibles, ...

  4. #4
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 635
    Par défaut
    Salut,
    Citation Envoyé par screetch Voir le message
    (snip)
    il ne le fait pas donc ta stack vaut nain porte quoi).
    Il est où le nain ... Et il porte quoi

    Bon...
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  5. #5
    screetch
    Invité(e)
    Par défaut
    j'hesite sur lequel de nous deux devrait avoir plus honte, moi d'avoir ecrit un WOWisme (je suis pas nain mais j'ecris nain porte quoi) ou toi d'avoir relever la blague !!

  6. #6
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 635
    Par défaut
    Citation Envoyé par screetch Voir le message
    j'hesite sur lequel de nous deux devrait avoir plus honte, moi d'avoir ecrit un WOWisme (je suis pas nain mais j'ecris nain porte quoi) ou toi d'avoir relever la blague !!
    Peut être un peu les deux... Le pêtage de plomb, ca existe aussi chez les modérateurs
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

Discussions similaires

  1. Erreur LNK1104 uniquement en mode release
    Par dus dans le forum MFC
    Réponses: 1
    Dernier message: 30/09/2005, 14h03
  2. Pas d'appel à une fonction si mode Release
    Par Crisanar dans le forum C++
    Réponses: 8
    Dernier message: 17/09/2005, 04h54
  3. Réponses: 11
    Dernier message: 09/07/2005, 08h47
  4. [VB.NET] Problème exécution en mode release.
    Par leSeb dans le forum Windows Forms
    Réponses: 2
    Dernier message: 07/01/2005, 17h39
  5. bloqué en mode Release
    Par matsch77 dans le forum MFC
    Réponses: 3
    Dernier message: 07/01/2004, 17h17

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