linux-C 开发及调试工具 (vim-gcc-gdb-coredump)总结
2016-11-01 21:53
537 查看
本文主要总结Linux-C平台下的开发及调试工具,文中命令用蓝色字体标示。
目录:
1、vi/vim使用笔记
2、gcc使用笔记
3、gdb使用笔记
4、Coredump使用笔记
第1节:vi/vim的使用
1.1 创建文件 touch file.c
,打开文件vimfile.c
1.2 vi的三种工作模式:
按ESC按键进入命令行模式,可以使用VI定义的快捷键
按下I键进入插入模式,进行文本输入和编辑
命令行模式下,输入:进入底行模式
1.3 命令行模式 ESC
复制N行并粘帖行操作 :光标移动到行号 copy=> [ n]yy paste=> p n是行的数目
删除N行,光标移动到开始行,delete ->
dd
取消前一个动作u
查找光标之后的字符串 /string //查找string 字符串
移动到文件末尾 G
1.4 底行模式 :
保存w
另存为 w filename
退出q
保存退出wq
不保存强行退出q!
设置行号(set nunmber) set nu 取消set nonu
第2节:gcc的使用
gcc [options] filenames
2.1 gcc 编译过程
gcc file.c 默认输出a.out 运行程序./a.out
gcc file.c -o file:
分解过程:
file.c 预处理 gcc -E file.c -o file.i
file.i 编译 gcc -S file.i -o file.s
file.s 汇编 gcc -c file.s -o file.o
file.o 链接 gcc file.o -o file
file 执行
./file
2.2 文件类型
.c C 语言源代码文件‘
.h 头文件
.a 目标文件构成的库文件
.C .cc .cxx C++源代码文件
.o 编译后的目标文件
.s 汇编文件
2.3 编译选项
-o filename
指定输出文件名字
-O -O2 对程序进行优化,对整个代码进行优化处理可提高执行效率(如去处没有用到的定义的变量)
gcc -O file.c -o file
time file 输出运行时间
-c 不链接 只生成.o后缀的中间文件。
-g 产生调试信息,调试用
添加头文件路径(#include "my.h") -I path
gcc -I /path file.c -o file
-Wall 生成所有警告信息
-w 不生成警告信息
-Dmarco 宏编译 #ifdef macro
gcc -Dmacro file.c -o file
第3节 gdb 使用
3.1 使用初步
生成信息 gcc -g file.c -o file
启动调试 gdb file
3.2 设置端点
break 函数名 break 行号 break 文件名:行号
3.3 相关命令
l list 查看程序
info break 查看所有断电
delete 断点编号
run 运行程序
print 变量 查看变量的值
next n 下一语句 不进入函数
step 下一句进入函数
continue c 继续运行直达下一个断点
set value=xx 设置变量值
退出 quit q
第4节 Core dump 使用
启动Core dump后,在程序发生错误会将发生错误时的内存状态存储到core文件中,文件名为core_pid.core形式。
segment fault:数组越界、访问空指针、栈溢出、修改只读内存等
4.1 启动coredump 及基本用法
打开 ulimit -c unlimited
启动 ulimit -c 0
用法 gdb 程序名 core文件名
例如: gcc -g file.c -o file
./file
gdb ./file core.12551
4.2 简单设置
设置core文件大小: ulimit -c (大小 kb)
显示大小 ulimit -c
输入文件名
sudo passwd 修改root密码
su root 切换root
echo '%e.core.%p'>proc/sys/kernel/core_pattern 文件名+core+PID格式
echo '%e.core.%t'>proc/sys/kernel/core_pattern 文件名+core+时间
目录:
1、vi/vim使用笔记
2、gcc使用笔记
3、gdb使用笔记
4、Coredump使用笔记
第1节:vi/vim的使用
1.1 创建文件 touch file.c
,打开文件vimfile.c
1.2 vi的三种工作模式:
按ESC按键进入命令行模式,可以使用VI定义的快捷键
按下I键进入插入模式,进行文本输入和编辑
命令行模式下,输入:进入底行模式
1.3 命令行模式 ESC
复制N行并粘帖行操作 :光标移动到行号 copy=> [ n]yy paste=> p n是行的数目
删除N行,光标移动到开始行,delete ->
dd
取消前一个动作u
查找光标之后的字符串 /string //查找string 字符串
移动到文件末尾 G
1.4 底行模式 :
保存w
另存为 w filename
退出q
保存退出wq
不保存强行退出q!
设置行号(set nunmber) set nu 取消set nonu
第2节:gcc的使用
gcc [options] filenames
2.1 gcc 编译过程
gcc file.c 默认输出a.out 运行程序./a.out
gcc file.c -o file:
分解过程:
file.c 预处理 gcc -E file.c -o file.i
file.i 编译 gcc -S file.i -o file.s
file.s 汇编 gcc -c file.s -o file.o
file.o 链接 gcc file.o -o file
file 执行
./file
2.2 文件类型
.c C 语言源代码文件‘
.h 头文件
.a 目标文件构成的库文件
.C .cc .cxx C++源代码文件
.o 编译后的目标文件
.s 汇编文件
2.3 编译选项
-o filename
指定输出文件名字
-O -O2 对程序进行优化,对整个代码进行优化处理可提高执行效率(如去处没有用到的定义的变量)
gcc -O file.c -o file
time file 输出运行时间
-c 不链接 只生成.o后缀的中间文件。
-g 产生调试信息,调试用
添加头文件路径(#include "my.h") -I path
gcc -I /path file.c -o file
-Wall 生成所有警告信息
-w 不生成警告信息
-Dmarco 宏编译 #ifdef macro
gcc -Dmacro file.c -o file
第3节 gdb 使用
3.1 使用初步
生成信息 gcc -g file.c -o file
启动调试 gdb file
3.2 设置端点
break 函数名 break 行号 break 文件名:行号
3.3 相关命令
l list 查看程序
info break 查看所有断电
delete 断点编号
run 运行程序
print 变量 查看变量的值
next n 下一语句 不进入函数
step 下一句进入函数
continue c 继续运行直达下一个断点
set value=xx 设置变量值
退出 quit q
第4节 Core dump 使用
启动Core dump后,在程序发生错误会将发生错误时的内存状态存储到core文件中,文件名为core_pid.core形式。
segment fault:数组越界、访问空指针、栈溢出、修改只读内存等
4.1 启动coredump 及基本用法
打开 ulimit -c unlimited
启动 ulimit -c 0
用法 gdb 程序名 core文件名
例如: gcc -g file.c -o file
./file
gdb ./file core.12551
4.2 简单设置
设置core文件大小: ulimit -c (大小 kb)
显示大小 ulimit -c
输入文件名
sudo passwd 修改root密码
su root 切换root
echo '%e.core.%p'>proc/sys/kernel/core_pattern 文件名+core+PID格式
echo '%e.core.%t'>proc/sys/kernel/core_pattern 文件名+core+时间
相关文章推荐
- Linux下C开发工具介绍 GCC gdb xxgdb calls calltree cproto indent gprof
- Linux下C开发工具介绍 GCC gdb xxgdb calls calltree cprot
- Linux下C开发工具介绍 GCC gdb xxgdb calls calltree cprot
- Eclipse远程开发调试Linux应用程序,Eclipse+cdt+Uniwin+Ubuntu+gcc+gdb,打造超级Linux开发平台
- 据说,VIM(编辑器)+GCC(编译器)+GDB(调试器)是Linux下最常用的开发工具链
- Unix/Linux C++应用开发-gdb工具调试命令
- Unix/Linux C++应用开发-gdb调试工具使用
- linux 开发调试常用工具总结
- linux 开发调试常用工具总结
- Eclipse远程开发调试Linux应用程序,Eclipse+cdt+Uniwin+Ubuntu+gcc+gdb,打造超级Linux开发平台
- Eclipse远程开发调试Linux应用程序,Eclipse+cdt+Uniwin+Ubuntu+gcc+gdb,打造超级Linux开发平台
- 【C语言】开发工具--Linux下调试工具GDB的使用
- 基于Linux调试工具strace与gdb的常用命令总结
- 基于Linux调试工具strace与gdb的常用命令总结
- linux 开发调试常用工具总结
- Linux 下 C 编译gcc与调试gdb工具介绍
- 分类: linux程序设计 2012-03-06 22:01 10646人阅读 评论(5) 收藏 举报 linux语言c工具gcc程序开发 调试是每个程序员都会面临的问题. 如何提高程序员的调
- linux开发调试工具---GDB的使用
- linux开发调试工具---GDB的使用
- linux开发调试工具---GDB的使用