linux下c程序调试
来源:互联网 发布:校园谈论源码 编辑:程序博客网 时间:2024/05/02 03:05
使用GCC编译器对c程序进行编译。
先用vim写一个简单的c程序 命名为a.c(此次的后缀名如果不是.c的话还需要另一个处理参数,后边会说)
打开终端进入a.c所在目录
1. 首先将代码编译成可执行的文件:
gcc a.c
2. 查看已经编译的文件:
ls
显示 a.c a.out(这里是因为我们没有指定输出文件名,系统默认为a.out)
3. 对文件添加可执行权限,因为linux下默认的文件权限没有x
chmod +x a.out
4. 运行文件
./a.out
值此完成了简单c程序的编译运行过程。
当然也可以指定输出文件名:
gcc a.c -o my.a
那么此时可运行文件变成了my.a。那么下面运行my.a就可以了
关于GCC的参数:
可以用命令 gcc --help显示出他所有的参数来。
常用的有gcc -v a.c,可以查看编译过程
上面说过如果文件的后缀名不是.c的话,那么gcc不能自动识别是c程序了,该如何做呢?
比如我们的c程序存为a.u,那么输入如下命令让gcc知道他是一个c程序,并且按照c程序去编译运行:
gcc -x 'c' a.u
下面介绍使用gdb进行c程序的调试方法:
主要使用gdb 进行下面5 个方面的操作。
A:启动程序:在启动程序时,可以设置程序运行环境。
B: 设置断点:断点就是可以在程序设计时暂停程序运行的标记。程序会在断点处停止,
用户便于查看程序的运行情况。这里的断点可以是行数、程序名称或条件表达式。
A: 查看信息:在断点停止后,可以查看程序的运行信息和显示程序变量的值。
B: 分步运行:可以使程序一个语句一个语句的执行,这时可以及时地查看程序的信息。
C: 改变环境:可以在程序运行时改变程序的运行环境和程序变量。
1. 在程序中加入调试信息
gcc -g -o a.debug a.c
编译a.c 生成a.debug文件,该文件中包含了可供调试的信息。
2. 启动gdb
终端中输入 gdb
3. 加载文件
file a.debug
4. 在gdb中查看代码
ls
按回车可以看后续行
5. 加入断点
break 6 即在第六行加入断点
6. 查看断点
info breakpoint
7. 运行程序
在gdb中输入run
程序会在断点处停下,此时输入next或step将进入下一步,输入continue将到下一个断点。如果需要打印输出某个变量i,
则输入 print i 。 next和step的区别是step会跳入子函数中去,而next直接进入下一行
- linux下c程序调试
- linux下c程序调试
- Linux 下 C程序编译与调试
- linux 下 gdb 调试c/c++ 程序
- linux下用gdb调试c程序
- linux下gdb调试C程序
- Linux下 C/C++程序调试技巧
- linux下gdb调试c语言程序
- Linux环境下调试C程序
- linux下c/c++程序调试拾遗
- linux下C/C++程序简单调试
- linux下用gdb调试c程序
- linux下的gdb调试(调试c程序)
- linux下c调试
- linux下C语言编程1-gdb调试程序简介
- linux下编译C程序——gdb简单调试
- linux下,对c语言程序进行调试
- Linux下C语言程序简单的编写和调试
- 【Unity】监听GameView分辨率变化
- PowerDesigner逆向工程导入MYSQL数据库总结
- Jquery 选择器介绍
- DO_BUFFERED_IO和DO_DIRECT_IO与其他方式的区别
- android studio设置代理更新
- linux下c程序调试
- JS获取浏览器窗口大小
- 字母 日期或时间元素 表示 示例 (java)
- 正则表达式全部符号解释
- 验证字符串是否是日期格式(支持24小时制)
- Android多媒体开发【12】-- android中OpenMax的实现【3】OMX中主要成员
- JS中实现replaceAll的方法
- C#设计模式07-桥接模式
- jquery读写cookie