最近一直使用vim,感觉异常的强大,有些地方虽然不如VC或者SlickEdit强,但是这恰恰给了人脑子记忆东西的空间,感觉非常好。
以前一直用printf进行软件调试,多线程调试起来相当不错,最近想学习一下开源软件,使用gdb进行代码跟踪,于是在网上搜索了一下,发现vim一样可以集成gdb,进行调试,于是开始了vim+gdb的安装过程,如下
- 首先下载vim和vimgdb patch,解压开,然后查看了vimgdb的INSTALL说明文档,patch -d vim72 --backup -p0 < vimgdb/vim72.diff执行了该命令后,vimgdb的补丁就打好了。
- 进入vim文件夹,网上说可以修改Makefile文件更改编译选项,可是我一直没有找到在哪里进行更改,于是使用configure脚本进行配置配置选项如下
./configure --enable-perlinterp --enable-pythoninterp --enable-tclinterp --enable-rubyinterp --enable-cscope --enable-gdb --enable-multibyte --enable-xim --enable-fontset --enable-gui=gtk2
打开了对一些脚本语言的支持,打开了中文的支持 - 然后执行make; make install
- 安装vimgdb运行时的一些插件 tar -zxf vimgdb_runtime.tgz
cp doc/gdb.txt ~/.vim/doc
cp macros/ ~/.vim -fr
cp syntax/ ~/.vim -fr - 查看vimgdb的doc/gdb.txt 发现需要设置几个选项,于是加到了~/.vimrc里面
syntax enable " enable syntax highlighting
set previewheight=12 " set gdb window initial height
run macros/gdb_mappings.vim " source key mappings listed in this document
set asm=0 " don't show any assembly stuff
set gdbprg=gdb " set GDB invocation string (default 'gdb')
注意
- vim编译安装完成后可能会出现启动不起来的情况,后来发现是gcc 4.4.1的问题,改用gcc 4.1.3以后,不会出现vim 启动直接崩溃。
使用方法
- 关于快捷键值映射可以查看~/.vim/macros/gdb_mappings.vim,当然了可以查看~/.vim/doc/gdb.txt帮助文件
优化改进
- 按照网上的方法
打开~/.vim/macros/ gdb_mappings.vim文件,在”let s:gdb_k = 0 “这一行下面加上这段内容:
" easwy add
if ! exists("g:vimgdb_debug_file")
let g:vimgdb_debug_file = ""
elseif g:vimgdb_debug_file == ""
call inputsave()
let g:vimgdb_debug_file = input("File: ", "", "file")
call inputrestore()
endif
call gdb("file " . g:vimgdb_debug_file)
" easwy end在”let s:gdb_k = 1 “这一行下面加上这段内容:
" easwy add
call gdb("quit")
" end easwy注释掉最后一行的”call s:Toggle() “。
然后在你的.vimrc中增加这段内容:
""""""""""""""""""""""""""""""
" vimgdb setting
""""""""""""""""""""""""""""""
let g:vimgdb_debug_file = ""
run macros/gdb_mappings.vim
现在,在启动vim后,按<F7> ,就进入调试模式以及设定调试的键映射。在第一次进入调试模式时,
会提示你输入要调试的文件名,以后就不必再输入了。再按一次<F7> ,就退出调试模式,取消调试的键映射。