Folien - Chemnitzer Linux-Tage
Folien - Chemnitzer Linux-Tage
Folien - Chemnitzer Linux-Tage
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Valgrind<br />
4.)<br />
1.)<br />
3.)<br />
2.)<br />
Valgrind ist ein Framework, um das dynamische Verhalten von Programmen zu<br />
untersuchen. Es ist eine virtuelle Maschine, die den Code vor dem Ausführen erst in einen<br />
Zwischencode compiliert, der dann durch unterschiedliche Tools modifiziert werden kann.<br />
Erst danach wird ein Maschinencode erstellt.<br />
C-Code<br />
gcc<br />
Binärer Code<br />
valgrind<br />
Intermediate<br />
Representation (IR)<br />
Tools<br />
Versch. Instrumentationen<br />
valgrind<br />
Binärer Code<br />
Memcheck: findet nicht initialisierten Speicher, Schreiben<br />
über Speichergrenzen, Memory-Leaks<br />
SGcheck: ähnlich wie Memcheck, benützt aber andere<br />
Methoden zum Auffinden von<br />
Speicherzugriffsfehlern<br />
Callgrind: Misst Anzahl CPU-Takte, Cache-Zugriffe<br />
Helgrind: Thread-Fehler detektor Auffinden von Race<br />
Conditions<br />
DRD: ähnlich wie helgrind, benützt aber andere<br />
Algorithmen<br />
Massif: Heap und Stack-Profiler<br />
DHAT: Heap-Profiler, findet Speicher-Layout-Probleme<br />
<strong>Chemnitzer</strong> <strong>Linux</strong> <strong>Tage</strong> 2013, Wolfram Luithardt, EIA-Fribourg Schweiz, 16.3.2013 30