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

MFC Discussion :

Plantage en mode non-debug


Sujet :

MFC

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2005
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 35
    Points : 20
    Points
    20
    Par défaut Plantage en mode non-debug
    Salut,

    Voici mon problème : dans le cadre d'un stage, je dois développer une appli MFC avec des cadres OpenGL. Quand je lance le programme le debug, pas de problème (à la fois en mode debug comme en mode release), mais quand je le lance l'éxécutable seul ou en mode "start without debugging", ça plante avant même que ma fenêtre apparaisse. Ce serait le fichier "ntdll.dll" qui poserait problème.

    Pour info, j'utilise Visual 2003 avec Windows XP SP2. J'ai aussi essayé chez moi avec le SP1, mais le résultat est pareil.

    Bref, quelqu'un aurait-il une idée à me proposer pour que mon programme marche ? Merci d'avance.

    JP

  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
    Points : 16 075
    Points
    16 075
    Par défaut
    c'est quoi l'intitulé exact de l'erreur ?

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2005
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 35
    Points : 20
    Points
    20
    Par défaut
    Bon, quand je lance en "start without debugging" en configuration debug, j'obtiens la belle fenêtre qui me demande si je veux envoyer le rapport d'erreur à Microsoft, et quand je clique sur "afficher les données de ce rapport d'erreur", voilà ce que ça me dit :

    AppName : epaule.exe (mon appli, donc)
    AppVer ; 1.0.0.1
    ModName : ntdll.dll
    ModVer : 5.1.2600.2180
    Offset : 000114b6

    J'espère que quelqu'un pourra m'aider, parce que là, je sèche.

  4. #4
    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
    Points : 16 075
    Points
    16 075
    Par défaut
    bon, ca vient pas de ntdll ... mais ca, on s'en était douté

    ca doit etre un problème d'acces à des fichiers, ton appli n'utiliserait-elle pas des fichiers qui se trouvent dans le repertoire où il y a tes sources ?

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2005
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 35
    Points : 20
    Points
    20
    Par défaut
    Effectivement, je charge des fichiers (des modèles 3D au format obj) dès le début du chargement de mon appli, mais les fichiers sont bien dans le même dossier que mon exécutable.

    Par ailleurs, j'utilise aussi la librairie coldet, et j'inclue bien le fichier coldet.dll dans mon dossier.

  6. #6
    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
    Points : 16 075
    Points
    16 075
    Par défaut
    la différence entre le lancer de projet en debug et le lancer "without debugging", c'est que dans le premier cas, il va lancer l'exe qui se trouve dans le repertoire repDesSources\debug avec comme workingfolder repDesSources.
    Dans le deuxieme cas, il va lancer l'exe qui se trouve dans repDesSources\debug avec comme workingfolder repDesSources\debug
    ce qui fait qu'il ne trouve plus les fichiers dans un cas

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2005
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 35
    Points : 20
    Points
    20
    Par défaut
    L'histoire du répertoire de travail, j'ai bien compris le concept ;-)

    Je pense néanmoins avoir identifié la cause du problème : ce serait effectivement les fichiers que je charge qui font planter (j'ai repris un vieux backup où je n'utilisais pas encore ces fichiers, et pas de problème). Serait-ce du au fait que les fichiers en questions portent l'extension .obj (ce sont des modèles CAO), comme certains fichiers générés par Visual ?

  8. #8
    Membre expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Points : 3 065
    Points
    3 065
    Par défaut
    bah est ce que tu les ouvres explicitement dans ton application (open, ...)?

    si c'est le cas ca ne devrais pas intervenir

  9. #9
    Membre à l'essai
    Inscrit en
    Février 2005
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 35
    Points : 20
    Points
    20
    Par défaut
    Ben, je déclare un FILE*, j'appelle fopen avec le nom du fichier, je lis ligne par ligne et je balance les infos dans ma structure de stockage. Rien de bien méchant ...

  10. #10
    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
    Points : 16 075
    Points
    16 075
    Par défaut
    il te faut bien vérifier tes initialisations aussi, le mode debug ayant tendance à le faire pour toi

  11. #11
    Membre à l'essai
    Inscrit en
    Février 2005
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 35
    Points : 20
    Points
    20
    Par défaut
    Ayé, je pense avoir trouvé le bug : ça venait de l'une de mes primitives de figures OpenGL dans laquelle j'allais trop loin dans mes indices de tableaux. Mais dans ce cas, pourquoi le debug n'a-t-il pas braillé ?

    En tout cas, merci beaucoup pour votre aide.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/01/2008, 10h07
  2. communication Port Usb en mode non bloquant
    Par laurentleroy dans le forum C
    Réponses: 4
    Dernier message: 28/10/2007, 23h29
  3. Réponses: 12
    Dernier message: 04/10/2006, 15h53
  4. Réponses: 3
    Dernier message: 24/05/2006, 18h02
  5. Recupération lors d'un plantage (en mode debug)
    Par aRCHiMeD dans le forum MFC
    Réponses: 3
    Dernier message: 15/01/2004, 17h09

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