> ## Content Index
> Fetch the complete content index at: https://blog.hacking.pub/llms.txt
> Use this file to discover other available public pages before exploring further.

# vimgdb 安装
- URL: https://blog.hacking.pub/2016/09/06/vimgdb/
- Published: 2016-09-06T13:31:46.000Z
- Updated: 2016-11-03T11:28:09.000Z
- Author: chainhelen
- Tags: vim

### 安装过程

1.移除所有目前vim相关库

```
sudo apt-get remove vim vim-runtime gvim && 
sudo apt-get remove vim-tiny vim-common vim-gui-common

```

2.添加编译vim的依赖库

```
sudo apt-get build-dep vim &&
sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev libgtk2.0-dev libatk1.0-dev libbonoboui2-dev libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev ruby-dev mercurial

```

3.下载vim7.4\_source源码、vimgdb-for-7.4补丁，并解压到work目录下  
可以看见work目录下只有vim7.4\_source，和vimgdb-for-7.4目录  
切换到work目录，打上补丁

```
patch -p0 < vimgdb-for-vim7.4-master/vim74.patch  

```

并安装

```
cd vim74/src
./configure --with-features=huge  
make  
sudo make install  

```

[下载地址](https://pan.baidu.com/s/1hs4WoZi?ref=blog.hacking.pub)

4.因为安装生成的vim文件在/opt/bin目录下，不在环境变量里，需手动加入PATH，故在/etc/bash.bashrc末尾添加

```
export PATH="/opt/bin/:$PATH"

```

5.安装成功后，把vimgdb里面的runtime所有子目录移到\~/.vim/plugin，并打开vim，产生文件索引

```
:helptags ~/.vim/doc 

```

---

### 相关快捷键:

开启vim后，按下F7即可打开/关闭vimgdb的键映射，正常编辑时关闭，调试时才需要打开。  
打开键映射之后，按下空格键即可开启gdb调试窗口，通过file装入调试文件，其他常用快捷键如下:  
ctrl+b 在光标行放置断点  
ctrl+e 清除光标行断点  
ctrl+p 打印光标下的变量值  
ctrl+x 打印光标下指针指向的变量值  
shift+r run  
shift+c continue  
shift+s 单步执行  
在macros/gdb\_mappings.vim第56行，添加

```
nmap <F8> :bel 35vsplit gdbvariables<CR>

```

这样就可以在调试状态下按下F8，打开观察变量窗口

---

### 问题

###### 1.can not configure: curses linking fails?

 32位上直接sudo apt-get install libncurses5-dev 就可以了。不知道为什么64位上找不到该库，但是可以利用apt search curses，可以看到libghc-ncurses-dev。

###### 2./usr/include/ruby-2.3.0/ruby/ruby.h:24:25: fatal error: ruby/config.h

 确保系统中是有ruby环境的，使用以下命令  
**In debian run**:

```
dpkg-divert --rename --divert /usr/include/ruby-2.3.0/ruby/config.h --add /usr/include/x86_64-linux-gnu/ruby-2.3.0/ruby/config.h

```

**or (for 32bit)**

```
dpkg-divert --rename --divert /usr/include/ruby-2.3.0/ruby/config.h --add /usr/include/i386-linux-gnu

```

###### 3.安装后，打开报错buffer overflow detected \*\*\*: vim terminated

 编译加参数，

```
make CFLAGS="-O2 -D_FORTIFY_SOURCE=1"

```

如果还是失败，尝试一下命令安装

```
make CFLAGS="-O3 -D_FORTIFY_SOURCE=1"

```