Linux下GDB调试

常用的简单的Linux下gdb调试命令:

首先调试版本的文件是二进制可执行文件,可以运行
gcc -g -o main main.c 这是编译成可调试文件
gdb main 进入调试
要退出gdb,使用quit命令   也可以一个q

查看源码:
列出程序的源码(默认每次显示10行)-----------list/l
显示以“行号”为中心的前后10行代码-----------list 行号
显示“函数名”所在函数的源代码----------------list 函数名

断点:
进入后  设置断点在任一位置停止程序的运行 ,查看程序运行时所作的事情,找出程序的问题之所在  ------------break/b  行数n  

 b func---在函数func()入口处设置断点 

查看断点-------------info breakpoints (info b)
删除断点-------------delete 断点号 
暂停/开启断点--------disable/enable 断点号
删除所有断点---------delete breakpoints

运行:
运行 在断点处会停止---------------r/run
继续执行 到下一个断点-------------c/continue

单步跟踪(不进函数体内)------------n/next
单步跟踪(进入函数体内)------------s/step


运行程序,直到当前函数完成返回,并打印函数返回时的堆栈地址和返回值及参数值等信息--------------------------------finish

打印:
打印变量值-----------p/print
显示a的值------------p a

查询运行信息:
当前运行的堆栈列表------where/bt
显示当前调用的堆栈------bt backtrace

指定运行时的参数---------set 参数
查看程序的是否在运行,进程号,被暂停的原因----info program
打印目前线程的信息和编号----------info threads
切换线程1 -------- t/thread 1    

详细的可阅读:Linux下GDB详解

(有详细命令以及代码举例以及多进程多线程调试)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值