| maison  | Hardware  | réseaux  | programmation  | Logiciel  | Dépannage  | systèmes |  
programmation  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    Connaissances Informatiques >> programmation >> C /C + + Programming >> Content
    Comment déboguer une fuite de mémoire en C + +
    Une fuite de mémoire , c'est quand un programme entraîne une consommation supplémentaire mais constante de la mémoire , ce qui provoque le programme à utiliser plus de mémoire qu'il n'en a besoin . Au mieux, le programme va simplement utiliser plus de mémoire et ralentir l'ordinateur . Les cas extrêmes vont utiliser une mémoire suffisante pour causer d'autres programmes à se crasher à cause d'un manque de mémoire disponible, le pire des cas, il va se planter votre système d'exploitation. En C + + , les fuites de mémoire peut être causée par plusieurs erreurs de codage différents . Ce qui suit va vous montrer comment vérifier pour voir si votre programme a une fuite de mémoire et où le trouver . Instructions
    1

    Découvrez si votre programme a une fuite de mémoire. Exécutez votre programme à travers le débogueur en tapant: « _CrtDumpMemoryLeaks () '


    La première ligne de code sera lu" fuites de mémoire détecté! " Si non, alors le programme ne dispose pas d'une fuite de mémoire .
    2

    Retrouvez l'emplacement de la fuite de mémoire. La troisième ligne de

    ' _CrtDumpMemoryLeaks ()'

    utilisé avec l'énoncé suivant:

    ' # define _CRTDBG_MAP_ALLOC '

    vous indiquera le nom de l' déposer où la fuite de mémoire a été allouée. Vous pouvez également utiliser MFC pour suivre les allocations de mémoire. Dans MFC la macro: .

    ' DEBUG_NEW '

    peut être utilisé pour suivre les fuites de mémoire
    3

    Aller vers le fichier indiqué . Les mauvais codage devront être localisé. Il existe plusieurs causes d'une fuite de mémoire , un mauvais usage des nouvelles /delete , une suppression égaré , pointeurs «perdus» ou un pointeur est hors de portée . Consultez les lignes de code où la mémoire est allouée et corriger les problèmes . Vérifiez si la mémoire allouée à une boucle est libérée à chaque itération . Assurez-vous de pointeurs ne peuvent pas aller hors de portée avant que la mémoire est libérée. Vérifiez aussi que les codes :

    ' malloc ' /

    'libre' «nouvelle» /«supprimer»

    ' new [] ' /delete [] '< br >

    sont utilisés correctement
    4

    exécuter votre programme à travers le débogueur à nouveau en tapant: . _CrtDumpMemoryLeaks () '


    pour voir si le problème persiste.

    Previous :

    next :
      articles connexes
    ·Comment faire une chaîne en un tableau en C + + 
    ·Comment passer des variables de bloc commun à C 
    ·Comment combiner un fichier en utilisant C + + 
    ·Comment compiler du RPC dans un Mac 
    ·Comment faire le lien avec Windows Mobile 
    ·Comment obtenir un nombre d'objets à pointer vers une …
    ·Que dois-je commencer à programmer pour l' iPhone 
    ·Comment créer des en-têtes et des fichiers OBJ en C +…
    ·Comment écrire des extensions HTML dans C 
    ·Comment faire des courbes dans GTK Radiant 
      articles en vedette
    ·Comment savoir pointeurs en C 
    ·Comment calculer les algorithmes médians 
    ·Comment jouer Multichannel Audio en Visual Basic 
    ·Comment copier NotesRichTextItem comme un Variant 
    ·Qu'est-ce qu'un système de grille 
    ·Comment faire pour convertir en UTF-8 dans MySQL 
    ·Is_array Vs . Is_string en PHP 
    ·Comment faire pour rediriger le JSP 
    ·Comment créer un programme autonome Visual Basic 
    ·Comment faire pour configurer Joomla débogage dans Ecl…
    Copyright © Connaissances Informatiques http://fr.wingwit.com