关于gdb的使用

  这几天在金工实习,没有怎么练习C语言题目,今天看了一下gdb的使用方法,和Makefile的使用方法;

gdb:

编译时必须加上参数-g ,例:g++ -g temp.cpp -o temp.通过Gcc编译生成可执行文件才能用Gdb进行调试。
进入gdb界面:gdb temp. 提示符变成(gdb)
(1)查看文件


在Gdb中键入”l”(list)就可以查看所载入的文件
(2)设置断点

只需在”b”后加入对应的行号即可(这是最常用的方式,另外还有其他方式设置断点)。如下所示:
(gdb)b 6

代码运行到第五行之前暂停(并没有运行第五行)。
(3)查看断点情况

(Gdb) info b
(4)运行代码

Gdb默认从首行开始运行代码,可键入”r”(run)即可(若想从程序中指定行开始运行,可在r后面加上行号)。
(5)查看变量值

查看断点处的相关变量值。在Gdb中只需键入”p”+变量值即可,如下所示:
(Gdb) p n


Gdb在显示变量值时都会在对应值之前加上”$N”标记,它是当前变量值的引用标记,所以以后若想再次引用此变量就可以直接写作”$N”,而无需写冗长的变量名。


(6)单步运行
使用命令”n”(next)或”s”(step),它们之间的区别在于:若有函数调用的时候,”s”会进入该函数而”n”不会进入该函数。因此,”s”就类似于VC等工具中的”step in”,”n”类似与VC等工具中的”step over”。
(7)恢复程序运行


使用命令”c”(continue).


在Gdb中,程序的运行状态有“运行”、“暂停”和“停止”三种,其中“暂停”状态为程序遇到了断点或观察点之类的,程序暂时停止运行,而此时函数的地址、函数参数、函数内的局部变量都会被压入“栈”(Stack)中。故在这种状态下可以查看函数的变量值等各种属性。但在函数处于“停止”状态之后,“栈”就会自动撤销,它也就无法查看各种信息了。

Makefile:

makefile文件保存了编译器和连接器的参数选项,还表述了所有源文件之间的关系。
创建程序(make程序)首先读取makefile文件,然后再激活编译器,汇编器,资源编译器
和连接器以便产生最后的输出,最后输出并生成的通常的可执行文件.创建程序利用内
置的推理规则来激活编译器,以便通过对特定cpp文件的编译来产生特定的obj文件.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值