gdb最基本的调试命令.
1以调试程序test.cpp为例:
进入调试环境 gdb test
2.b 12
在文件的第12行设置断点。
删除断点:
info b 列出所有的断点信息
(gdb) info b
Num Type Disp Enb Address What
1 breakpoint keep y 0x004010f1 in main at test.cpp:17
breakpoint already hit 1 time
2 breakpoint keep y 0x00401120 in main at test.cpp:23
breakpoint already hit 1 time
要删除第2个断点
d 2
如果不指定断点号,则表示删除所有的断点
3.r –d
执行当前被调试的程序.-d是运行参数
4.p variable
打印数据内容
5.l
列出产生执行文件的源代码的一部分.
6.n
执行一行源代码但不进入函数内部。
7.s
执行一行源代码而且进入函数内部。
8.c
继续执行程序,直至下一中断或者程序结束。
9.k
终止正在调试的程序.
10.q
终止 gdb.
附注:基本gdb命令:
命令
|
简写
|
功能
|
file
|
|
装入想要调试的可执行文件.
|
kill
|
k
|
终止正在调试的程序.
|
list
|
l
|
列出产生执行文件的源代码的一部分.
|
next
|
n
|
执行一行源代码但不进入函数内部.
|
step
|
s
|
执行一行源代码而且进入函数内部.
|
continue
|
c
|
继续执行程序,直至下一中断或者程序结束。
|
run
|
r
|
执行当前被调试的程序.
|
quit
|
q
|
终止 gdb.
|
watch
|
|
使你能监视一个变量的值而不管它何时被改变.
|
catch
|
|
设置捕捉点.
|
thread
|
t
|
查看当前运行程序的线程信息.
|
break
|
b
|
在代码里设置断点,
这将使程序执行到这里时被挂起.
|
make
|
|
使你能不退出 gdb
就可以重新产生可执行文件.
|
shell
|
|
使你能不离开 gdb
就执行 UNIX shell
命令.
|
print
|
p
|
打印数据内容。
|
examine
|
x
|
打印内存内容。
|
backtrace
|
bt
|
查看函数调用栈的所有信息。
|