linux子系统gdp调试,GDB调试命令总结

本文详细介绍了使用GDB进行Linux子系统调试的方法,包括启动调试、常用调试命令、断点设置、观察点、查看变量、内存查看、多线程调试、信号量处理以及如何利用GDB分析内核转储文件。通过实例演示了如何使用GDB进行程序跟踪、异常处理和线程状态查看,是Linux开发人员的实用参考资料。
摘要由CSDN通过智能技术生成

1.启动调试

前置条件:编译生成执行码时带上 -g,如果使用Makefile,通过给CFLAGS指定-g选项,否则调试时没有符号信息。

gdb program //最常用的用gdb启动程序,开始调试的方式

gdb program core //用gdb查看core dump文件,跟踪程序core的原因

gdb program pid //用gdb调试已经开始运行的程序,指定pid即可

gdb attach pid //用gdb调试已经开始运行的程序,指定pid即可

2.调试命令

(1)执行命令模式

-batch选项。

比如:打印$pid进程所有线程的堆栈并退出。

gdb -ex "set pagination 0" -ex "thread apply all bt" -batch -p $pid

(2).交互模式

run         //运行程序

continue  //中断后继续运行到下一个断点

step        //单步执行,进入函数

next       //单步执行

return    //函数未执行完,忽略未执行的语句,返回。

finish     //函数执行完毕返回。

call        //调用某一个函数 fun("1234")

(backtrace)bt //显示栈桢

bt N              //显示开头N个栈桢

bt -N            //显示最后N个栈桢

(frame)f N     //显示第N层栈桢

list //显示源码

set directory  //设置gdb的工作目录

pwd              //当前的工作目录

(3)反复执行

continue N    //连续执行cointiue N次,一般用于避免频繁断点

step N

next N

3.断点

break 函数名        //设置断在某个函数

break 文件名:行号 //设置断在某一行

info break            //查看设置的断点信息

break if condition //条件断点

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值