Debugging von C-Applikationen unter Linux

Da ich gegenwärtig an libopenranked von etqw-openranked arbeite und ich vermute, dass ich meine Erkenntnisse nach einiger Zeit wieder vergesse, gibt es hier die Kurzfassung.

Damit bei einem Segmentation Fault eine Core-Dump erzeugt wird, muss

ulimit -c unlimited

aufgerufen. Damit wird festgelegt, dass der Core-Dump beliebig groß sein darf.

Mit

gdb a.out core
backtrace

lassen sich die letzten Ausführungsschritte der Applikation anzeigen.

Mit

apt-get install valgrind
valgrind --tool=memcheck --leak-check=yes ./a.out

lässt sich überprüfen, welche Funktionen potenzielle Memory Leaks erzeugen, die wiederum zu einem Segmentation Fault führen können.

Leave a reply

Your email address will not be published.

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>