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 :

HEAP: Free Heap block xx modified at xx+0x24 after it was freed


Sujet :

Visual C++

  1. #1
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut HEAP: Free Heap block xx modified at xx+0x24 after it was freed
    Bonjour,


    je suis face a un problème tenace dans mon code, sur un projet assez important avec cette erreur

    HEAP[Prog.exe]: HEAP: Free Heap block 84a9830 modified at 84a9854 after it was freed
    l erreur se produit toujours à peu pres au meme moment dans l exécution du programme mais pas exactement toujours au meme endroit (il s agit d un jeu et si je rajoute breakpoints et log dans un fichier, je vois que ca plante pas toujours au même endroit, mais par contre a une etape précise du jeu: la fin d un niveau )

    le code est trop énorme que je fasse du copier/coller ici mais je cherche, pour l instant en vain des solutions

    j ai déjà controlé mes new/delete mais n ai pour l instant rien trouvé de concluant.

    en debug l arrêt dans visual studio m arrête le plus souvent sur cette ligne dans free.c

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    retval = HeapFree(_crtheap, 0, pBlock);
    auriez vous des techniques a me suggérer pour trouver l origine du problème ?

    Merci d avance

  2. #2
    Membre émérite
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Points : 2 677
    Points
    2 677
    Par défaut
    Avant un delete vérifie toujours la valeur de ton pointeur.
    Après un delete remet bien toujours ton pointeur à NULL.

  3. #3
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut
    je fais deja ca.

  4. #4
    Membre expérimenté Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 887
    Points : 1 531
    Points
    1 531
    Par défaut
    Télécharges les debugging tools de Microsoft et active le gflag pour ton programme (avec l'option "Page heap verification" activée). Fais le tourner en mode debug, et en principe ça devrait t'indiquer l'endroit exact où il y a un débordement.

  5. #5
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut
    merci, j ai telechargé un truc mais ca a pas l air d etre ca

    ( http://www.microsoft.com/downloads/e...displaylang=en )

    j ai visual studio express 2008 en francais, aurais tu un lien de téléchargement?

  6. #6
    Membre expérimenté Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 887
    Points : 1 531
    Points
    1 531
    Par défaut
    Essaye ici: http://www.01net.com/telecharger/win...hes/47567.html

    C'est pour du 32 bits ou 64 ?

    Après, je crois que c'est indépendant du compilateur, donc ça devrait marcher avec VS 2008.

  7. #7
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut
    32 bits.

    Merci , j essaye ca

Discussions similaires

  1. modifier le heap size dans un applet
    Par istaccr dans le forum Applets
    Réponses: 2
    Dernier message: 04/03/2009, 17h57
  2. Stack, Free store, Heap etc
    Par buzzkaido dans le forum C++
    Réponses: 4
    Dernier message: 29/09/2007, 19h04
  3. "Free Heap block" en mode debug?
    Par kacedda dans le forum Visual C++
    Réponses: 2
    Dernier message: 22/04/2007, 13h13
  4. probleme free heap block lors d'un malloc
    Par gronaze dans le forum C
    Réponses: 2
    Dernier message: 24/03/2006, 16h01
  5. Erreur --> HEAP: Free Heap block à la fermeture
    Par Marthym dans le forum MFC
    Réponses: 1
    Dernier message: 23/01/2006, 12h41

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