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

Visual C++ Discussion :

[VC++ 2005 express] Debugger en mode release, possible ?


Sujet :

Visual C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2005
    Messages : 15
    Par d�faut [VC++ 2005 express] Debugger en mode release, possible ?
    Bonjour,

    Le titre de mon message peut para�tre stupide, et pourtant j'ai bel et bien besoin de savoir si il est possible de debugger une application C++ en mode release avec VC++ 2005 express !

    Mon probl�me est le suivant : j'ai un bug critique dans mon application qui m�ne au crash � tous les coups. Mais ce bug ne se produit que sous Windows en mode release uniquement ! J'ai pass� plusieurs heures sous Windows en mode binaire debug, en ex�cutant exactement la m�me s�quence d'actions, impossible de reproduire ce bug. De m�me sous Linux, en debug et release, impossible de le reproduire ...

    J'ai donc ex�cut� mon application en mode release � travers le debugger de Visual C++, mais �videmment en release il n'y a aucun symbole, tout ce que je peux obtenir c'est une adresse dans une DLL, mais pas de fonction pr�cise, encore moins un num�ro de ligne.

    Je cherche donc des conseils, des t�moignages, sur ce que vous avez l'habitude de faire dans ce cas tr�s particulier, ou le d�bugger ne peut pas grand chose. Y'a t'il des options � activer pour en savoir plus, ou des utilitaires qui permette � partir de l'adresse de retrouver le nom de la fonction ?

    Merci d'avance pour tous conseils, suggestions ...

  2. #2
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414

  3. #3
    Membre exp�riment�
    Inscrit en
    Octobre 2007
    Messages
    285
    D�tails du profil
    Informations personnelles :
    �ge : 44

    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par d�faut
    Bonjour Palmic,

    As tu d�j� v�rifi� qu'en Debug, il n'y a pas de fuite m�moire... c'est souvent la cause de ce genre de probl�mes.

    Apr�s le probl�me peut provenir d'une DLL qui diff�re en d�bug et release. C'est souvent le cas... par exemple, en Debug, control qu'un pointeur est non nul, pas en release.

    Ensuite, il faut identifier la position du probl�me, avec peut �tre un retour en arri�re (avec suppression du code)... je l'accorde c'est long.

    Enfin (mais l� c'est trop tard) il est fortement conseill� de compiler et de tester en release plus r�guli�rement, cela �vite se genre de probl�me d�tect� apr�s plusieurs jours de codage intensif. Allez retrouver LA ligne qui ne va pas dans tout �a sans d�buggeur !!!

    Bonne chance,

    Jerome

  4. #4
    Membre extr�mement actif
    Avatar de randriano
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 221
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 221
    Par d�faut
    Salut !
    C'est int�ressant ton truc nico-pyright mais le lien ne marche pas et je me demande si sysinternals fut achet� par Microsoft car il y a toujours une redirection !
    randriano.dvp.com
    D�veloppeur. Product Owner [Agile]. Sites web, mobile apps, syst�me d'information (SI).

  5. #5
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    salut,
    voir ce lien : http://technet.microsoft.com/en-us/s.../bb896647.aspx
    sysinternal a bien �t� reprise par MS.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2005
    Messages : 15
    Par d�faut
    Salut,

    Merci pour les r�ponses. En fait en cherchant sur des groupes de discussions, j'ai appris que l'on pouvait g�n�rer des infos de d�bogage m�me en release, cela se configure dans l'IDE au niveau des options du compilateur ET aussi du linker.

    Ceci m'a permis d'avoir directement la ligne causant le crash, �videmment comme pr�vu il s'agit d'un pointeur NULL, que je check par une macro uniquement en debug, alors qu'en release la ligne suivant essaie d'acc�der � un membre et donc boum ...

    Apr�s je vous passe les d�tails sur le pourquoi du comment ce pointeur peut-�tre valide en debug, et NULL en release sous Windows, je suis toujours dessus, mon probl�me �tait d�j� de trouver la fonction et la ligne, ce qui est fait, donc je passe ce sujet en r�solu, merci.

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

Discussions similaires

  1. R�ponses: 3
    Dernier message: 30/04/2008, 23h52
  2. [VS 2005 Express] Faire du Reporting facile en mode local
    Par FRED.G dans le forum Visual Studio
    R�ponses: 3
    Dernier message: 09/11/2006, 15h19
  3. R�ponses: 1
    Dernier message: 12/10/2006, 01h34
  4. R�ponses: 5
    Dernier message: 21/06/2006, 14h02
  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