gdb的使用

本文摘抄于宋劲彬老师的《linux编程一站式学习》

在介绍gdb前先声明,工具再强大,修bug的基本思想也是:“分析现象->假设错误原因->产生新的现象去验证假设”这个道理。

 

gdb就是一个功能强大的程序调试工具,可以实现断点调试,局部变量值查看等等,是用来辅助程序员查找bug的工具。

 

gdb的使用:

编译时用-g参数生成的文件才能被gdb调试,如gcc -g test.c -o test;则test文件就可以用gdb来调试,需要注意的是test.c的文件名也不能更改,因为test其实并不含有代码。

在linux shell下直接键入gdb test就可以调试test文件了,按q即可退出。下面给出调试时的基本命令:

gdb基本命令1:(这里的栈帧是指某函数在栈堆里的位置)

start    开始执行程序,停在main函数第一行语句前等待命令

list(或l)    列出源代码,接着上次的位置往下列,每次列10行

list+行号    列出某行开始的源代码

list+函数名      列出某函数的源代码

backtrace(或bt)    查看各级函数调用及参数

frame(或f)+帧编号    选择栈帧

info(或i)+locals    查看当前栈帧局部变量的值

next(或n)    执行下一条语句,跳过调用的函数

step(或s)    执行下一条语句,进入调用的函数

print(或p)+表达式    打印表达式的值,通过表达式可以修改变量的值或者调用函数

set+var+变量赋值语句   修改变量的值

finish                            执行到当前函数返回,然后停下来等待命令

 

未完待续……

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值