OSX MacVim + vim-lldb配置和使用心得
2015-12-16 01:25
399 查看
Mac里面默认的编译器是clang/clang++
所以debugger就选择了lldb
想搭配MacVim一起使用,于是就找到了vim-lldb这个插件,相当强大
这个插件支持Vundle,所以安装起来比较容易。
不过我在安装过程中发现vim提示Python Fatal Error的提示,
最后发现原因是我用brew安装了第三方的python,
所以系统里存在两个python:原生python和第三方python,导致了错误
解决办法就是卸载或者unlink,用brew安装的python
或者
注意,这有可能会导致你的其他用第三方编译的程序出问题,所以慎重。
最坏的情况就是用系统自带的python再编译一遍。。。233333
使用方法:
1. 在Terminal中,用调试模式编译cpp文件,默认生成a.out文件
2. 用Vim / MacVim打开test.cpp 文件,指定目标可执行文件
在Vim中,输入
之后会调处一堆窗口,包括locals, breakpoints等等。
3. 在Vim中输入
开始调试,这时候,由于你没有设置断点,所以程序直接运行完了
4. 在Vim中你需要设置断点的地方,输入
就可以在光标位置设置断点了
5. 重新执行:Lstart命令就可以在断点处停止了。
我在.vimrc文件中定义的快捷键如下
其他命令可以查看Vim里面的帮助:he lldb
所以debugger就选择了lldb
想搭配MacVim一起使用,于是就找到了vim-lldb这个插件,相当强大
这个插件支持Vundle,所以安装起来比较容易。
不过我在安装过程中发现vim提示Python Fatal Error的提示,
最后发现原因是我用brew安装了第三方的python,
所以系统里存在两个python:原生python和第三方python,导致了错误
解决办法就是卸载或者unlink,用brew安装的python
brew uninstall python
或者
brew unlink python
注意,这有可能会导致你的其他用第三方编译的程序出问题,所以慎重。
最坏的情况就是用系统自带的python再编译一遍。。。233333
使用方法:
1. 在Terminal中,用调试模式编译cpp文件,默认生成a.out文件
clang++ -g test.cpp
2. 用Vim / MacVim打开test.cpp 文件,指定目标可执行文件
vim test.cpp
在Vim中,输入
:Ltarget a.out
之后会调处一堆窗口,包括locals, breakpoints等等。
3. 在Vim中输入
:Lstart
开始调试,这时候,由于你没有设置断点,所以程序直接运行完了
4. 在Vim中你需要设置断点的地方,输入
:Lbreakpoint
就可以在光标位置设置断点了
5. 重新执行:Lstart命令就可以在断点处停止了。
我在.vimrc文件中定义的快捷键如下
" vim-lldb Settings let g:lldb_map_Lstart = “<F5>" let g:lldb_map_Lcontinue = “<F6>" let g:lldb_map_Lbreakpoint = “<F9>" let g:lldb_map_Lnext = “<F10>" let g:lldb_map_Lstep = “F11"
其他命令可以查看Vim里面的帮助:he lldb
相关文章推荐
- 【Javascript】返回星期方法
- STL_3: 类别转换操作符
- [Leetcode] Sort Colors
- DNS加速之“智能DNS”跟“双线加速”、“CDN加速”的区别
- 制作U-Boot的SD启动卡
- 马哥linux学习笔记:locate,find命令总结
- plot a critical difference diagram , MATLAB code
- Gitflow实践
- 程序设计--有关排序的料
- 【Javascript】Date 日期对象
- Android使用popwindow弹窗显示listview表格
- Struts2不使用自带标签库执行method方法
- 第二章 Android开发工具新接触
- 报IO异常怎么处理啊 在一个工程中好用移到另外一个工程中就会有问题
- Product of Array Except Self
- 一维数组与二维数组深度解剖
- VS2013如何添加LIb库及头文件的步骤
- Android中数据存储----SQLite数据库
- 32位到64位:VS2013修改编译平台的方法
- MATLAB实现矩阵分块相乘