GDB前端使用与vim
gdb front end to use with vim?
我可以使用什么gdb前端与vim调试C和c++代码?目前我使用cgdb,我对它很满意。我只是想知道外面还有什么?
看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
不要忘记安装python头文件(package 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
修改$HOME/.vim/local/lib/python/clewn/vim.py:343行Vim '到'runtime bundle/pyclewn/plugin/pyclewn. Vim '
添加路径$HOME/。vim/local/bin(或任何其他您使用的)到您的PATH。
添加变量export CLEWNDIR=$HOME/.vim/bundle/pyclewn/macros
可以在$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()"'
和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
所以,要开始调试,我使用命令:
pclewn my_program arg1 arg2 argN
UPD:您的c++程序可能使用STL容器。为了更好地显示它们,请下载dbinit_stl_views-1.03.txt并将该文件重命名为~/.gdbinit。在此之后,您可以使用以下命令:
pstring stl_variable
pvector stl_variable
gdb提供的帮助,例如通过命令' Help pmap'。点击这里阅读更多内容
当然你也可以像这样将键映射到光标下的打印字符串:
nmap <F1> :exe "C pstring " . expand("<cword>")<CR>
谷歌是你的朋友。http://clewn.sourceforge.net/
老实说,我认为你最好还是使用cgdb。
Conque GDB与cgdb非常相似。它是一个终端仿真器,可以将vim缓冲区转换为gdb命令行接口。见http://www.vim.org/scripts/script.php?script_id=4582
在我看来,gdb TUI是最简单的。您可以在这里查看键绑定列表:http://sourceware.org/gdb/onlinedocs/gdb/TUI-Keys.html#TUI-Keys
特别是s (step-in)和f(完成函数并返回)是最有用的键绑定。
- 如何在带有 gdb GUI 前端的 ARM gdbserver 的 PC 上执行远程 gdb 会话?
- 无法去函数实现 vim
- 如何将默认代码添加到我在 vim 中打开的每个 cpp 文件?
- 在 vim 中C++文件中的输入
- 如何在 vim (windows) 中编译和运行 c++ 代码
- 如何将 AST 用于自定义前端操作和 clang 静态分析
- PyTorch C++ 前端向前返回多个张量
- 如何在vim中导航c++模板实例化
- vim使用户定义类型的COLOR与C++中的基本类型相同
- 自动测试不会显示在会话前端中。虚幻引擎
- 如何使用 vim 将文字"n"替换为文字"\n"?
- 如何在 boost::msm 中实现可以访问状态机 (SM) 的后端/前端的"BaseState"
- vim,自动格式,代码二氧化碳,C
- Vim 合成显示警告并设置警告级别
- vim 标签导航,使用 VIM 或 CTAG 更改排序顺序
- 用于使用可选输入文件运行 C++ 的 VIM 映射
- VIM:执行复杂文件类型的脚本和显示结果
- 如何:非根QML前端和根特性的工作人员线程
- Pyclewn的标准输入/输出(vim的GDB前端)
- GDB前端使用与vim