C-Programmierung

Debugging

CMake | | Operatoren

Mit CMake gibt es 3 Optionen zum Debuggen von Quelltext:

  1. printf-Debugging (“print out what’s happening and see what’s going wrong”)
  2. Importieren des CMake Projekts in die KDevelop IDE zum visuellen Debugging mittels Break Points.
  3. Manuelles Konfigurieren des CMake Projekts zum Generieren von Debug Code (anstelle von Release Code), welchen man mit dem GNU Kommandozeilen Debugger analysieren kann:
cmake -DCMAKE_BUILD_TYPE=Debug .
make
gdb myapp

Alternativ konfiguriert man das CMake Projekt mit dem ccmake curses configuration tool. Damit kann man die CMake Projekteinstellungen wie z.B. die CMAKE_BUILD_TYPE Variable auf “Debug” ändern bzw. editieren.

ccmake .
make
gdb myapp

Auf der Kommandozeile des gdb setzt wie folgt einen Break Point, z.B. in der Funktion “main”:

break main

Wenn nun das Programm gestartet wird, hält die Ausführung am nächsten Haltepunkt an:

run

Nach einem crash kann man sich den Call Stack ausgeben lassen, um zu sehen wo der crash passiert ist:

where

oder den aktuellen Inhalt von Variablen analysieren:

print i

oder einfach zur nächsten Zeile springen:

next

oder in die nächste Funktion hineinspringen:

step


CMake | | Operatoren

Options: