gdb附加调试技巧和常用命令

17 篇文章 0 订阅
11 篇文章 0 订阅
启动时进行调试: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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值