Connaissances Informatiques >> programmation >> C /C + + Programming >> Content
  Derniers articles
  • Comment écrire un analyseur en C 
  • Comment utiliser Unicode en C + + Pr…
  • Comment faire pour trouver une fuite…
  • Comment Boucle Remplir un tableau à…
  • Comment faire Entrée uniquement un …
  • Comment créer un CAB dans Windows M…
  • Comment afficher les polices dans la…
  • Comment obtenir une date système en…
  • Comment faire un programme en utilis…
  • Visual C Component Object Model Tuto…
  •   C /C + + Programming
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    C /C + + Programming

    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.

     
    Article précédent:
    Article suivant:
    Articles recommandés
  • Comment créer Porte En GtkRadiant 
  • Comment supprimer un tas C + + Corrupt 
  • Comment compiler des fichiers RPC multiples 
  • Comment faire des jeux vidéo avec C + + 
  • Comment faire votre propre moteur de jeu 
  • Que faire avec une erreur Trapped in C 
  • Comment fermer les programmes iPad avec Xcode 
  • Comment lien vers un fichier RPC 
  • Comment utiliser getLine dans C à Skip Cin.Ignore 
  • Comment construire une file d'attente dans une liste 
  • Connaissances Informatiques © http://www.ordinateur.cc