| Hjem | Hardware | Netværk | Programmering | software | Fejlfinding | systemer | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringssprog
  • Delphi programmering
  • Java programmering
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl programmering
  • Python Programming
  • Ruby Programming
  • Visual Basics Programmering
  •  
    Computer Viden >> Programmering >> C /C + + Programming >> Content
    Hvordan debug en Memory Leak i C + +
    A hukommelsesfejl er, når et program forårsager en trinvis , men støt forbrug af hukommelse, hvilket programmet til at bruge mere hukommelse end den har brug for . I bedste vil programmet blot bruge mere hukommelse og sinke computeren . Ekstreme tilfælde vil anvende nok hukommelse til at forårsage andre programmer til at gå ned på grund af manglende tilgængelig hukommelse , worst case scenario vil det gå ned dit OS . I C + + kan memory leaks være forårsaget af flere forskellige fejl i kodning. Følgende vil vise dig hvordan du kontrollere, om dit program har en hukommelse læk og hvor man kan finde det. Instruktioner
    1

    Find ud af om dit program har en hukommelsesfejl . Kør dit program gennem debugger ved at skrive : Hej

    ' _CrtDumpMemoryLeaks () '

    Den første linje kode vil læse " Opdagede hukommelseslækager! " Hvis ikke, så programmet ikke har en hukommelsesfejl .
    2

    Track ned placeringen af ​​memory leak . Den tredje linje

    ' _CrtDumpMemoryLeaks ( ) »

    bruges med erklæringen : Hej

    ' # define _CRTDBG_MAP_ALLOC '

    vil fortælle dig navnet på den fil, hvor den lækkede hukommelsen blev afsat . Du kan også bruge MFC til at spore hukommelse tildelinger . I MFC makro : .

    ' Debug_new '

    kan bruges til at spore hukommelseslækager
    3

    Gå til filen angivet. De dårlige kodning skal placeret. Der er flere årsager til en hukommelsesfejl , forkert brug af nye /delete, en malplaceret slette, "Lost" pointere eller en pointer går ud af rækkevidde. Kontrollér linjer kode , hvor hukommelsen er allokeret, og rette eventuelle problemer . Tjek om allokeret hukommelse i en løkke er udgivet i hver iteration . Sørg for at du pointere kan ikke gå uden for rækkevidde , før hukommelsen er frigivet. Kontroller også, at koder:

    ' malloc ' /' gratis'

    ' ny ' /' delete '

    ' nye [ ] ' /delete [ ] '< br >

    anvendes korrekt
    4

    Kør dit program gennem debugger igen ved at skrive: .

    ' _CrtDumpMemoryLeaks () '

    at se, om problemet stadig forekommer.

    Forrige :

    næste :
      Relaterede artikler
    ·Hvordan man lærer C + + 
    ·Sådan vises indholdet af en Array List i en tekstboks …
    ·Sådan oprettes tekst for Direct3D C + + 
    ·MFC ActiveX Tutorial 
    ·Sådan bestemme størrelsen af ​​struktur på Runtime i…
    ·Sådan Fix GCC Advarsel Implicit erklæring Function 
    ·Sådan Gør Vector Addition i C 
    ·Sådan Gennemføre Stack ADT 
    ·Sådan Input en blanding af tal og bogstaver fra en fil…
    ·Hvordan man laver en MIDI-fil i C + + 
      Anbefalede Artikler
    ·Hvad Er SGML Kendetegn 
    ·Sådan filtreres filer fra Project Explorer View i Ecli…
    ·Java & API Forklarede Forældre 
    ·Sådan deaktiveres Multiple Sender i PHP 
    ·Sådan får du adgang et opkald funktion fra en Query 
    ·Sådan ændres Java Forside 
    ·Sådan Formatér en Float Variabel 
    ·Hvordan laver afhængigheder i Java 
    ·Hvad er Syntaksfremhævning 
    ·Hvordan man omdirigerer mobilbrugere 
    Copyright © Computer Viden http://www.computerdk.com