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)退出
问题:如果代码错了,不能生成可执行文件该如何??