vimspector C++調(diào)試

1. 安裝vimspector

使用vimspector 插件

vimrc文件中添加插件并安裝
Plug 'puremourning/vimspector'

2. 安裝vimspector C++調(diào)試適配器

打開(kāi)vim
:VimspectorInstall --enable-c
會(huì)在 ~/.vim/plugged/vimspector/gadgets/linux/ 目錄安裝vscode-cpptools

3. 添加.vimspector.json模板

vim ~/.vim/.vimspectorjson/cpp.json
{                                                                                                      
    "configurations": {
        "cpp:launch": {
            "adapter": "vscode-cpptools",
            "configuration": {
                "name": "cpp:launch",
                "stopAtEntry": true,
                "type": "cppdbg",
                "request": "launch",
                "program": "${workspaceRoot}/a.out",
                "args": [], 
                "cwd": "${workspaceRoot}",
                "environment": [], 
                "externalConsole": true,
                "MIMode": "gdb",
                "breakpointers": {
                    "exception": {
                        "cpp_throw": "Y",
                        "cpp_catch": "N" 
                    }   
                }   
            }   
        },  
        "cpp:attach": {
            "adapter": "vscode-cpptools",
            "configuration": {
                "name": "cpp:attach",
                "stopAtEntry": true,
                "type": "cppdbg",
                "request": "attach",
                "program": "${workspaceRoot}/a.out",
                "MIMode": "gdb",
                "breakpointers": {
                    "exception": {
                        "cpp_throw": "Y",
                        "cpp_catch": "N" 
                    }   
                }   
            }   
        }   
    }   
}

4. 配置快速生成模板快捷鍵

vim ~/.vimrc
// 1. 安裝fzf
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all'  }
Plug 'junegunn/fzf.vim'
// 2. 添加快捷鍵<leader>db快速生成.vimspector.json
"vimspector
let g:vimspector_enable_mappings = 'VISUAL_STUDIO'
"let g:vimspector_base_dir=expand('~/.vim/.vimspectorjson')
function! s:read_template_into_buffer(template)
    " has to be a function to avoid the extra space fzf#run insers otherwise
    execute '0r ~/.vim/.vimspectorjson/'.a:template
endfunction
command! -bang -nargs=* LoadVimSpectorJsonTemplate call fzf#run({
            \   'source': 'ls -1 ~/.vim/.vimspectorjson',
            \   'down': 20,
            \   'sink': function('<sid>read_template_into_buffer')
            \ })
noremap <leader>db :tabe .vimspector.json<CR>:LoadVimSpectorJsonTemplate<CR>
sign define vimspectorBP text=? texthl=Normal
sign define vimspectorBPDisabled text=? texthl=Normal
"sign define vimspectorPC text=? texthl=SpellBad

5. 實(shí)例

5.1 添加調(diào)試模板

在項(xiàng)目中添加.vimspector.json配置

  打開(kāi)vim矛绘, 在normal模式下輸入快捷鍵<leader>db跌榔,選擇cpp.json顯示如下:
生成模板

修改配置文件


.vimspector

5.2 按F5啟動(dòng)調(diào)試

選擇2啟動(dòng)

調(diào)試界面

5.3 調(diào)試快捷鍵

可以直接是作者的GitHub(https://github.com/puremourning/vimspector)上查看文檔,我用的是vscode風(fēng)格的快捷鍵

快捷鍵

6. 個(gè)人還是習(xí)慣原生gdb調(diào)試。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末檬某,一起剝皮案震驚了整個(gè)濱河市抑钟,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖烈掠,帶你破解...
    沈念sama閱讀 211,423評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異缸托,居然都是意外死亡左敌,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,147評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門俐镐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)矫限,“玉大人,你說(shuō)我怎么就攤上這事佩抹〉鸱纾” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 157,019評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵棍苹,是天一觀的道長(zhǎng)无宿。 經(jīng)常有香客問(wèn)我,道長(zhǎng)枢里,這世上最難降的妖魔是什么孽鸡? 我笑而不...
    開(kāi)封第一講書人閱讀 56,443評(píng)論 1 283
  • 正文 為了忘掉前任蹂午,我火速辦了婚禮,結(jié)果婚禮上彬碱,老公的妹妹穿的比我還像新娘豆胸。我一直安慰自己,他們只是感情好巷疼,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,535評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布晚胡。 她就那樣靜靜地躺著,像睡著了一般嚼沿。 火紅的嫁衣襯著肌膚如雪搬泥。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 49,798評(píng)論 1 290
  • 那天伏尼,我揣著相機(jī)與錄音忿檩,去河邊找鬼。 笑死爆阶,一個(gè)胖子當(dāng)著我的面吹牛燥透,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播辨图,決...
    沈念sama閱讀 38,941評(píng)論 3 407
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼班套,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了故河?” 一聲冷哼從身側(cè)響起吱韭,我...
    開(kāi)封第一講書人閱讀 37,704評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鱼的,沒(méi)想到半個(gè)月后理盆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,152評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡凑阶,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,494評(píng)論 2 327
  • 正文 我和宋清朗相戀三年猿规,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宙橱。...
    茶點(diǎn)故事閱讀 38,629評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡姨俩,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出师郑,到底是詐尸還是另有隱情环葵,我是刑警寧澤,帶...
    沈念sama閱讀 34,295評(píng)論 4 329
  • 正文 年R本政府宣布宝冕,位于F島的核電站张遭,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏猬仁。R本人自食惡果不足惜帝璧,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,901評(píng)論 3 313
  • 文/蒙蒙 一先誉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧的烁,春花似錦褐耳、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,742評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至襟雷,卻和暖如春刃滓,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背耸弄。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,978評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工咧虎, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人计呈。 一個(gè)月前我還...
    沈念sama閱讀 46,333評(píng)論 2 360
  • 正文 我出身青樓砰诵,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親捌显。 傳聞我的和親對(duì)象是個(gè)殘疾皇子茁彭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,499評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容