linux中的C++学习之旅(3)GDB调试器

GDB主要功能

        设置断点

        使程序在指定的代码上暂停执行

        单步执行程序,便于调试

        查看程序中变量值的变化

        动态改变程序的执行环境        

        分析崩溃程序产生的core文件       

      

常用调试命令参数:

Tips:

        1.编译程序时需要加上-g,之后才能用gdb进行调试:gcc -g main.c -o main

        2.回车键:重复上一命令

        调试开始,执行gdb【exefilename】,进入gdb调试程序,其中exefilename为要调试的可执行文件名

        $(gdb) help(h):  #查看帮助命令,具体命令查询在gdb中输入help + 命令

        $(gdb) run(r):重新开始运行文件(run-text:加载文本,run-bin:加载二进制文件)

        $(gdb)start   :#单步执行,运行程序,停在第一执行语句

        $(gdb)list(l):#查看原代码(list-n,从第n行开始查看代码,list+ 函数名:查看具体函数)

        $(gdb)set:#设置变量的值

        $(gdb)next(n):#单步调试(逐过程,函数直接执行)

        $(gdb)steps(s):#单步调试(逐语句:跳入自定义函数内部执行)

        $(gdb)backtrace(bt):#查看函数调用的栈帧和层级关系

        $(gdb)frame(f):#切换函数的栈帧

        $(gdb)info(i):查看函数内部据不变量的数值

        $(gdb)finish:#结束当前函数,返回到函数调用点

        $(gdb)continue(c):#继续运行

        $(gdb)print(p):#打印值及地址

        $(gdb)quit(q):#推出gdb

        $(gdb)break+name(b):#在第num行设置断点

        $(gdb)info breakpoints:#查看当前设置的所有断点

        $(gdb)delet breakpoints num(d):#删除第num个断点

        $(gdb)display:#追踪查看具体变量

        $(gdb)undisplay:#取消追踪观察变量

        $(gdb)watch:#被设置观察点的变量发生修复时,打印显示

        $(gdb)i watch:#显示观察点

        $(gdb)enable breakpoints :#启用断点

        $(gdb)disable breakpoints:#禁用断点

        $(gdb)x:#查看内存x/20xw  显示20个单元,16进制,4字节每单元

        $(gdb)run argv[1] argv[2]:#调试时命令行传参

        $(gdb)set follow-fork-mode child:#makefile项目管理:选择跟踪父子进程(fork())

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值