Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> C /C + + -programmering >> Content

    Hur man hittar en minnesläcka i Linux

    Gillar Ej nyare programmeringsspråk som Java och Python , programspråk som C kräver att programmeraren att hantera sitt eget minne . C ger möjligheter att begära ledigt minne och returnera den till operativsystemet men inget mer . Eftersom språk som C erbjuder ingen mekanism sophämtning att rensa ut föremål som inte längre är i bruk , måste programmeraren vara vaksamma och ta bort objekt när de inte längre behövs . Om ett program inte bli av med sina oanvända föremål , kan den resulterande minnesläcka orsaka operativsystemet att krascha . Instruktioner
    1

    Installera " valgrind " felsökning svit .

    Valgrind paketet är fritt tillgänglig för alla Linux-distributioner . För att installera det på Debian - härledda distributioner som Ubuntu , skriv " sudo apt - get install valgrind . " På RedHat eller Fedora , typ " sudo yum install valgrind . "
    2

    Kompilera programmet med avlusningssymboler .

    Den vanligaste kompilator för C-program på Linux-system är gcc . Använd " - g " flaggan för att instruera gcc att inkludera avlusningssymboler i den binära som den skapar . ( Avlusningssymboler är nödvändiga för felsökare som valgrind att hänvisa till särskilda problem i koden ) .
    P Om du har ett C-program som heter " memoryhog.c . " till exempel , skulle du kompilera den med det här kommandot : gcc - g memoryhog.c
    3

    Kör din programmets binär genom valgrind

    Om du berättar det annars , gcc . kommer namnge ditt program " a.out . " Om du vill köra din binära heter " a.out " med Valgrind , skriver du följande kommando : . Valgrind - läckage -check = full - show - nås = yes /a.out
    4

    Inspektera utgång av Valgrind
    p Om alla minnesläckor har fastställts , valgrind rapporter " alla heap block frigavs - . inga läckor är möjligt " .
    p Om några minnesläckor är närvarande , listar valgrind den radnummer där läckan skapas .

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur man gör en String Immutable
    ·Mobile C # Development Tutorial
    ·Hur man beräknar summan av udda tal i C + + språk
    ·Skillnader mellan C & C + +
    ·Hur vill kolla en POP3 e-post med C + + med MFC
    ·Vad är Felsökning i programmering C
    ·Typer av attacker buffertöverskridning
    ·Hur att koda en Grid 5X5 i C + +
    ·Hur du kontrollerar att ett objekt tas bort i C + +
    ·Hur man använder Memset funktion i C + +
    Utvalda artiklarna
    ·Java Home pekar inte till JDK
    ·Lägga till värden till en ComboBox
    ·Hur nära UserForm
    ·Hur man skriver en abstrakt klass i Java
    ·Så ändrar Python Utgång till PID
    ·Hur får man en utdataström från en URL i Java
    ·Hur göra en PHP- webbplats för nybörjare
    ·Hur du formaterar Column Alias ​​i MySQL
    ·Hur hitta ett array-element i Ruby
    ·Hur ansluta PHP MySQL till en DB
    Copyright © Dator Kunskap http://www.dator.xyz