Chinaunix首页 | 论坛 | 博客
  • 博客访问: 459025
  • 博文数量: 62
  • 博客积分: 1742
  • 博客等级: 中尉
  • 技术积分: 859
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-06 00:13
个人简介

这是一句很长很长而且又很啰嗦并且很无聊的废话...

文章分类

全部博文(62)

文章存档

2013年(1)

2012年(13)

2011年(48)

分类: LINUX

2011-05-24 20:31:09

1.下载vim7.3,vimgdb7.3,ctags,glibc-2.9,taglist4.5,winmanager2.3
----------------------------------------------------------------------------------------------
vim7.3 -> 
vimgdb7.3 -> 
ctags -> sudo apt-get install ctags
glibc-2.9 -> wget
taglist4.5 ->
winmanager2.3 ->
 
2.安装一下编译vim7.3所需的库
----------------------------------------------------------------------------------------------
sudo apt-get install libreadline5-dev
sudo apt-get install lua5.1
 
3.编译vim
----------------------------------------------------------------------------------------------
tar xjvf  vim-7.3.tar.bz2  -C /tmp "把vim解压到根目录的tmp目录下"
tar xzvf  vimgdb-for-vim7.3.tar.gz  -C /tmp "把vimgdb解压到根目录的tmp目录下,自己注意包名."
cd /tmp "进到tmp目录"
patch  -p0 < vimgdb-for-vim7.3/vim73.patch "为vim7.3打gdb的补丁"
cd vim73/src "打完补丁后进入vin7.3的src目录"
make "编译"
sudo make install "安装"
sudo cp  -rf /tmp/vimgdb-for-vim7.3/vimgdb_runtime/*  /usr/local/share/vim/vim73/ "复制runtime文件"
sudo vim "此时vim7.3已安装成功,如果你本机已经装过vim的话,vi命令将打开的是你旧版的,vim才是你刚装的,如果想用vi打开刚安装的vim,在 ~/.bashrc 里加多一条 alias vi='vim' 即可."
:helptags /usr/local/share/vim/vim73/doc/ "最后生成下帮助文件"
 
4.生成ctags的标签文件
----------------------------------------------------------------------------------------------
在第一步里成功安装ctags后,把下载下来的 glibc-2.9.tar.bz2 解压,并cd进去,然后执行 ctags -R 命令,让它生成一下标签文件.
 
5.安装taglist和winmanager
----------------------------------------------------------------------------------------------
这步很简单,把下载下来的taglist4.5和winmanager2.3的压缩包里的doc和plugin目录丢进 ~/.vim 目录里,
如果没有这个目录就创建一个.
 
6.配置vim脚本
----------------------------------------------------------------------------------------------
把下面的内容添加到你的 ~/.vimrc 里面
 
set mouse=a
:syntax enable
:set previewheight=12
:run macros/gdb_mappings.vim
:set asm=0
:set gdbprg=/usr/bin/gdb
:map :bel 30vsplit gdb-variables
:map :close
set tags+=/home/dara/glibc29/tags
map :FirstExplorerWindow
map :BottomExplorerWindow
map :WMToggle
let g:winManagerWindowLayout='FileExplorer|TagList'
:map :WMToggle
filetype plugin on
 
其中红色的地方要设置成你本机的路径(就是刚才生成ctags的标签文件的那个地方).
其中蓝色的地方分别是:
为显示调试监视变量窗口
为关闭调试监视变量窗口
为显示文件管理和当前函数列表的一个分割窗口.按一次显示,再按一次就关闭.
以上快捷都可以随意修改,随你个人喜好.
 
5.基本用法
----------------------------------------------------------------------------------------------
例如:
$:vi ml.c
  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. int main(){
  4.     int i=10;
  5.     i++;
  6.     i--;
  7.     int b=i+100;

  8.     int c=i+b;

  9.     float d=4.1234;
  10.     int p=d+123;

  11.     malloc(1024);
  12.     return 0;
  13. }
然后再命令模式下键入 :!cc ml.c -g -o ml 回车 再按回车回到vi界面.这时已经生成一个可调试的程序.
接下下来是调用刚才所安装的那些插件的时候了.
按 F7一下,切换到调试模式下,然后按一下空格键,将会在vi里分割出一个小窗口,在小窗口里输入 :file ml
, 这时候他会告诉你,载入ml文件符号完成.OK!继续按一下回车,让窗口消失.然后把光标点点到你要下断点的那一行,然后按 Ctrl+b 这时,那一行应该会变成其他颜色,然后开始运行调试,按 Shift + r .这时候程序应该会停在你刚下断点的地方,这时,按一下 F8 让调试监视变量窗口出来,然后把光标点双击你想要监控的变量上,这时vi底下的状态栏应该为 ---VISUAL--- 显示模式,如果没看见,就点到看到为止.然后按下 Ctrl + p 看变量是不是出现在调试监视变量窗口了,要监视其他变量也是按上面的步骤即可.然后按下 Ctrl + n 让程序单步执行,如果想跳到下一个断点或一直执行,就按Ctrl + c .
 
OK,现在我们试一下Ctags和TagList,WinManager的功能,照例 $:vi ml.c 这时按一下F6,vi左边是不出现两个窗口了,文件管理和函数显示都可以用鼠标双击调用(用键盘则需要按Shift+Ctrl+w切换到对应窗选中按回车才行.),试一下把鼠标放到你想看的函数,例如 malloc(1024);这行,把光标放在malloc中,按后按下Ctrl + } 这时会跳到malloc的定义里,再按下Ctrl + o 就会跳回来了.呵呵!是不是很方便!
 
来一张我自己的vim截图
 
参看文献:
阅读(12341) | 评论(20) | 转发(2) |
0

上一篇:我的Vim

下一篇:看C/C++反汇编的一点心得

给主人留下些什么吧!~~

dawnos2011-06-21 20:30:35

是7.3。runtime文件复制了,是按你的路径的。会不会是在我的机子上路径不同呢?

但按你的改完后,打开vim还是会有如下错误(也许这是问题关键):
tangli@tangli-desktop:~$ vim
Error detected while processing /home/tangli/.vimrc:
line   83:
E518: Unknown option: asm=0
line   84:
E518: Unknown option: gdbprg=/usr/bin/gdb
line   95:
E35: No previous regular expression
Press ENTER or type command to continue
咋办?

czysocket_dara2011-06-20 21:05:33

dawnos: 其实我也怀疑是补丁没打好。打完补丁后:
tangli@tangli-desktop:~/Downloads$ patch -p0 < vimgdb-for-vim7.3/vim73.patch
patching file vim73/src/auto/.....
补丁看起来是打好了了,你现在看到的是7.3的吗?如果是的话,runtime文件复制过去了吗?

另外,最后一条错误是你将alias vi='vim' 也放进.vimrc里了,他应该放~/.bashrc中.

dawnos2011-06-20 11:51:15

其实我也怀疑是补丁没打好。打完补丁后:
tangli@tangli-desktop:~/Downloads$ patch -p0 < vimgdb-for-vim7.3/vim73.patch
patching file vim73/src/auto/configure
patching file vim73/src/buffer.c
patching file vim73/src/clewn/gdb.h
patching file vim73/src/clewn/gdb_lvl2.c
patching file vim73/src/clewn/gdb_lvl3.c
patching file vim73/src/clewn/misc.c
patching file vim73/src/clewn/misc.h
patching file vim73/src/clewn/obstack.c
patching file vim73/src/c

czysocket_dara2011-06-19 15:00:16

dawnos: 我也这样做了,但按F7没反应,而且直接 :call gdb("") 提示unknown function: gdb。请问为什么?.....
你的VIMGDB补丁打好了吗?
如果按上述操作都成功的话,你在终端输入vim,不要输vi,如果你之前有装vi的话.
进入vim看到版本为7.3的话一般都OK的.

还是不行的话,你认真看下第三步,路径要按你本机的路径执行.

dawnos2011-06-18 16:33:17

我也这样做了,但按F7没反应,而且直接 :call gdb("") 提示unknown function: gdb。请问为什么?