Memory-Leaks mit Valgrind finden

Wer in C Programme schreibt, weiss, wie schwierig es ist, per malloc() angeforderten Speicher wieder freizugeben. Allzu leicht vergisst man den entsprechenden free()-Aufruf, was dann zu Memory Leaks führt.
Solche Fehler per Hand zu finden, ist je nach Komplexität des Programms sehr schwierig. Glücklicherweise gibt es eine Reihe von Tools, die bei der Suche von Memory Leaks helfen.
Eines dieser Tools ist Valgrind. Neben Memory Leaks kann es auch eine ganze Reihe anderer Fehler finden (z.B. Buffer Overflows, Benutzung von nicht-initialisiertem Speicher, Benutzung von Speicher, nachdem dieser per free() wieder freigegeben wurde, und vieles mehr).
(mehr …)