Ich liebe Valgrind

Ich bin gerade auf Dienstreise, die Internetanbindung ist dürftig und ich habe Zeit. Daher überarbeite ich gerade pcp mit Valgrind.

Man lässt ein Programm mit Valgrind laufen und es zeigt einem nachher Memoryleaks, Buffer Overflows und vieles mehr an. Da ich in letzter Zeit eine Menge am Code hinzugefügt habe, haben sich da leider einige solcher Probleme angesammelt. Und die arbeite ich momentan systematisch ab.

Eigentlich ist die Ausgabe von Valgrind erschütternd und deprimierend. Und doch hilft es mir enorm, dutzende subtiler und fieser Bugs zu finden und zu fixen. Im aktuellen Durchlauf (Import eines Secret Keys, der fehlschlägt) hatte ich am Anfang seitenweise Leaks. Schlimm. Jetzt bin ich durch und das hier ist die Ausgabe, wenn Valgrind happy ist:

scip@io: % valgrind --leak-check=full --show-reachable=yes src/pcp1 \
           -V tests/va -K -I tests/key-alicia-sec -x a
==35083== Memcheck, a memory error detector
==35083== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==35083== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==35083== Command: src/pcp1 -V tests/va -K -I tests/key-alicia-sec -x a
==35083== 
Secretkey sanity check: there already exists a key with the id 0x437A76EDE40D67EC
==35083== 
==35083== HEAP SUMMARY:
==35083==     in use at exit: 0 bytes in 0 blocks
==35083==   total heap usage: 95 allocs, 95 frees, 146,878 bytes allocated
==35083== 
==35083== All heap blocks were freed -- no leaks are possible
==35083== 
==35083== For counts of detected and suppressed errors, rerun with: -v
==35083== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

Was soll ich sagen? Valgrind ist echt geil. Gar nicht auszudenken, was ich täte, wenn es das nicht gäbe.

#source

↷ 06.08.2014