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 de mémoire


Sujet :

C++

  1. #1
    Membre confirmé
    Avatar de Mindiell
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 735
    Points : 546
    Points
    546
    Par défaut Erreur de mémoire
    Bonjour à tou(te)s,

    J'ai un petit souci de lecture / écriture en mémoire mais mon application utilise un thread et est déjà pas mal complexe.

    Ma question : Auriez-vous un système qui marche permettant de tracer convenablement le programme afin de voir où ca plante ? (Je suis éjecté du programme directement )

    Je suis sur Windows avec Code::Blocks. J'ai tenté des std::cout mais ce n'est pas super efficace à priori :/
    Mindiell
    "Souvent, femme barrit" - Elephant man

  2. #2
    Membre émérite
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Points : 2 799
    Points
    2 799
    Par défaut
    Si tu le compiles en debug, et que tu le lances en debug depuis ton IDE, il doit s'arrêter au moment du plantage. Sinon, tu peux mettre des breakpoints et l'exécuter "step-by-step", jusqu'à trouver où ça plante réellement.

    Avec un peu de chance, le plantage a lieu au moment de la mauvaise lecture/écriture (le plus souvent : un pointeur nul ou un débordement de tableau).

  3. #3
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Je dirais valgrind, mais comme tu es sous Windows...
    Une recherche google pour valgrind windows m'a donné ceci:
    http://www.microsoft.com/downloads/d...7-c9d8b095df18
    Essaie!

  4. #4
    Membre confirmé
    Avatar de Mindiell
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 735
    Points : 546
    Points
    546
    Par défaut
    white tentacle : Merci, malheureusement, le Thread recoit sans cesse (dans ce cas là) des infos réseaux et plante à un moment "non déterminé" (donc le pas à pas....).

    ravloony : Merci beaucoup je vais tenter ca pour voir !
    Mindiell
    "Souvent, femme barrit" - Elephant man

  5. #5
    Membre confirmé
    Avatar de Mindiell
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 735
    Points : 546
    Points
    546
    Par défaut
    Citation Envoyé par Application Verifier
    <avrf:logfile xmlns:avrf="Application Verifier">
    - <avrf:logSession TimeStarted="2010-03-15 : 15:59:50" PID="3656" Version="2">
    - <avrf:logEntry Time="2010-03-15 : 15:59:51" LayerName="Heaps" StopCode="0x6" Severity="Error">
    <avrf:message>Corrupted heap pointer or using wrong heap.</avrf:message>
    <avrf:parameter1>2fc1000 - Heap handle used in the call.</avrf:parameter1>
    <avrf:parameter2>2a591e0 - Heap block involved in the operation.</avrf:parameter2>
    <avrf:parameter3>0 - Size of the heap block.</avrf:parameter3>
    <avrf:parameter4>80000000 - Heap where block was originally allocated.</avrf:parameter4>
    - <avrf:stackTrace>
    <avrf:trace>vrfcore!VfCoreRedirectedStopMessage+81 (d:\avrf\source\base\avrf\avrf30\vrfcore\stopredirect.cpp @ 103)</avrf:trace>
    <avrf:trace>ntdll!RtlpNtMakeTemporaryKey+4b61 ( @ 0)</avrf:trace>
    <avrf:trace>ntdll!RtlpNtMakeTemporaryKey+5da0 ( @ 0)</avrf:trace>
    <avrf:trace>ntdll!RtlpNtMakeTemporaryKey+5f5e ( @ 0)</avrf:trace>
    <avrf:trace>ntdll!RtlpNtMakeTemporaryKey+9154 ( @ 0)</avrf:trace>
    <avrf:trace>ntdll!RtlZeroHeap+1231 ( @ 0)</avrf:trace>
    <avrf:trace>ntdll!RtlAdjustPrivilege+7da ( @ 0)</avrf:trace>
    <avrf:trace>vfbasics!AVrfpRtlFreeHeap+f8 (d:\avrf\source\base\avrf\vrfcommon\heap.c @ 385)</avrf:trace>
    <avrf:trace>msvcrt!free+c3 ( @ 0)</avrf:trace>
    <avrf:trace>vfbasics!AVrfp_free+23 (d:\avrf\source\base\avrf\vrfcommon\heap.c @ 1101)</avrf:trace>
    <avrf:trace>CrawlBot!+4087f5 ( @ 0)</avrf:trace>
    <avrf:trace>CrawlBot!+4191ad ( @ 0)</avrf:trace>
    <avrf:trace>CrawlBot!+42c88c ( @ 0)</avrf:trace>
    <avrf:trace>CrawlBot!+42c94c ( @ 0)</avrf:trace>
    <avrf:trace>CrawlBot!+42c9d4 ( @ 0)</avrf:trace>
    <avrf:trace>CrawlBot!+416da5 ( @ 0)</avrf:trace>
    <avrf:trace>CrawlBot!+416d20 ( @ 0)</avrf:trace>
    <avrf:trace>CrawlBot!+402b4a ( @ 0)</avrf:trace>
    <avrf:trace>CrawlBot!+404e0d ( @ 0)</avrf:trace>
    <avrf:trace>CrawlBot!+40464a ( @ 0)</avrf:trace>
    <avrf:trace>CrawlBot!+4011e7 ( @ 0)</avrf:trace>
    <avrf:trace>CrawlBot!+401238 ( @ 0)</avrf:trace>
    <avrf:trace>kernel32!IsProcessorFeaturePresent+9e ( @ 0)</avrf:trace>
    </avrf:stackTrace>
    </avrf:logEntry>
    </avrf:logSession>
    </avrf:logfile>
    Ben euh, à priori, ya du "pas bon"
    Maintenant, ca m'aide pas forcément beaucoup ! Je continue mes recherches
    Mindiell
    "Souvent, femme barrit" - Elephant man

  6. #6
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Mindiell Voir le message
    Ben euh, à priori, ya du "pas bon"
    Maintenant, ca m'aide pas forcément beaucoup ! Je continue mes recherches
    Hmm, a ta place je ressaierai en compilant en mode debug d'abord, ca risque d'etre plus informatif!

  7. #7
    Membre confirmé
    Avatar de Mindiell
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 735
    Points : 546
    Points
    546
    Par défaut
    Mais : c'était en mode Debug

    Par contre, maintenant, quand je lance le Debug de l'IDE (C::B) il me fait plus d'erreurs au début et donc tombe sur une erreur dans mon code ! Au moins je vois un problème, je vous tiens au courant, et merci encore !
    Mindiell
    "Souvent, femme barrit" - Elephant man

  8. #8
    Membre confirmé
    Avatar de Mindiell
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 735
    Points : 546
    Points
    546
    Par défaut
    Bon,

    Tout était bel et bien de ma faute (j'en ai presque douté un moment ) !
    Je parcours deux tableaux et bien sur, mes différents indices passaient parfois par-dessus les limites des dits tableaux... Forcément...

    Merci en tout cas,
    Mindiell
    "Souvent, femme barrit" - Elephant man

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

Discussions similaires

  1. erreur de mémoire
    Par dybmans dans le forum Linux
    Réponses: 8
    Dernier message: 13/01/2010, 17h08
  2. [PR-2007] Demarrage Project 2007 : "erreur de mémoire"
    Par Invité dans le forum Project
    Réponses: 15
    Dernier message: 28/05/2009, 08h16
  3. [Upload] Erreur de mémoire lors d'un upload
    Par alpking dans le forum Langage
    Réponses: 3
    Dernier message: 10/11/2006, 10h35
  4. Erreur Allocation mémoire
    Par Thordax dans le forum C++
    Réponses: 10
    Dernier message: 05/04/2006, 21h29
  5. Programme détectant les erreurs de mémoire
    Par gids01 dans le forum MFC
    Réponses: 2
    Dernier message: 07/12/2005, 10h57

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