Gentoo安装vimgdb详细过程

1、卸载原始的vim7.3

因为vimgdb支持在命令行界面下的vim中进行程序调试,所以选择vimgdb,而放弃如clewn等。

再者由于目前的vimgdb仅支持到vim7.2,所以只好卸载掉系统原始安装的vim7.3。

卸载如下:

sudo emerge --unmerge vim-core

另外如果安装过gvim的,也要卸载:

sudo emerge --unmerge gvim

至此第一步完成。

2、安装vim7.2和vimgdb


2.1.下载vim和vimgdb源码
 
     vim源码:http://www.vim.org/download.php
vimgdb源码:http://sourceforge.net/project/showfiles.php?group_id=111038&package_id=120238

2.2.解压vim与vimgdb源码
tar xjfvim-7.2.tar.bz2
tar xzfvim-7.2-lang.tar.gz
tar xzfvim-7.2-extra.tar.gz
tar xzfvimgdb72-1.14.tar.gz
patch -d vim72 --backup -p0< vimgdb/vim72.diff(版本不同文件名有所不同)

2.3.修改Makefile文件,我的配置是这样的:
cd vim72/src
gedit Makefileemacs Makefile

CONF_OPT_GUI =--enable-gui=gtk2 #gtk2支持,也能使用gnome
CONF_OPT_CSCOPE =--enable-cscope #cscope支持
CONF_OPT_MULTIBYTE =--enable-multibyte #双字符支持
CONF_OPT_INPUT =--enable-xim #输入法支持
CONF_OPT_OUTPUT =--enable-fontset #双字符支持
CONF_OPT_FEAT =--with-features=huge #最大特性支持

make
sudo make install

注意,在安装完成后,运行vim,可能会也现错误如下:

*** buffer overflow detected ***: vim terminated

======= Backtrace: =========

/lib/libc.so.6(__fortify_fail+0x37)[0x7ffd4e4675f7]

/lib/libc.so.6[0x7ffd4e4665a0]

.....
.....
.....

7ffd49b71000-7ffd49b7d000 r-xp 00000000 08:01 2249                       /lib/libnss_files-2.10.1.so

7ffd49b7d000-7ffd49d7c000 ---p 0000c000 08:01 2249                       /lib/libnss_files-2.10.1.so

7ffd49d7c000-7ffd49d7d000 r--p 0000b000 08:01 2249                       /lib/libnss_files-2.10.1.so

7ffd49d7d000-7ffd49d7e000 rw-p 0000c000 08:01 2249                       /lib/libnss_files-2.10.1.so

7ffd49d7e000-7ffd49d88000 r-xp 00000000 08:01 2259                       /lib/libnss_nis-2.10.1.so

7ffd49d88000-7ffd49f87000 ---p 0000a000 08:01 2259                       /lib/libnss_nis-2.10.1.so|49;0MVim: 拦截到致命信号(deadly signal) ABRT

Vim: 结束。


修正方法如下:

Make的时候加上如下参数:

make CFLAGS="-O2 -D_FORTIFY_SOURCE=1"

如果还不行,就试试这样做:

make CFLAGS="-O3 -D_FORTIFY_SOURCE=1"



3、后续设置

3.1.在VIM中生成帮助文件索引:

cd vimgdb

sudo tar zxfvimgdb_runtime.tgz –C /usr/local/share/vim/vim72/
sudo vim
在vim的底行模式下输入:
:helptags/usr/local/share/vim/vim72/doc

3.2.修改.vimrc

修改一下(cd ~/.vimrc 或 cd/home/用户名/.vimrc)主目录下的.vimrc(没有则创建一个),加入
let g:vimgdb_debug_file =""
runmacros/gdb_mappings.vim
map :runmacros/gdb_mappings.vim
这里说明一下,因为vimgdb的快捷键F7跟c-support有冲突,所以我改了一下,
这样可以在需要的时候按F2载入vimgdb的map,然后F7就可以正常工作了。

3.3.最后再修改下

 
 sudo gedit/usr/local/share/vim/vim72/macros/gdb_mappings.vim文件,
   把最后一行“call s:Toggle()”注释掉,前面加一个英文的双引号即为注释。

这样vim + vimgdb环境就基本搭建完了


4、vimgdb简单使用

接下来我们要试一下vimgdb的调试功能了。

首先:
:run macros/gdb_mappings.vim
来加载vimgdb映射的键
这个时候我们可以用
:help gdb-mapping 来查看加载键的用法

可以启用/关闭加载的键

现在,按空格键,就会在当前窗口下方打开一个小窗口,这就是vimgdb的命令窗口,可以在里面输入gdb命令。现在,我们在这个窗口中输入” gdb“,按回车后,command-line窗口自动关闭,而在当前窗口上方又打开一个窗口,这个窗口是gdb输出窗口。现在vim的窗口布局如下(我又按空格打开了command-line窗口)

然后在这个窗口里
file test
打开要调试的程序

然后在源码文件里可以 CTRL+B来设置断点, R 来运行程序, S单步执行  其他命令可以用 :help gdb-mapping来查看


我们可以输入下面的vim命令:
:bel 20vsplit gdb-variables 在右侧打开一个小窗口来显示要跟踪的变量的值

在源码文件里,用 " v" (表示visual模式) 选定要跟踪的变量,然后 CTRL+P把变量加到右边的监视窗口。
还以在gdb的命令窗口 用
createvar *r 来创建新的监视变量对象


你可能感兴趣的:(Linux,vim,makefile,emacs,signal,gtk,file)