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 :

Erreur mémoire fin d'exécution


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 96
    Par défaut Erreur mémoire fin d'exécution
    salut à tous,

    Bon je vous explique rapidement mon problème:

    J'ai un programme écris en .C dont l'executable me donne l'erreur suivante à chaque fin d'execution (vraiment la toute fin):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Exception non gérée à 0x7c9200e8 dans TAlerteSanitaire.exe*: 0xC0000005: Violation d'accès lors de la lecture de l'emplacement 0x01f90010.
    J'ai réussi à à peu prés isoler l'erreur mémoire: lorsque je commente l'appel d'une fonction dans mon main(), l'erreur de fin ne se produit pas. La fonction en question utilise des DLL windows et certaines DLL "maison".

    Je bosse sous visual studio 2008, Comment détecter mon erreur ? Comment débugger ceci ? Quel type de débugger choisir: mixte, auto,... ? Comment auriez vous fait ?

  2. #2
    Membre Expert Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 366
    Par défaut
    tu veux dire que la plantage arrive tellement à la fin, que ton debugger n'a même plus le contexte d'exécution ?

    Tu développes (et debugges) avec quels outils actuellement ?

  3. #3
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 96
    Par défaut
    Citation Envoyé par fregolo52 Voir le message
    tu veux dire que la plantage arrive tellement à la fin, que ton debugger n'a même plus le contexte d'exécution ?

    Tu développes (et debugges) avec quels outils actuellement ?
    je développes avec VS 2008 Express.

    Je debug avec le debugger intégré, j'ai testé tous les modes "auto","script", .... mais rien n'a changé.
    J'ai également installé GDB pour windows.
    gdb.exe prog.exe
    run
    backtrace
    -> RIEN d'afficher mis à part que des "??"


  4. #4
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 96
    Par défaut
    J'ai pas mal d'avertissements dans la création de mes DLL que mon prog beugué utilise. Dois-je tous les corriger ? Y a t'il beaucoup de chances pour que cela influe sur le bug de mon .exe ?

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    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 395
    Par défaut
    Pour commencer, es-tu sûr que ce n'est pas tout simplement un dépassement de tampon dans ton main(), qui empêcherait la fonction de retourner?
    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.

  6. #6
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 96
    Par défaut
    Non je ne suis absolument pas sur... un overflow tu veux dire ? comment vérifier ça ?

  7. #7
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 96
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Pour commencer, es-tu sûr que ce n'est pas tout simplement un dépassement de tampon dans ton main(), qui empêcherait la fonction de retourner?
    ça a l'air d'etre ça to be honest.
    Comment corrigé ça ?
    Please Médinoc...

  8. #8
    Membre Expert Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 366
    Par défaut
    Vu ton screenshot, c'est bien ce que je craignais !!
    Y'a rien de pire a debugger !!

    Essayes de monter ton niveau de warning à 4 pour bien voir tous les problèmes.

    Bon courage.

  9. #9
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 96
    Par défaut
    Citation Envoyé par fregolo52 Voir le message
    Y'a rien de pire a debugger !!


    Citation Envoyé par fregolo52 Voir le message
    Bon courage.
    merci, jvais en avoir besoin!

  10. #10
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Par défaut
    Citation Envoyé par SgtBor Voir le message
    J'ai pas mal d'avertissements dans la création de mes DLL que mon prog beugué utilise. Dois-je tous les corriger ? Y a t'il beaucoup de chances pour que cela influe sur le bug de mon .exe ?
    ça dépend des warnings...

    Tu as quoi dans ton fichier avec la fonction mainCRTStartup aux lignes 595 et 399 ?

  11. #11
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Par défaut
    Bonjour,

    Je travaille avec Visual 2005 pro, mais je pense que tu dois pouvoir le faire avec 2008 express.
    Quand ton programme (lancé en mode debug depuis visual) plante, il faut que tu regardes la fenêtre "Pile des appels" (à voir pour la traduction en anglais), qui se trouve quelque part (je suis en train de chercher dans les menus mais je ne la trouve pas...).
    Avec cette fenêtre tu peux savoir exactement où ton programme a craché et retrouver le code de ton appli qui provoque l'erreur...

  12. #12
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 96
    Par défaut
    Oui, je vois:
    http://img52.imageshack.us/i/prntscr.jpg/

    J'ai déja tenté un truc de coté là, jai supprimé la lib systeme ntdll.dll, je l'ai retélécharger, redemarrer le pc,toujours rien...

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 14/05/2012, 10h33
  2. [PowerShell] Comment récupérer le code d'erreur à la fin d'exécution d'une commande ?
    Par spynux dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 26/11/2010, 09h18
  3. Attendre la fin d'exécution d'un page en JS
    Par TekP@f dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/08/2005, 15h15
  4. [Tomcat][Eclipse] erreur http 404 à l'exécution de servlet
    Par mayjo dans le forum Tomcat et TomEE
    Réponses: 6
    Dernier message: 30/07/2004, 18h19
  5. Réponses: 1
    Dernier message: 16/05/2004, 17h56

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