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 Studio Discussion :

Problème de libération de mémoire


Sujet :

Visual Studio

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Problème de libération de mémoire
    Bonjour,
    J'ai un petit problème de libération de mémoire allouée dynamiquement à la variable num_copy (n est défini avant, et affecté) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    unsigned long* num_copy=(unsigned long*)calloc(n,sizeof(unsigned long));
    Quand je lance mon programme, au moment de libérer num_copy, j'obtiens un message d'erreur disant que l'application a écrit en mémoire après la fin du heap buffer...

    Pour vérifier que num_copy existe bien, je passe par CrtDump de VS, juste avant la commande free(num_copy)... j'obtiens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Detected memory leaks!
     
    Dumping objects ->
     
    ...
     
    {52} normal block at 0x00364E70, 8 bytes long.
     
     Data: <  (*!W Q> 83 BC 28 2A 21 57 0F 51
    ...
    L'adresse 0x00364E70 est bien celle de num_copy. Que signifie le "*!W" au début du data ? Cela signifie-t-il que le block est protégé en écriture ? Quelle peut être la cause du bug ?

    Merci d'avance.

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Au temps pour moi, j'ai fait une erreur d'indice dans une boucle.
    Toujours est-il qu'il me semble que *!W signifie qu'il y a eu un erreur d'écriture.
    Tout est résolu.

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

Discussions similaires

  1. [Mémoire] Problème de libération de mémoire
    Par CTotophe85 dans le forum C++
    Réponses: 7
    Dernier message: 24/11/2008, 12h47
  2. Problème de libération de mémoire
    Par ridecat dans le forum C
    Réponses: 13
    Dernier message: 06/05/2008, 08h36
  3. problème de libération de mémoire
    Par hamoudasafira dans le forum C++
    Réponses: 3
    Dernier message: 19/03/2007, 18h54
  4. Problème de libération de mémoire
    Par saturne13 dans le forum Linux
    Réponses: 9
    Dernier message: 06/02/2007, 09h18
  5. [Debutant(e)]problème de libération de mémoire
    Par skywalker3 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 10/02/2005, 17h38

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