KOl*_*egA 15
看看pyclewn.正如vim.org上所写:
Pyclewn - Vim的扩展,支持从Vim完全使用gdb.使用断点,监视变量,gdb命令完成等.使用NetBeans接口.
也许开始使用它作为cgdb并不是那么容易,但它很容易使用它.
首先,您需要使用+ netbeans_intg功能和+ python/dyn或+ python3/dyn编译vim例如,您使用python3.像这样配置vim:
./configure --with-features=huge --enable-python3interp
Run Code Online (Sandbox Code Playgroud)
不要忘记安装python头文件(包python3-dev).然后下载 pyclewn-1.7.py3.tar.gz并安装.
tar zxvf pyclewn-1.7.py3.tar.gz
vimdir=$HOME/.vim/bundle/pyclewn python3 setup.py install --force --home=$HOME/.vim/local
Run Code Online (Sandbox Code Playgroud)
将行'$ HOME/.vim/local/lib/python/clewn/vim.py:343从'runtime plugin/pyclewn.vim'更改为'runtime bundle/pyclewn/plugin/pyclewn.vim'
将路径$ HOME/.vim/local/bin(或您使用的任何其他路径)添加到PATH.
添加变量
export CLEWNDIR=$HOME/.vim/bundle/pyclewn/macros
Run Code Online (Sandbox Code Playgroud)
您可以在文件$ HOME/.vim/bundle/pyclewn/macros/.pyclewn_keys.gdb中更改键映射
为了便于pyclewn运行,我使用下一个bash文件:$ HOME/.vim/local/bin/pclewn
#!/bin/bash
pyclewn --gdb="async" --args="--args $@" --cargs='-c "runtime misc/pclewn.vim" -c "call PyClewnPre()"'
Run Code Online (Sandbox Code Playgroud)
和vim脚本$ HOME/.vim/misc/pclewn.vim
function! PyClewnInit()
C tbreak main
Cmapkeys
unmap <CR>
endfunction
function! PyClewnPre()
map <CR> :call PyClewnInit()<CR>
0put ='Press <Enter> to start'
setlocal buftype=nofile
endfunction
Run Code Online (Sandbox Code Playgroud)
所以,要开始调试我使用命令:
pclewn my_program arg1 arg2 argN
Run Code Online (Sandbox Code Playgroud)
UPD:您的C++程序可能使用STL容器.要很好地显示它们,请下载dbinit_stl_views-1.03.txt并将此文件重命名为〜/ .gdbinit.在此之后,您可以使用以下命令:
pstring stl_variable
pvector stl_variable
Run Code Online (Sandbox Code Playgroud)
gdb提供的帮助,例如命令'help pmap'.在这里阅读更多
当然,您可以将键映射到光标下的打印字符串,如下所示:
nmap <F1> :exe "C pstring " . expand("<cword>")<CR>
Run Code Online (Sandbox Code Playgroud)
use*_*723 13
谷歌是你的朋友. http://clewn.sourceforge.net/
老实说,我认为你最好坚持使用cgdb.
Conque GDB与cgdb非常相似.它是一个终端仿真器,它将vim缓冲区转换为gdb命令行界面.见http://www.vim.org/scripts/script.php?script_id=4582