Left Up Right Ablaufsysteme

Speicherdebugger

Problem

Beim Programmieren in C oder C++ ohne automatische Speicherverwaltung programmiert man oft fehlerhaft: Fehler dieser Art sind sehr schwer zu finden. Dazu sind tools sehr nützlich:

Tools

glibc Allocation Debugging
die GNU libc hat ein Logging der Speichernutzung eingebaut und man kann mit mtrace Speicherlöcher finden.
Die libcwd
kann unter andern auch die Speicherallokationen loggen.
DB Alloc
mpatrol
Linkt (Dynamisch zur Laufzeit oder statisch zur Linkzeit) eine eigene Implementierungsbibliothek der Speicherrotinen hinzu. Diese loggen die dynamischen Speicheranweisungen mit. Es kann vor und nach dem eigentlichen allokierten Speicherblock noch ein Sicherheitsbereich mit allokiert werden, der auf Überschreibung getestet wird. Freigegebener Speicher wird durch ein Bitmuster belegt, um Lesezugriffe aufzudecken.
valgrind
Kontrolle durch virtuelle Maschine mit Instrumentierung,
Cache-Profiling
GNU Checker

Techniken

FilpCode Tutorial über Speicherlöcher
Hier wird beschreiben, wie man die Operatoren new und delete überladen kann um Speicherlöcher herauszufinden.

Allgemeine Arbeiten

Debugging Tools for Dynamic Storage Allocation and Memory Management

Informatik- und Netzwerkverein Ravensburg e.V Rudolf Weber