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 :

Plantage étrange d'un programme


Sujet :

Visual C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 43
    Par défaut Plantage étrange d'un programme
    Bonjour,

    J'ai un problème très étrange avec un programme développé sous Visual C++ 7.1.

    Ce programme fonctionne parfaitement en debug. Les problèmes commencent en release.
    Le comportement est très bizarre. J'ai eu besoin de créer un nouveau Thread, pour cela j'ai utilisé la librairie ACE, je crée un Thread qui fait uniquement un while(true) { Sleep(100); }.
    J'obtiens un crash dans le programme. (Même crash avec les flags : MT et MD du compilateur).

    J'ai remplacé pour voir un malloc par un new. Dans Visual C++, le programme lancé sans débuggeur fonctionne. Mais le même programme lancé à partir de l'explorateur windows crash !. (Le programme Release lancé avec le debugger à l'intérieur de Visual à toujours marché.).

    Je suis un peu perdu et ne sais plus trop quoi essayé !!! Je n'ai aucun warning à la compilation / édition des liens. Quant aux flags de compile, je ne vois pas quoi modifier ormis \MT et \MD

    Merci pour vos conseils.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 43
    Par défaut
    J'ai oublié de dire que le plantage intervient avec lors de la création/modification d'objet défini dans un librarie statique. Je ne sais pas si ça change quelque chose. Dans la compilation de cette librarie, j'utilise le même flag, à savoir /MD (je n'ai pas bien saisie la différence avec /MT)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 43
    Par défaut
    J'ai avancé un peu. J'ai réussi à faire marcher le programme en le liant au DLL multithread de debuggage (/MDd) et aussi à la version debug de ACE.

    J'ai laissé le reste des options aux valeurs par défaut du mode Release. Je vais tenter de trouver des informations sur la mailing de ACE.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 43
    Par défaut
    En fait, je viens de me rendre que mon programme ne fonctionne pas en le liant avec la dll multithread. Si je le lit sans ce support, il fonctionne bien. Ceci uniquement en Release.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 43
    Par défaut
    Il semble que j'ai réussi à résoudre le problème. Dans la fonction qui posait problème, il y a avait une petite fuite mémoire, une fois corrigé, je n'arrive plus a reproduire le comportement.

    Etrange que cela ne survienne qu'en liant avec la librairie "multithread", enfin bon, ça marche maintenant

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 21/08/2013, 11h48
  2. Plantage à l'exécution d'un programme OpenGL
    Par quidimi dans le forum Qt
    Réponses: 1
    Dernier message: 22/05/2013, 15h39
  3. bug étrange dans mon programme
    Par Jasmine80 dans le forum Langage
    Réponses: 11
    Dernier message: 04/11/2011, 09h19
  4. Faire un programme qui plante et noter le plantage
    Par cedricgirard dans le forum Langage
    Réponses: 9
    Dernier message: 22/03/2006, 16h36
  5. [c++] Plantage à la fermeture du programme
    Par Asmodean dans le forum C++
    Réponses: 5
    Dernier message: 21/02/2006, 13h20

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