初学linux:第一个C语言程序运行(gcc)和调试(gdb)过程及命令

编译运行gcc

首先,打开gedit文档编写第一个程序,选择对应的语言,并可以将库里面的函数设置为高亮形式(查看|高亮模式|语言选择),如下图。
初学linux:第一个C语言程序运行(gcc)和调试(gdb)过程及命令_第1张图片
写好程序后保存并退出,我将文档命名为hello.c。打开命令行进入文档保存目录,通过文档属性查看,我的存放目录是“/home/bojian/桌面”

cd /home/bojian/桌面

初学linux:第一个C语言程序运行(gcc)和调试(gdb)过程及命令_第2张图片
然后就可以通过gcc命令对.c后缀文档进行编译生成.o可执行文档。下面代码含义是将hello.c生成可执行.o文档,命名为hello。

gcc -o hello hello.c

如果你编写的是C++程序,则后缀应该是.cpp,且应该用g++进行运行,其命令和gcc基本一样,过程相似。

g++ -o hello hello.cpp

生成可执行文档就可以运行程序:

./hello

初学linux:第一个C语言程序运行(gcc)和调试(gdb)过程及命令_第3张图片
程序默认的标准输出为屏幕,如果想要将输出结果改为文档,则可以使用重定向“>>”,利用下面语句可以将运行结果写入到hello_out文档中。执行中生成以下三个文档

./hello >> hello_out

初学linux:第一个C语言程序运行(gcc)和调试(gdb)过程及命令_第4张图片

调试gdb

首先要将编译好的文档生成带有调试信息的可执行文档,用下面语句。生成a.out文档。

gcc -g  hello.c

然后就可以进行gdb调试。下图中介绍了gdb的版本信息。最后(gdb)是在等待命令。直接输入命令即可。

gdb a.out

初学linux:第一个C语言程序运行(gcc)和调试(gdb)过程及命令_第5张图片
gdb支持缩写,例如help命令可以直接输入h即可,下面给出常用的命令及解释。

命令 缩写 含义
help h 获取帮助信息,可以直接用,输入help。也可以获取详细信息,如获取break信息,即可help break
list l 查看程序源代码,并显示行号
search 向前(文件尾)搜索源代码,例如search “hello world”搜索这个语句代码,跳到这一行,再进行搜索就会搜索这一行之后的代码,所以才有了下面的命令reverse-search
reverse-search 向后(文档首)搜索源代码
break b 设置断点,后面加入行,可进行多次设置,例如break 3,设置第三行为断点。info break命令可以查看设置断点信息,clear可以清除当前所在断点
run r 运行程序至断点处
next n 单步运行,也可以加步数,如next 2,执行两步。next只是单纯的执行语句,如果调用一个函数,则只会认为这是一条语句,不会进入函数内部,而step却进入
continue c 运行程序至下一个断点
step s 单步执行,进入函数体
print p 打印变量值,即观察变量,例如print sum,会在屏幕上输出sum变量的运行值
watch 设置观察点,一旦参数值发生改变,就会停下程序
set var 临时修改变量,例如 set var i=2,将程序中i的值设置为2
bt 查看运行时堆栈情况
quit q 退出gdb

参考书籍:《linux从入门到精通》

你可能感兴趣的:(linux)