linux开发基础之 vi gdb调试(一)

10 篇文章 0 订阅
4 篇文章 0 订阅

1)vi

vi工作模式:

编辑方式、插入方式和命令方式。当运行vi时,首先进入编辑方式


命令行模式功能键:
yy    :复制光标所在行到缓冲区
[n]yy :例如,6yy 表示拷贝从光标所在的该行“往下数”6行文字
p     :将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。
dd    :删除光标所在行。
[n]dd :从光标所在行开始删除#行
/name :查找字符串name,如果有多个,可以通过n来切换
G     :
U     :

vi 退出命令:

KeystrokesResult
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联合使用

在使用watch时步骤如下:
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://www.cppblog.com/fztcjjl/archive/2012/05/02/173434.html

算法牛人
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课

http://linux.chinaunix.net/doc/program/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值