| 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
    Outils pour trouver une fuite de mémoire
    Quand un programme d' ordinateur a besoin pour stocker des informations , il faut d'abord allouer de la mémoire . Après que les données ne sont plus nécessaires , le programme libère la mémoire pour qu'un autre programme ne peut en faire usage . Si un programme alloue de la mémoire sans désaffecter la mémoire par la suite , ce programme deviendra un drain sur les ressources système . Ces bugs sont appelés « fuites de mémoire » et se débarrasser d'eux est une partie importante de débogage. Processus

    Peu importe la langue le programme est écrit dans le processus de base pour détecter les fuites de mémoire est le même. Tout d'abord, la perte de mémoire doit être détectée . Une fuite de mémoire est généralement indiquée en augmentant linéairement utilisation de la mémoire , même si certains outils spécialisés peuvent vous dire directement la quantité de mémoire que le programme a alloué ou libérée. Une fois une fuite de mémoire est détecté, il doit être isolé . Cela se fait par l'essai de chaque fonction ou un objet séparément pour déterminer si la fuite est en cours. Ensuite, le programmeur doit comprendre l'erreur spécifique qui est à l'origine de la fuite et la corriger.
    C /C + +

    programmes écrits en C et C + + sont connus pour avoir la mémoire fuites , car l'utilisateur doit allouer manuellement et libérer la mémoire en utilisant la commande malloc . L'outil de ccmalloc surveille la fonction malloc et les rapports que la mémoire n'a pas été désaffectée , a été désaffectée plusieurs fois ou même attribué sans avoir été désaffectées en premier lieu . D'autres programmes plus spécialisés tels que NJAMD ( " Not Just Another Debugger Malloc " ) existent aussi pour trouver des fuites de mémoire en C et C + +.

    MSDN

    Développeurs en utilisant l'environnement de développement de Microsoft peut utiliser la commande ml pour trouver des fuites de mémoire . Taper ml à l'invite CESH fera apparaître une liste de chaque application en cours d'exécution et la quantité de mémoire qui est utilisé , écrit que « r /w = " suivi par le nombre de pages que l'application a alloué . Augmentations inattendues de l'utilisation de mémoire indiquer que l' application dispose d'une fuite de mémoire.
    Java

    nombreux programmeurs penser que les programmes Java sont à l'abri des fuites de mémoire parce que le programmeur n'est pas responsable d'allocation et de désallocation mémoire , mais ils ne recadrer toujours en place . Machine virtuelle Java, l'environnement qui met en œuvre des programmes Java , a un garbage collector automatique qui libère la mémoire quand il n'est plus référencé par d'autres classes . Des fuites de mémoire peuvent survenir lorsque la mémoire est référencé quand il n'est plus nécessaire , l'amenant à être ignorée par le garbage collector. JProbe est un débogueur qui peuvent prendre des instantanés de l'utilisation de la mémoire en tant que pistes d'applications Java , aider les programmeurs à trouver la source d'une fuite de mémoire .

    Previous :

    next :
      articles connexes
    ·Comment compiler C + + sous Linux 
    ·Comment faire pour convertir la valeur de zone de texte…
    ·Comment connecter C # pour MS Excel 
    ·Comment effacer l'écran Avant une nouvelle boucle dans…
    ·Comment faire pour supprimer Microsoft Visual C + + Mes…
    ·Comment imprimer pointeurs en C 
    ·Comment faire un thread de travail MFC 
    ·Comment faire pour vérifier pour un commutateur de Sub…
    ·Comment utiliser la fonction strcmp en C + + 
    ·Comment convertir les cordes de Char en C + + 
      articles en vedette
    ·Comment réinstaller Visual C 
    ·Comment réparer Msvbvm60.dll Problèmes 
    ·Comment faire pour convertir Enum à cordes en Java 
    ·Comment créer des liens symboliques utilisant PHP 
    ·Comment appeler Webform Avec Déclaration de cas 
    ·Qu'est-ce que le débogueur de script 
    ·Comment utiliser les zones de liste déroulante 
    ·Comment convertir une vidéo au format FLV à partir d'…
    ·Quels sont les URL 
    ·Comment faire pour utiliser des scripts Ruby dans Sketc…
    Copyright © Connaissances Informatiques http://fr.wingwit.com