Mac里面默认的编译器是clang/clang++

所以debugger就选择了lldb

想搭配MacVim一起使用,于是就找到了vim-lldb这个插件,相当强大

 

这个插件支持Vundle,所以安装起来比较容易。

不过我在安装过程中发现vim提示Python Fatal Error的提示,

最后发现原因是我用brew安装了第三方的python,

所以系统里存在两个python:原生python和第三方python,导致了错误

解决办法就是卸载或者unlink,用brew安装的python

  1. brew uninstall python

或者

  1. brew unlink python

注意,这有可能会导致你的其他用第三方编译的程序出问题,所以慎重。

最坏的情况就是用系统自带的python再编译一遍。。。233333

 

使用方法:

1. 在Terminal中,用调试模式编译cpp文件,默认生成a.out文件

  1. clang++ -g test.cpp

2. 用Vim / MacVim打开test.cpp 文件,指定目标可执行文件

  1. vim test.cpp

在Vim中,输入

  1. :Ltarget a.out

之后会调处一堆窗口,包括locals, breakpoints等等。

3. 在Vim中输入

  1. :Lstart

开始调试,这时候,由于你没有设置断点,所以程序直接运行完了

4. 在Vim中你需要设置断点的地方,输入

  1. :Lbreakpoint

就可以在光标位置设置断点了

5. 重新执行:Lstart命令就可以在断点处停止了。

 

我在.vimrc文件中定义的快捷键如下

  1. " vim-lldb Settings
  2. let g:lldb_map_Lstart = “<F5>"
  3. let g:lldb_map_Lcontinue = “<F6>"
  4. let g:lldb_map_Lbreakpoint = “<F9>"
  5. let g:lldb_map_Lnext = “<F10>"
  6. let g:lldb_map_Lstep = “F11"

 

其他命令可以查看Vim里面的帮助:he lldb

 

 

 

OSX MacVim + vim-lldb配置和使用心得的更多相关文章

  1. macOS中Vim基本配置,颜色主题/语法/indent设置

    macOS中Vim基本配置 Vim的初始化配置 .vimrc 存放位置 macOS 环境下 vim 的初始化配置文件为 .vimrc , 通常有两个(系统版本和用户版本),一个位于 /usr/shar ...

  2. [转] vim自定义配置 和 在ubnetu中安装vim

    Ubuntu 12.04安装vim和配置   问题: ubuntu默认没有安装vim,出现: jyg@ubuntu:~$ vim test.cThe program 'vim' can be foun ...

  3. 为了让vi命令也可以使用vim的配置,需要修改 vi /etc/bashrc 增加一行 alias vi='vim'此时,经过上面配置已经可以显示语法高亮了

    为了让vi命令也可以使用vim的配置,需要修改 vi /etc/bashrc 增加一行 aliasvi='vim'此时,经过上面配置已经可以显示语法高亮了

  4. linux环境下Vim的配置

    原文链接:http://blog.chinaunix.net/uid-26826958-id-3272375.html  (本文转自此链接中的部分内容,但做了适当修改) 安装vim命令:sudo ap ...

  5. windows下LINUX模拟终端Cypwin以及Vim的配置使用

    Cypwin的安装 从官网下载相应版本后,直接安装. 官网地址:Cypwin 安装过程中可以选择相应的Packages,我们需要安装的Vim就需要在这一步中选择相应的包. Cypwin的使用 纯命令行 ...

  6. VIM简单配置

    配置vim配置 编辑配置文件 feng@mint ~ $ vim ~/.vimrc 配置如下 主要配置为自动换行,设置行号,设置tab键为4个空格,同时将tab键自动转换成空格 set autoind ...

  7. OSX系统的sublime配置php执行编译

    OSX系统的sublime配置php执行编译 1).进入如下菜单 2)弹出内容如下: { "cmd": ["make"] } 修改为: { "cmd& ...

  8. vim基本配置备份

    我的vim基本配置如下,在这里作个备份: set background=light syntax on set number set smartindent set expandtab set tab ...

  9. Linux - vim安装 配置与使用

    一 Vim 简单介绍 曾经一直用vi,近期開始使用 vim,以下将两者做一下比較. vi和vim都是word=%E5%A4%9A%E6%A8%A1&fr=qb_search_exp&i ...

  10. vim 基础配置

    最近在使用 python 搞服务, 简单配置了一个 vim, 配置了自动补全以及背景色 .(ps:搜狗输入法快捷键占用真是太坑爹,改用谷歌输入法,世界安静了) 具体配置如下: 一. 安装插件 1.克隆 ...

随机推荐

  1. ar1220f-s四条拨号光纤做的策略路由实现负载均衡

    acl number 3001  //内网数据流不需被重定向到外网出口. rule 5 permit ip source 192.168.0.0 0.0.255.255  destination 19 ...

  2. Natas Wargame Level 12 Writeup(文件上传漏洞)

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsQAAAChCAYAAADA86lDAAAABHNCSVQICAgIfAhkiAAAIABJREFUeF

  3. Basic Sort Algorithms

    1. Bubble Sort public void bubbleSort(int[] arr) { boolean swapped = true; int j = 0; int tmp; while ...

  4. URI结构

    [scheme:][//host:port][path][?query][#fragment] path:从端口后第一个/开始,可以有多个,每个用/连接. query:从第一个?开始,至行尾或#结束. ...

  5. javaWeb学习总结(3)- Servlet基础

    Servlet的应用 Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的web页面.它担当Web浏览器或其他http客户程序发出请求. 与http服务器上的数据库或应用程 ...

  6. 关于laravel5.2仓库的建立,以及简单调用

    laravel个人比较喜欢,就是控制器里面逻辑代码的分离,这样结构很清晰,有利于后期的维护,现在就把平时工作中运用的仓库模式,分享一下,望指正. *************************** ...

  7. Reinforcement Learning in R

    Reinforcement learning has gained considerable traction as it mines real experiences with the help o ...

  8. [netty源码分析]3 eventLoop 实现类SingleThreadEventLoop职责与实现

    eventLoop是基于事件系统机制,主要技术由线程池同队列组成,是由生产/消费者模型设计,那么先搞清楚谁是生产者,消费者内容 SingleThreadEventLoop 实现 public abst ...

  9. sql导出

    第一步: 要求:把Library里面的Readers表导出到MyDB中(注意:读者编号.设置了主键)

  10. css3中强大的filter(滤镜)属性

    CSS3中强大的filter(滤镜)属性 博主最近在做网站的过程中发现了一个非常强大的CSS3属性,就是filter(滤镜)属性,喜欢p图的朋友看名字都应该知道这是什么神器了吧.当然,这个属性的效果肯 ...