Benutzer-Werkzeuge

Webseiten-Werkzeuge


topics:gdb

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
topics:gdb [2014/11/09 09:37] – [Weiterfahren nach Breakpoint] ninuxtopics:gdb [2014/11/15 20:13] (aktuell) – [Makefile] ninux
Zeile 42: Zeile 42:
 </code> </code>
  
 +==== Makefile ====
 +<code make |Makefile>
 +CFLAGS = -I. -lm -std=gnu11
 +SOURCES = main.c
 +
 +.PHONY: all clean
 +
 +main:
 +        gcc $(CFLAGS) -o main.o $(SOURCES)
 +        
 +debug:
 +        gcc $(CFLAGS) -g -o debug.o $(SOURCES) -DDEBUG
 +        
 +all:
 +        gcc $(CFLAGS) -o main.o $(SOURCES)
 +        gcc $(CFLAGS) -g -o debug.o $(SOURCES) -DDEBUG
 +
 +clean:
 +        rm main.o
 +        rm debug.o
 +</code>
 ==== Compiler-Option ==== ==== Compiler-Option ====
 Um das obige ''main.c'' zu kompilieren könnte man ''gcc -o main.o main.c'' verwenden. Um aber das Debugging zu ermöglichen muss die Option ''-g'' hinzugefügt werden. Um das obige ''main.c'' zu kompilieren könnte man ''gcc -o main.o main.c'' verwenden. Um aber das Debugging zu ermöglichen muss die Option ''-g'' hinzugefügt werden.
Zeile 51: Zeile 72:
 Um das kompilierte Programm (''debug.o'') zu debuggen, kann einfach GDB gestartet werden in der Kommandozeile. Um das kompilierte Programm (''debug.o'') zu debuggen, kann einfach GDB gestartet werden in der Kommandozeile.
 <code shell> <code shell>
-[user@machine ]$ gdb+$ gdb
 </code> </code>
  
Zeile 107: Zeile 128:
  
 ==== Variableninhalt anzeigen ==== ==== Variableninhalt anzeigen ====
-Um bei einem Breakpoint Variableninhalte anzeigen zu lassen, kann das Kommando ''print'' (dezimal) bzw. ''print/x'' (hexadecimal) verwendet werden. Das folgende Beispiel zeigt die Ausgabe für die Variablen ''c'' und ''a'' zur Zeile 12 aus ''main.c''+Um bei einem Breakpoint Variableninhalte anzeigen zu lassen, kann das Kommando ''print'' (dezimal) bzw. ''print/x'' (hexadecimal) verwendet werden. Das folgende Beispiel zeigt die Ausgabe für die Variablen ''c'' und ''a'' zur Zeile 12 aus ''main.c'' je einaml dezimal und einmal hexadezimal.
 <code shell> <code shell>
 (gdb) print c (gdb) print c
Zeile 120: Zeile 141:
  
 ==== Info zu Breakpoints anzeigen ==== ==== Info zu Breakpoints anzeigen ====
-Um eine Übersicht der aktuellen Breakpoints zu bewahren gibt es das Kommando ''info breakpoints'' welches alles Breakpoints auflistet.+Um eine Übersicht der aktuellen Breakpoints zu erhalten kann das Kommando ''info breakpoints''verwendet werden. Dieses listet sämtliche Breakpoints auf.
 <code shell> <code shell>
 (gdb) info breakpoints  (gdb) info breakpoints 
Zeile 135: Zeile 156:
 ===== Weblinks ===== ===== Weblinks =====
   * [[http://www.cs.umd.edu/~srhuang/teaching/cmsc212/gdb-tutorial-handout.pdf|Kurzpräsentation GDB (englisch, PDF)]]   * [[http://www.cs.umd.edu/~srhuang/teaching/cmsc212/gdb-tutorial-handout.pdf|Kurzpräsentation GDB (englisch, PDF)]]
 +  * [[http://www.gnu.org/software/gdb/|GDB - Projektseite]]
 +  * [[http://www.gnu.org/software/ddd/|DDD - Projektseite]]
  
 ---- dataentry topic ---- ---- dataentry topic ----
Zeile 141: Zeile 164:
 beginner_users : ninux beginner_users : ninux
 wannabe_users  : # wannabe_users  : #
-category_topictags : #+category_topictags : software, programming
 ---- ----
topics/gdb.1415525835.txt.gz · Zuletzt geändert: 2014/11/09 09:37 von ninux

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki