Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> C /C + + Programming >> Content
    Hvordan finne en minnelekkasje i Linux
    I motsetning til nyere programmeringsspråk som Java og Python , programmeringsspråk som C kreve programmerer å administrere sin egen hukommelse . C har funksjoner for å be om ledig minne og returnere det til operativsystemet, men ingenting mer. Fordi språk som C har ingen søppelrydding mekanisme for å rense ut objekter som ikke lenger er i bruk, må programmereren være årvåken og fjerne objekter når de ikke lenger er nødvendig . Hvis et program ikke kvitte seg med sine ubrukte gjenstander , kan den resulterende minnelekkasje føre til at operativsystemet krasjer. Instruksjoner
    en

    Installer " Valgrind " debugging suite.

    Valgrind pakken er fritt tilgjengelig på alle Linux- distribusjoner . Å installere det på Debian -deriverte distribusjoner som Ubuntu , skriv " sudo apt- get install Valgrind . " På RedHat og Fedora , skriv " sudo yum installere Valgrind . "
    2

    kompilere programmet med debugging symboler.

    Den vanligste kompilator for C-programmer på Linux-systemer er gcc . Bruk " -g" flagg for å instruere gcc å inkludere debugging symboler i det binære at det skaper . ( Debugging symboler er nødvendig for debuggers som Valgrind å referere til spesifikke problemer i koden ) .
    P Hvis du har et C-program som heter " memoryhog.c . " for eksempel, ville du kompilere den ved hjelp av denne kommandoen : gcc - g memoryhog.c
    3

    Kjør programmet binær gjennom Valgrind

    Med mindre du forteller det ellers, gcc . vil navnet ditt program " a.out . " Å kjøre binære heter " a.out " ved hjelp Valgrind , skriver denne kommandoen : . Valgrind - lekkasje -check = fullt - show- nås = ja /a.out
    4

    Inspiser utgang av Valgrind
    p Hvis alle minnelekkasjer har blitt fikset , Valgrind rapporter " alle haug blokker ble frigjort - . ingen lekkasjer er mulig" .
    p Hvis noen minnelekkasjer er til stede , viser Valgrind den linjenummer der lekkasjen er opprettet .

    früher :

     Weiter:
      Relatert Artike
    ·Hva er funksjoner av Turbo C 
    ·Hvordan skrive et program i C for metriske konvertering…
    ·Hvordan Link OBJ -filer i Turbo C + + 
    ·Slik installerer Vcvarsall.Bat 
    ·Hvordan bruke 2D- objekter i CPP 
    ·Hvordan å lære C + + 
    ·Slik konverterer Fra Int til Char 
    ·Hvordan legge til en startside til en nettleser i C # 
    ·Hvordan bruke todimensjonale karakter Arrays i C 
    ·Hvordan lage en Web Mashup 
      Anbefalte artikler
    ·Hvordan finne den hyssing Array i VB 6.0 
    ·Hvordan å ignorere tegnsetting i Java 
    ·Hvordan lage en database ved hjelp ProgressBar og VB.Ne…
    ·Slik konverterer en Array i PHP 
    ·Hvordan legge til en Array i VBA 
    ·Hvordan erstatte en variabel i et Perl String 
    ·Slik installerer Perl på Windows XP 
    ·Sette inn HTML Into en e-postmelding 
    ·Contour Nivåer i MATLAB 
    ·Hvordan laste opp flere bilder i ASP Net 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/