使用gdb调试多线程与多进程

GDB的基本介绍

GDB是GUN开源组织发布的一个强大的UNIX下的程序调试工具。或许,平时大家更加习惯图形界面的调试,比如VS上的IDE调试;但是如果我们在UNIX或Linux下做软件,我们呢就更加需要熟练GDB这个调试工具。

一般来说,GDB主要能够完成以下的几个功能:

①启动你的程序,可以按照你自己的要求随性所欲的运行程序;

②可以让被调试的程序在你自己所定的位置的断点处挺住;

③当程序被停住时,可以检查此时你的程序中所发生的事情;

④动态的改变你程序的执行环境。

GDB调试使用的是DEBUG版本的,所以我们在生产可执行文件时,我们需要在命令的尾部加上 -g,这样就可以生成的是DEBUG版本下的可执行文件。

调试代码的基本命令

命令 作用
list或l + 行号 显示从行号开始的源代码
list或l + 函数名 列出某个函数的源代码
run或r  运行程序
step或s 进入函数调用
breaktrace或bt 查看各级函数调用及参数
info或i locals查看当前栈帧局部变量的值
info break 查看断点信息
finish 执行到当前函数返回,然后停下来等待命令
print或p 打印表达式的值,通过表达式可以修改变量的值或者调用函数
break或b + 行号 在某一行设置断点
set var 修改变量的值
quit 退出调试
break + 函数名 在某个函数开头设置断点
continue或c 从当前位置开始连续而非单步执行调试程序
run或r 从开头连续执行程序而非单步执行
delete breakpoints 删除断点
delete breakpoints n 删除序号为n的断点
disable breakpoints 禁用断点
enable breakpoints 启用断点
info或i breakpoints 查看当前设置了哪些断点
display + 变量名 跟踪查看一个变量,每次停下来都显示这个值
  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值