Wat is de beste vrije geheugenlekdetector voor een C/C++-programma en zijn plug-in DLL’s?

Ik heb een .exe en veel plug-in .dll-modules die de .exe laadt. (Ik heb bron voor beide.) Een platformonafhankelijke (met bron) oplossing zou ideaal zijn, maar het platform kan worden beperkt tot WinXP en Visual Studio (7.1/2003 in mijn geval).

De ingebouwde VS-lekdetector geeft alleen de regel waar new/malloc vandaan kwam, maar ik heb een wrapper voor toewijzingen, dus een volledige symbolische stacktracering zou het beste zijn.

De detector kan ook een lek detecteren in zowel de .exe als de bijbehorende plug-in .dll-modules.


Antwoord 1, autoriteit 100%

Ik gebruik persoonlijk Visual Leak Detector, hoewel het grote vertragingen kan veroorzaken wanneer grote blokken worden gelekt (het geeft de inhoud van het hele gelekte blok).


Antwoord 2, autoriteit 49%

Als u niet opnieuw wilt compileren (zoals Visual Leak Detector vereist), raad ik u WinDbg, dat zowel krachtig als snel is (hoewel het niet zo gemakkelijk te gebruiken is als men zou willen).

Aan de andere kant, als je niet wilt rotzooien met WinDbg, kun je een kijkje nemen op UMDH, dat ook door Microsoft is ontwikkeld en gemakkelijker te leren is.

Bekijk deze links voor meer informatie over WinDbg, geheugenlekken en geheugenbeheer in het algemeen:


Antwoord 3, autoriteit 22%

Ik heb goede ervaringen met Rational Purify. Ik heb ook leuke dingen gehoord over Valgrind


Antwoord 4, autoriteit 8%

Wat mij betreft, ik gebruik Deleakerom lekken te lokaliseren. Ik ben tevreden.


Antwoord 5, autoriteit 5%

Mijn vrij beschikbare geheugenprofiler MemProstelt je in staat om 2 snapshots te vergelijken en geeft stacktraces voor alle van de toewijzingen.


Antwoord 6, autoriteit 3%

Probeer Jochen Kalmbach’s Memory Leak Detectorop Code Project.
De URL naar de nieuwste versie stond ergens in de opmerkingen toen ik het voor het laatst controleerde.


Antwoord 7, autoriteit 3%

Zoals verschillende van mijn vrienden hebben gepost, zijn er veel gratis lekdetectoren voor C++.
Dit alles veroorzaakt overhead bij het uitvoeren van uw code, ongeveer 20% langzamer.
Ik geef de voorkeur aan Visual Leak Detector for Visual C++ 2008/2010/2012, je kunt de broncode downloaden van – voer hier de linkbeschrijving in.

Other episodes