Dator > verktyg för att hitta en minnesläcka

  • verktyg för att hitta en minnesläcka


  • När en dator program behöver för att lagra information , det första behöver allokera minne. Efter att data inte längre behövs , deallocates programmet minnet så att ett annat program kan använda sig av den . Om ett program allokerar minne utan deallocating minnet efteråt kommer det programmet att bli en belastning på system resurserna . Dessa fel kallas " minnesläckor " och bli av med dem är en viktig del av felsökning .

    Process

    Oavsett vilket språk programmet är skrivet i , är den grundläggande proceduren för att hitta minnesläckor samma . Först måste minnesläcka att upptäcka . Minnesläcka brukar anges med linjärt ökande minne , även om vissa speciella verktyg kan berätta direkt hur mycket minne ett program har tilldelats eller avallokerat . När en minnesläcka upptäcks det måste isoleras . Detta görs genom att testa varje funktion eller ett objekt separat för att fastställa var läckan sker . Sedan programmeraren måste räkna ut det specifika felet som orsakar läckan och åtgärda.

    C /C + +

    Program skrivna i C och C + + är ökända för att ha minnesläckor eftersom användaren måste manuellt fördela och frigöra minne använder den malloc kommandot . Den ccmalloc Verktyget övervakar malloc funktion och rapporter vad minnet inte var avallokerat var avallokerat flera gånger eller till och med tilldelats utan att ha avallokerat i första hand . Andra mer specialiserade program såsom NJAMD ( " inte bara ännu malloc felsökare " ) finns också för att finna minnesläckor i C och C + + .

    MSDN

    Utvecklare som använder Microsofts utvecklingsmiljö kan använda ml kommandot för att hitta minnesläckor . Skriva ml vid cesh prompten visas en lista över alla program som körs och hur mycket minne som används , skriven som " r /w=" följt av antalet sidor att en ansökan har tilldelats . Oväntade ökningar i minnesanvändning på att programmet har en minnesläcka .

    Java

    Många programmerare tror att Java -program är immuna mot minnesläckor eftersom programmeraren inte är ansvarig för fördelning och deallocating minne , men de gör fortfarande gröda upp . Java Virtual Machine , miljö som implementerar Java -program har en automatisk sophämtare som deallocates minnet när det inte längre refereras till av andra klasser . Minnesläckor kan inträffa när minnet är som refereras när det inte längre behövs , vilket ledde till att hoppas över av sophämtare . Jprobe är en debugger som kan ta ögonblicksbilder av minnesanvändning som en Java- program körs , hjälper programmerare att hitta källan till en minnesläcka .


Previous:nothing Next:hur du redigerar registret värden i vbs filer





Relaterade artiklar


  • hur man läser csv -filer i perl
  • skillnaderna mellan Visual Basic och Visual Basic . NET
  • problem med att installera Visual Studio netto
  • hur man ändrar en katalog namn från en php
  • rensar skärmen i C + +
  • hur man kontrollerar java historia i Windows Vista
  • om Sun Java -certifiering
  • hur man gör en exe i anteckningsblocket
  • hur man packar upp en fil med php
  • hur man skriver fast bredd textfiler med Visual Basic