启动时进行调试:gdb 进程名
gdb后台服务调试技巧:
有的程序运行后台进行调试需要sudo权限
sudo gdb
输入密码后
shell comand: 可在gdb下使用 shell命令,例如 shell ps -ef | grep 进程名 (可查看到进程ID)
attach pid:(使用attach 附加到进程中进行调试 类似vs的调试->附加到进程)
b 设置断点(支持行号,文件名:行号,函数名,文件名:函数名 等)
display 变量: 查看变量的值 类似p
watch 变量: 执行中看到变量的变化
info b: 查看设置断点
s: 单步执行
n:执行一条语句
layout src: 调试时能看到源代码执行语句窗口
delete 编号: 删除断点
bt: 查看当前的堆栈信息
frame 编号:切换
多线程调试设置:
查看线程:info threads
thread ID 切换当前调试的线程为指定ID的线程
多线程调试切换:set scheduler-locking off|on|step
查看帮助:help set /thread
远程附加调试:gdbserver :port (端口号) --attach pid(进程pid)
clion中 选择远程调试 然后 输入tcp:ip:port 即可使用clion调试linux程序
gdb --tui不支持需要重新加入编译选项编译 没安装ncurses报错(sudo apt-get install libncurses5-dev)
./configure --enable-tui=yes
make
sudo make install
gdb附加调试技巧和常用命令
最新推荐文章于 2024-10-29 09:57:15 发布