14.物联网学习之linux系统下的GDB调试

GDB概要与程序调试例子

  1. GDB简介

 GDB是GNU开源组织发布的一个强大的Linux下的程序调试工具。

一般来说,GDB主要帮助你完成下面四个方面的功能:

(1)启动你的程序,可以按照你的自定义的要求随心所欲的运行程序(按着自己的想法运行)。

(2)可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)

(3)当程序被停住时,可以检查此时你的程序中所发生的事。4、你可以改变你的程序,将一个BUG产生的影响修正从而测试其他BUG。

  1. GDB基本调试命令

man GDB :查看GDB帮助手册

  1. 例子1

gdb a.out //进入调试中

按小l //查看代码

b 10/(b main) //给指定位置设置断点  

r //运行到断点

c   //全部执行

  1. 例子2

gdb a.out

b main //设置断点

r //运行至断点

n //运行下一处

pi //打印i值

p&i //打印i地址

  1. 例子3

gdb a.out

b 12

r

n

s //进入函数体内

n //在函数体内执行下一个

  1. 例子4

gdb a.out

help //查看帮助手册

q //退出

        2. GDB调试工具

Int * p=NULL;

*p=10;

错误:p指针指向空,不能赋值,越界

3.1如何调试上述代码,知道错误区间呢?

        3.使用GDB调试

gcc main.c //由于不是编译错误,所以不会报错

./a.out //报错segmentation fault(core dumped)

<运行后,系统自动生成core文件,内容为错误详细说法>

gdb a.out core //显示断错误

q //退出

3.2如何调试运行中的程序呢?

<1.打开命令行>

Gcc -g main.c //-g调试工具(GNU的gdb)所必要的符号资讯

./a.out

<2.打开新的命令行>

Ps aux | grep a.out //查看pdi,进程号

//查到4849

Gdb a.out -p 4849 //-p是运行调试必备东西

(n下一条,q退出)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值