1)vi
vi工作模式:
编辑方式、插入方式和命令方式。当运行vi时,首先进入编辑方式
命令行模式功能键:
yy :复制光标所在行到缓冲区
[n]yy :例如,6yy 表示拷贝从光标所在的该行“往下数”6行文字
p :将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。
dd :删除光标所在行。
[n]dd :从光标所在行开始删除#行
/name :查找字符串name,如果有多个,可以通过n来切换
G :
U :
vi 退出命令:
Keystrokes | Result |
ZZ | 保存文件,退出 |
:wq | 保存文件,退出(和 ZZ 类似) |
:q | 退出。防止没有保存就退出。 |
:q! | 退出。无论保存与否,都退出。 |
vi查找(补充说明):
当你用vi打开一个文件后,因为文件太长,如何才能找到你所要查找的关键字呢?在vi里可没有菜单-〉查找,
不过没关系,你在命令模式下敲斜杆(/)这时在状态栏(也就是屏幕左下脚)就出现了 “/”然后输入你要查找
的关键字敲回车就可以了。如果你要继续查找此关键字,敲字符n就可以继续查找了。值得注意的是“/”是向
下查找,而“?”是向上查找,而在键盘定义上“?”刚好是“/”的上档符.
Vi编辑器的基本使用方法
http://linux.chinaunix.net/doc/office/2005-01-24/898.shtml
vi使用入门
vi代码块缩进:
1.ESC
2. shift +v进入visualline模式。
3.j, k 键选择范围
4.键入>
========================================================================
2)GDB
在编译时用 -g 选项打开调试选项
用 GDB 调试程序
http://oss.org.cn/ossdocs/gnu/linux/gdb.html
GDB 下 watch的使用
http://www.cnblogs.com/lonelycatcher/archive/2011/10/09/2204865.html
示例:
1.编译生成可执行文件:
g++ -g first.cpp -o first
2.启动GDB
gdb first
3.在main函数处设置断点
break main
4.运行程序
run
5.单步运行
next
6.继续运行
continue
1)gdb 调试的程序名
2)gdb
file 调试的程序名
gdb命令
list(l) 查看程序
break(b) 函数名 在某函数入口处添加断点
break(b) 行号 在指定行添加断点
break(b) 文件名:行号 在指定文件的指定行添加断点(注意:有时需要指定文件名所在相对路径)
break(b) 行号 if 条件 当条件为真时,指定行号处断点生效,例如b 5 if i=10,当i等于10时第5行断点生效。
print(p) 变量名 查看指定变量值
finish 运行程序,直到当前函数结束
watch 变量名 对指定变量进行监控
quit(q) 退出gdb
step(s) 执行一行程序. 若呼叫函数, 则进入函数逐行执行。
finish
-------------------------------------------------------------------------------------------
watch通常需要和break,run,continue联合使用
1. 使用break在要观察的变量所在处设置断电;
2. 使用run执行,直到断点;
3. 使用watch设置观察点;
4. 使用continue观察设置的观察点是否有变化。
//很好的博客http://
http://blog.csdn.net/haoel
coolshell.cn 酷壳
用GDB调试程序(一)
用GDB调试程序(二)
用GDB调试程序(三)
用GDB调试程序(四)
用GDB调试程序(五)
用GDB调试程序(六)
用GDB调试程序(七)
Linux开发工具视频:
GCC入门(上)(下)Makefile(上)(下)GDB入门(上)(下)
算法牛人
http://blog.csdn.net/v_JULY_v
Linux 编程大全
http://oss.org.cn/ossdocs/gnu/linux/
linux下 fork(),vfork(),clone()的用法及区别
http://www.cnblogs.com/lonelycatcher/archive/2011/12/17/2291311.html
C++教程网,有大量LINUX C++ 视频
http://www.cppcourse.com/
Linux编程31课