gdb调试小结

时间:2023-03-09 16:48:10
gdb调试小结
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
查看函数调用栈的所有信息。