您的位置:首页 > 其它

Gentoo安装vimgdb详细过程

2012-09-18 10:31 176 查看
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 Makefile或emacs 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<F2> :runmacros/gdb_mappings.vim<CR>

这里说明一下,因为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 来查看加载键的用法

用<F2>可以启用/关闭加载的键

现在,按空格键,就会在当前窗口下方打开一个小窗口,这就是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 来创建新的监视变量对象
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: