在Linux环境中,GDB(GUN调试器)是一个强大的调试工具,可帮助开发者对C/C++等语言的程序进行源码级调试。
1、GDB安装
在基于Debian的Linux发行版(如Debian、Ubuntu)中,可以通过以下命令安装GDB:
sudo apt-get update
sudo apt-get install gdb
在CentOS或Fedora发行版中,使用以下命令:
sudo yum install gdb
安装完成后,通过gdb --version命令验证安装是否成功。
2、GDB基本命令
①启动GDB
gdb 可执行文件路径
②加载可执行文件(在GDB提示符下)
file 可执行文件路径
③设置断点
在指定行上设置断点:
break 行号
在指定函数的第一行上设置断点:
break 函数名
在指定文件的指定函数的第一行上设置断点:
break 文件名:函数名
④运行程序
run [参数]
⑤单步执行
逐行执行代码(不进入函数):
next
进入函数体执行:
step
⑥继续执行
continue
⑦查看变量值
print 变量名
⑧修改变量值
set 变量名 = 新值
⑨查看函数调用堆栈
backtrace
3、GDB高级命令
①查看源代码
list
②设置监视点
watch 变量名
当变量的值发生变化时,程序会中断执行。
③调用函数
call 函数名(参数列表)
④在不同的堆栈帧之间切换
frame 堆栈帧号
⑤显示当前线程列表
info threads
⑥切换到指定线程
thread 线程号
⑦设置临时断点(只触发一次)
tbreak 行号/函数名
⑧运行到特定行
在某些GDB版本中,可以使用run to line命令,但在某些版本中可能不支持,需要使用其他方法实现类似功能。
4、GDB调试已运行的程序
sudo gdb attach PID
其中,PID为被调试程序的进程ID。
本文凡亿教育原创文章,转载请注明来源!
暂无评论