Debug C/C++ con GDB: Difference between revisions

From RVM Wiki
Jump to navigation Jump to search
m New page: * Installare cgdb sudo apt-get install cgdb * Compilare il programma con il flag -g g++ -g3 -o pippo pippo.cpp * Lanciare il debug: cgdb ./pippo * Impostare il breakpoint all'iniz...
 
mNo edit summary
 
Line 21: Line 21:
* Per tornare nella linea di comando:
* Per tornare nella linea di comando:
  i (come in vi)
  i (come in vi)
* Per impostare eventuali argomenti da passare al programma:
set args -k3 -l out.txt


* Partire con il programma
* Partire con il programma
Line 49: Line 52:
*[http://stackoverflow.com/questions/233328/how-do-i-print-the-full-value-of-a-long-string-in-gdbHow do I print the full value of a long string in gdb? - Stack Overflow]
*[http://stackoverflow.com/questions/233328/how-do-i-print-the-full-value-of-a-long-string-in-gdbHow do I print the full value of a long string in gdb? - Stack Overflow]
*[http://developer.apple.com/mac/library/documentation/DeveloperTools/gdb/gdb/gdb_2.html#SEC5 Debugging with gdb - A Sample gdb Session]
*[http://developer.apple.com/mac/library/documentation/DeveloperTools/gdb/gdb/gdb_2.html#SEC5 Debugging with gdb - A Sample gdb Session]
*[http://www.cs.bu.edu/teaching/cs113/spring-2000/caesar/ Inspecting Command Line Arguments with GDB]

Latest revision as of 14:09, 20 October 2009

  • Installare cgdb
sudo apt-get install cgdb
  • Compilare il programma con il flag
-g
g++ -g3 -o pippo pippo.cpp
  • Lanciare il debug:
cgdb ./pippo
  • Impostare il breakpoint all'inizio del programma
break main
  • per passare alla finestra del sorgente
<ESC>
  • Per impostare un breakpoint nella finestra sorgente:
<SPACE>
  • Per tornare nella linea di comando:
i (come in vi)
  • Per impostare eventuali argomenti da passare al programma:
set args -k3 -l out.txt
  • Partire con il programma
run
  • Fare step di funzione:
n 
next 
  • Fare step di linea (inside funztions)
s
step
  • stampare una variabile
print varname
  • stampare espressioni:
call printf ("%s", varname)
  • continuare fino a breakpoint o alla fine:
c
continue

Riferimenti