LINUX 下编写C程序代码的工具
2016-11-17 17:59
141 查看
编辑工具—vim
编译工具—gcc
调试工具—gdb
gcc和gdb的版本上面必须保持同步性质,否则低版本的gdb不能够很好的工作在高版本的gcc上(http://www.gnu.org/software/gdb/ 这是新的gdb的下载地址)。
gdb 的学习参考网址:
- https://gitlore.com/gitlore-git/gdb_tips/index.html
- http://blog.csdn.net/liigo/article/details/582231/
gdb 的学习的过程应该是一个渐进的过程,想快速掌握他需要一定的时间。上面的网址有详细的学习方式,这里提供一个基本的学习思路。
首先,我们要明白调试的目的是什么?我们调试的目的就是想知道当我们执行到某个语句的时候,此时的系统的状态是个什么样子(通常我们关心这个状态是不是我们预期的状态)。我们通常关心某些变量的值,系统的堆栈状态,如果是多线程程序,我们可能会关心线程的运行情况。
其次,我们知道gdb是一个基于命令行的调试工具,他不具备IDE的调试窗口,IDE 通常可以一次性展示多个窗口。这些虽然gdb不具备这样的功能,但是gdb提供的功能已经够我们使用了。
了解了这些,我们现在来说明一下具体的调试方法和步骤。
1.使用gcc编译一个C代码文件,必须加上“-g”选项,生成a.out可执行文件。
2.执行gdb命令
3.使用file a.out
4.使用start开始调试
5.使用n单步调试
6.如果遇到函数,我们可以使用s进入函数
查看变量的值,使用p命令,比如如果我们想查看变量n的值,我们可以使用p n
查看堆栈,使用bt命令
查看源代码我们可以使用l命令
设置断点我们使用b命令
取消断点我们可以使用d命令
查看断点信息我们使用info b命令行
r命令一直执行到有断点出或者整个程序的终止处
以上就是基本的命令说明,具体的方式,还需要自己自行使用。
vim学习参考地址:
- https://zhuanlan.zhihu.com/learn-vim
- http://coolshell.cn/articles/5426.html
基本功能:
立即查找当前字符串:
使用光标定位字符串
使用 shift+* 锁定字符串
使用n查找下一个
编译工具—gcc
调试工具—gdb
gcc和gdb的版本上面必须保持同步性质,否则低版本的gdb不能够很好的工作在高版本的gcc上(http://www.gnu.org/software/gdb/ 这是新的gdb的下载地址)。
gdb 的学习参考网址:
- https://gitlore.com/gitlore-git/gdb_tips/index.html
- http://blog.csdn.net/liigo/article/details/582231/
gdb 的学习的过程应该是一个渐进的过程,想快速掌握他需要一定的时间。上面的网址有详细的学习方式,这里提供一个基本的学习思路。
首先,我们要明白调试的目的是什么?我们调试的目的就是想知道当我们执行到某个语句的时候,此时的系统的状态是个什么样子(通常我们关心这个状态是不是我们预期的状态)。我们通常关心某些变量的值,系统的堆栈状态,如果是多线程程序,我们可能会关心线程的运行情况。
其次,我们知道gdb是一个基于命令行的调试工具,他不具备IDE的调试窗口,IDE 通常可以一次性展示多个窗口。这些虽然gdb不具备这样的功能,但是gdb提供的功能已经够我们使用了。
了解了这些,我们现在来说明一下具体的调试方法和步骤。
1.使用gcc编译一个C代码文件,必须加上“-g”选项,生成a.out可执行文件。
2.执行gdb命令
3.使用file a.out
4.使用start开始调试
5.使用n单步调试
6.如果遇到函数,我们可以使用s进入函数
查看变量的值,使用p命令,比如如果我们想查看变量n的值,我们可以使用p n
查看堆栈,使用bt命令
查看源代码我们可以使用l命令
设置断点我们使用b命令
取消断点我们可以使用d命令
查看断点信息我们使用info b命令行
r命令一直执行到有断点出或者整个程序的终止处
以上就是基本的命令说明,具体的方式,还需要自己自行使用。
vim学习参考地址:
- https://zhuanlan.zhihu.com/learn-vim
- http://coolshell.cn/articles/5426.html
基本功能:
立即查找当前字符串:
使用光标定位字符串
使用 shift+* 锁定字符串
使用n查找下一个
相关文章推荐
- gcov命令_Linux gcov 命令用法详解:测试程序的代码覆盖率的工具
- linux环境下C语言实现非阻塞方式读取字符串数据的串口测试程序,即串口工具的编写
- [编写高质量代码:改善java程序的151个建议]建议42,如何让一个工具类不可实例化
- Linux多任务编程 编写多进程程序及其代码
- U-Boot使用loadb下载程序(附测试代码) --基于Linux下Kermit工具
- linux下调试程序和如何图形化调试,图形化工程代码编写与编译
- Qt程序国际化工具使用和相关代码编写规范
- Linux下编写网络抓包程序代码
- Linux串口测试工具简单程序代码解析
- Linux下编写程序必要工具使用详解
- [编写高质量代码:改善java程序的151个建议]建议42,如何让一个工具类不可实例化
- linux下用C编写的OCI连接Oracle数据库程序代码
- 程序代码美化工具
- 在Linux环境下编写控制台模式下的彩色字符程序
- Linux程序应用开发环境和工具经验谈
- Linux程序在Windows中编写解决方案
- 使用slickedit编写wince与linux跨平台c/s程序的心得
- 编写Linux实用程序的艺术
- 用C#代码编写的SN快速输入工具
- 用C#代码编写的SN快速输入工具