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 feilsøke en minnelekkasje i C + +
    En minnelekkasje er når et program fører til en inkrementell men jevn forbruk av minne , slik at programmet til å bruke mer minne enn den trenger. I beste programmet vil rett og slett bruke mer minne og tregere datamaskinen. Ekstreme tilfeller vil bruke nok minne til å forårsake andre programmer til å krasje på grunn av mangel på tilgjengelig minne , worst case scenario vil det krasje OS . I C + + , kan minne lekkasjer være forårsaket av flere forskjellige feil i kodingen . Følgende vil vise deg hvordan du kan sjekke for å se om programmet har en minnelekkasje og hvor du finner det. Instruksjoner
    en

    Finn ut om programmet har en minnelekkasje . Kjøre programmet gjennom debugger ved å skrive : en

    ' _CrtDumpMemoryLeaks () '

    Første linje i koden vil lese " oppdaget minnelekkasjer ! " Hvis ikke, så programmet ikke har en minnelekkasje .
    2

    Track ned plasseringen av minnelekkasje . Den tredje linjen

    ' _CrtDumpMemoryLeaks ( ) '

    brukes i utsagnet : en

    ' # define _CRTDBG_MAP_ALLOC '

    vil fortelle deg navnet på fil der lekket minne ble tildelt. Du kan også bruke MFC å spore minnetildelinger . I MFC makroen : .

    ' Debug_new '

    kan brukes til å spore minnelekkasjer
    3

    Gå til filen angitt. De dårlige koding vil måtte være plassert . Det er flere årsaker til en minnelekkasje , feil bruk av ny /slett , en feilplassert slett , "lost " pekere eller en pekeren går ut av omfanget . Kontroller linjer med kode der minnet er tildelt og rette eventuelle problemer . Sjekk om tildelte minnet i en sløyfe er utgitt i hver iterasjon . Sørg for at du pekere kan ikke gå ut av omfanget før minnet er utgitt . Sjekk også at kodene :

    ' malloc ' /' gratis '

    'nye ' /' delete '

    'nye [ ] ' /delete [ ] '

    brukes riktig
    4

    Kjør programmet gjennom debugger igjen ved å skrive .

    ' _CrtDumpMemoryLeaks () '

    å se om problemet fremdeles forekommer.

    früher :

     Weiter:
      Relatert Artike
    ·Hvordan slette en linje fra en fil i C 
    ·Hvordan bruke globale variabler for C Programming 
    ·Microsoft C + + Tutorials 
    ·Hvordan skrive Database Applications med C # 
    ·Hvordan vise innholdet i en Array List i en tekstboks i…
    ·Slik hindrer C bufferoverløpene 
    ·Hvordan legge inn en database i en Mac App 
    ·Hva er de fire forskjellige typer arv Slektskap 
    ·Systemkrav for Turbo C 
    ·Hvordan virker C program for å vise Currency Conversio…
      Anbefalte artikler
    ·Hvordan å animere en JPanel i Java 
    ·Ulemper og Fordeler med kompilatorer 
    ·Hvordan bruke Typecast i Java 
    ·Registret Kommandolinjeverktøy 
    ·Hvordan overvåke MySQL Med Pandora 
    ·Manglende operand Etter en Operator 
    ·Hvordan få et heltall Fra bytte ut denne 
    ·Hvordan lage en vektor av strykere i C + + 
    ·Hvordan utvikle mobile applikasjoner ved hjelp av Micro…
    ·Hvordan finne en minnelekkasje i Linux 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/