Linux下gdb使用整理记录

1.创建cpp文件:vim sourcefile.cpp

2.生成可执行文件:g++ -g sourcefile.cpp -o exename

------加上-g参数,才能输出调试信息; -o:指定生成的可执行文件名;-c:指定目标文件名

3.启动调试:输入gdb进入gdb环境

4.输入 file exename   (告诉gdb要调试了)

5.输入 l (list)查看代码,回车重复上一条命令

-----------------------list 的详细使用-----------------------------

----list  linenum  :显示linenum周围几行代码,我line 5 给我显示了1-10行代码

----list function   :显示函数function的实现代码

----list                :显示当前行后面的代码

----list -             :显示当前行前边的代码

----set listsize count :默认显示10行,可通过这个命令来更改每次显示的行数

----show listsize       :  查看当前listsize的设置。

----list  first, last     :显示从first行到last行之间的源代码.

----list  , last           :从当前行到last

----list +                 : 当前行以后的代码


一般来说在list后面可以跟以下这们的参数:

<linenum> 行号。
<+offset> 当前行号的正偏移量。
<-offset> 当前行号的负偏移量。
<filename:linenum> 哪个文件的哪一行。
<function> 函数名。
<filename:function> 哪个文件中的哪个函数。
<*address> 程序运行时的语句在内存中的地址。

6.断点设置:b main   在main函数入口加一个断点

-------break  5  :在第5行设置断点; i b  (info break) 查看断点信息  

7.输入 r (run)开始运行代码到断点处

8.输入 s  (step)单步进入函数

9.可以输入 n:单步调试;输入print var (缩写:p var)可以查看变量bar的值

------查看堆栈bt,  down和up可一个一个打印堆栈信息。bt直接打印全部堆栈信息。

10.调试结束,输入c (continue) 运行到结束

-----或者 q  (quit)退出

问题:如果代码错了,不能生成可执行文件该如何??

转载于:https://www.cnblogs.com/lp3318/p/5628483.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值