Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> C /C + + Programming >> Content
Hoe maak je een Geheugenlekkage in Debug C + +
Een geheugenlek is wanneer een programma veroorzaakt een incrementele maar gestage verbruik van het geheugen , waardoor het programma om meer geheugen dan nodig te gebruiken . In het beste geval zal het programma gewoon gebruiken meer geheugen en vertraagt ​​de computer . Extreme gevallen zal voldoende geheugen gebruiken om andere programma's kan crashen, wegens gebrek aan beschikbare geheugen , worst case scenario het zal uw besturingssysteem crasht . In C + + , kan geheugen lekken worden veroorzaakt door verschillende fouten in codering . Het volgende zal u tonen hoe om te controleren of uw programma heeft een geheugenlek en waar het te vinden . Instructies
1

Zoek uit of uw programma heeft een geheugenlek . Run je programma via de debugger door te typen :

' _CrtDumpMemoryLeaks ( ) '

De eerste regel van de code zal lezen " Ontdekte Geheugenlekken ! " Zo niet , dan is het programma niet over een geheugenlek .

Spoor 2 beneden de locatie van het geheugenlek . De derde regel van Madame

' _CrtDumpMemoryLeaks ( ) '

gebruikt met de uitspraak :

' # define _CRTDBG_MAP_ALLOC '

ziet u de naam van het vertellen bestand waar de gelekte geheugen werd toegewezen . U kunt ook MFC gebruiken om geheugentoewijzingen volgen. In MFC de macro : .

' Debug_new '

kan gebruikt worden om het geheugen lekken opsporen
3

Ga naar het bestand vermeld . De slechte codering moet worden gevestigd . Er zijn verschillende oorzaken van een geheugenlek , verkeerd gebruik van nieuwe /delete , een misplaatste delete , " verloren " pointers of een aanwijzer gaat uit van de scope . Controleer de regels code waar het geheugen wordt toegewezen en eventuele problemen te corrigeren . Controleer of toegewezen geheugen in een lus wordt vrijgegeven in elke iteratie . Zorg ervoor dat je pointers kan niet uit te gaan van de scope voordat het geheugen wordt vrijgegeven . Controleer ook of de codes :

' malloc ' /' gratis'

' nieuwe' /' delete '

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

correct worden gebruikt
4

Run je programma via de debugger opnieuw door te typen : .

' _CrtDumpMemoryLeaks ( ) '

om te zien of het probleem nog steeds optreedt .

Previous: Next:
  C /C + + Programming
·Hoe te compileren C + + in Pro…
·C + + Data Types 
·Wat is een C Code Fragment 
·Hoe te SQLite verwijderen in C…
·Hoe maak je Floating Point Div…
·Hoe maak je een Pointer conver…
·Hoe maak C Games 
·Hoe kan ik een string omzetten…
·Hoe de strtok functie in gebru…
  Related Articles
Hoe maak je een Combo Box Maak in Visual…
Hoe maak je een Check Box Maak in Visual…
Hoe maak je een tekstvak maken in Visual…
Hoe maak je een optie Box in Visual Basi…
Hoe maak je een schijf keuzelijst in Vis…
Hoe kan ik een keuzelijst maken in Visua…
Hoe kan ik een Picture Box Maak in Visua…
Hoe een bestand keuzelijst Maak in Visua…
Hoe kan ik een afbeelding Box Maak in Vi…
  Programmering Articles
·Hoe te wijzigen van een computernaam & C…
·Hoe te Radians converteren naar Degrees …
·Hoe te converteren een nummer Into Strin…
·Wat is de WordPress PHP Command voor Get…
·Hoe gebruik je een afbeelding Kaart in V…
·Hoe te Parameters ontvangen in Visual Ba…
·Hoe te Tuples in Python Toegang 
·Hoe gegevens in SSIS Filter 
·Hoe maak je een Tkinter Button Inactieve…
Copyright © Computer Kennis https://www.nldit.com