lLinux下gdb调试一

因调试需要,找了一些gdb调试的资料,记录下来,以后可能还用的到

想要使用gdb调试,在使用gcc编译时就要加入 -g选项;
加上-g的参数,把源程序信息编译到执行文件中。

gcc list.c -o app -g -l pthread,因为代码里面用到了线程,所以加了 -l pthread,
一般情况下,只需要 gcc list.c -o app -g即可。

编译成功后生成app文件。(app是自己命名,此文件名随意)

一:gdb基础

进入gdb调试有两种方法:
1.在命令行直接敲,gdb app
2.在命令行先输入gdb,按回车,再输入file app (编译后的文件)
在这里插入图片描述

个人感觉 gdb + 文件名 更加方便。

start命令,开始执行
在这里插入图片描述
run命令。直接运行程序
在这里插入图片描述
进入gdb调试时可直接运行;

单步执行(n) next 不会进入子函数
单步执行(s) setp 会进入子函数
多步执行© continue 如果没有设置断点,直接执行完毕,有断点 ,运行程序到断点停止
until 运行至当前语句块结束
finish 运行至函数结束并跳出,并打印函数的返回值

二:设置断点

break +行数 简写: b+行数
行数不清楚可以在gdb里面看源码,因为编译已经将源码信息加入到编译文件中,所以只需要输入list命令
在这里插入图片描述
不知道行数可以试一下,
设置断点:在这里插入图片描述
在61行打了一个断点,编号为7,因为我之前已经打过6个断点。

查看断点信息 info b
删除断点 delete break n (n是指断点编号)
在这里插入图片描述
还有一种删除方式,个人比较少用
clear +行号 删除某一行的断点

使能,禁用断点(n是指断点编号)
disable break n 禁用断点
enable break n 使能断点
info b n 查看第n个断点的信息

quit退出gdb调试

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值