Linux——调试工具GDB

安装gdb:yum install -y gdb

使用gdb:

        gcc 默认产生release模式,动态链接

        gcc -o 目标文件 源文件  -g 

        使用readelf -S 可执行文件名 ,读取可执行文件格式

        readelf -S 可执行文件名 | grep -i debug <选择debug信息>

        gdb 调试:debug 运行时调试;看到代码

进入命令行调试gdb 可执行文件名
退出调试模式quit
                                gdb会记录前一条语句,回车执行
看到所有代码list

l 1(l +行号:显示指定行代码)

enter  下一页

F5运行r 回车
给某行打断点breakpointb 文件名:行号/函数名
查看所有断点info b
删除断点

d 断点编号

d :删除所有断点

重新进入gdb,全删除breakpoint

断点使能

disable 编号:是断点变成隐藏  Enb为 n

enable 编号:使得断点开启      Enb为y

运行到下一断点c
局部调试
局部变量的内容和地址

p 变量:显示变量的内容

display 变量/取地址:长显示变量

undisplay 变量编号:关闭长显示变量

设置变量值set var 变量名=值value《改运行分支》
看到栈帧(栈结构的)bt
单步进行逐语句F11 step s
逐过程F10  nextn
进入函数s
运行完当前函数finish
运行到指定行until 行号
调试的本质

找到问题《调试》(断点对半范围查找,逐行查找,大到小)                 

                                                                                        需要懂得代码逻辑

解决问题(阅读上下文代码,三方结合,找到原因)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值