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 zoeken in Linux
In tegenstelling tot nieuwere programmeertalen zoals Java en Python , programmeertalen zoals C vereisen de programmeur om zijn eigen geheugen te beheren . C biedt faciliteiten om geheugen vrij te vragen en terug te sturen naar het besturingssysteem , maar niets meer . Omdat talen zoals C bieden geen garbage collection mechanisme voor het reinigen van objecten die niet meer in gebruik zijn , moet de programmeur waakzaam en verwijder objecten wanneer ze niet meer nodig zijn . Als een programma niet te ontdoen van haar ongebruikte objecten , kan de resulterende geheugenlek veroorzaken het besturingssysteem crasht. Instructies
1

Installeer de " valgrind " debugging suite .

De valgrind pakket is vrij beschikbaar op alle Linux distributies . Om het op Debian - afgeleide distributies zoals Ubuntu installeren , typt u " sudo apt - get install valgrind . " Op RedHat of Fedora , type " sudo yum install valgrind . " Kopen van 2

Stel uw programma samen met debugging symbolen.

De meest voorkomende compiler voor C -programma's op Linux -systemen is gcc . Gebruik de " - g" vlag om gcc te instrueren om debugging symbolen zijn in de binaire die het creëert . ( Debugging symbols zijn nodig voor debuggers zoals valgrind te verwijzen naar specifieke problemen in de code ) .

Als je een C -programma genaamd " memoryhog.c . " bijvoorbeeld , zou je het compileren met het commando: gcc - g memoryhog.c
3

Run binaire uw programma 's via valgrind

Tenzij je het anders vertellen , gcc . zal de naam van uw programma " a.out . " Om uw binary met de naam " a.out " met valgrind uitvoeren, typt u deze opdracht : . Valgrind - lek - check = full - toon- bereikbaar = yes /a.out
4

Inspecteer de uitgang van valgrind

Als al het geheugen lekken zijn vastgesteld , valgrind rapporten " Alle hoop blokken werden bevrijd - . geen lekken zijn mogelijk " .

Als er geheugen lekken aanwezig zijn , valgrind geeft de lijnnummer waarop het lek is ontstaan ​​.

Previous: Next:
  C /C + + Programming
·Hoe de strchr functie in gebru…
·Hoe implementeer ik Short Time…
·Hoe kan ik een iPhone-applicat…
·Hoe te Elk ASCII Character Bre…
·Wat zijn Pointers en hoe worde…
·Hoe maak je een parser in C sc…
·Hoe om te controleren voor de …
·Hoe te verwijderen van een C +…
·Hoe de Strpbrk functie in gebr…
  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
·How to Get MySQL certificatie 
·Syntax Error : Bad Array declarator 
·Hoe te plat bestand lezen meerdere keren…
·Hoe te converteren naar HTML JSP 
·Hoe te Rijen verwijderen uit een array i…
·Hoe kan ik meerdere kolommen uit een and…
·SQL VBA Tutorial 
·Wat betekent bufferoverloop Mean ? 
·Definieer een multi - dimensionale array…
Copyright © Computer Kennis http://www.nldit.com