我相信大家會經常在linux下會經常去編譯別人寫好的或者自己寫好的用cmake組織的C/C++工程
mkdir build && cd build && cmake ../ && make && sudo make install && ldconfig
等等這一套操作下來,看著命令行的飛速滾動很爽
但是我們也會經常遇到這種需求,就是你需要去改變別人項目里面的一些源代碼,這個時候你該怎么辦呢?
通常情況下,我們會用vim打開相應的文件,然后修改,再執行一遍上述操作。
但是,如果遇到bug了呢,我們該怎么去調試呢,或者是單純想要看看這種項目的中間運行狀態呢?
一般情況下我們會去用gdb去調試,但是很不方便,起碼我是用不慣。
有人說啦,vim很強大,可以支持各種插件,打造自己的ide,聽起來很美好,但是當我打開那個配置教程的時候
我內心是崩潰的,我覺著沒有個半天1天時間的我是學不會那些東西的,而且我內心里總覺著那些東西太極客了,有點裝逼的成分在里面。
這與我的主要目的去調bug好像并沒有什么關系,于是我決定決定要用懶人的方法。
我就是想在linux下找一個好用的ide,之前我用過clion,但是這個東西特別巨大,而且在我的虛擬機運行的ubuntu上老是顯示的很奇怪,甚至還會有重影的現象,我受不了,遂棄之。
今天嘗試了一下vscode,早就耳聞這個東西很好,我之前在做前端開發的時候也一直在用,現在準備拾起來讓他去搞我的C/C++項目。
但是我嘗試了第一把,就很不舒服,遇到了很多坑。
首先呢,我在搜網上相關文檔的時候就沒有很匹配的,比如,我就想解決這種已經被cmake組織好的項目,我在vscode里面再怎么去配置,讓他能夠直接在vscode里面去生成可以debug的代碼。
我的需求就是這樣,但是網上的文章要么是說如何從0搭建一個項目,這顯然與我的要求不符,要么是一些vscode官方文檔這種大部頭,我也不愛看,真的不是很實用。
下面是正文,教大家如何用vscode 調試已有的cmake工程。
1. 首先安裝vscode,去官網https://code.visualstudio.com/里面選擇對應的linux版本下載就行了,我在ubunut下下載的是.deb文件,可以直接雙擊安裝
? ? 安裝之后呢,這個vscode在命令行里面的名稱叫code,這個有點意思,我也不知道為啥不叫vscode
2. 安裝插件,主要是裝幾個cmake和c++的一些插件
裝插件的方法就是在點擊方塊按鈕,搜索插件名字安裝即可,下圖就是我安裝的幾個插件,大家按照圖片裝上就好了
3.? 導入文件夾,在file中的open folder導入你的項目目錄
4. 下面是最重要的配置launch.json文件,這個文件的作用是配置調試的相關信息
? ? 當按F5之后會自動跳出來一個launch.json,但是一定要注意要修改幾個參數,
? ? 修改program字段,workspaceFolder就是你導入的文件夾的目錄,然后你需要指定一個可執行文件進行調試?
? ?如果你在運行這個可執行文件的時候需要參數,可以在args字段中配置。
最終要的是externalConsole字段,默認配置是true,但是我在ubuntu下的時候,當開始調試的時候,會一直卡著,我將這個值改為false了之后,就可以正常調試了
? ?為了得到更多的調試信息,可以在加入一個logging字段
? ? 5. 然后是最關鍵的操作步驟了
? ? ? ? 首先你要先讓vscode生成相應makefile啊,類似以前的cmake ../
? ? ? ?在這個地方,你需要點擊底部的小籃筐里面的Cmake:Debug:Ready選項
之后會蹦出
因為我們需要調試,所以需要點擊Debug這個選項,這樣他就可以自動生成支持調試的makefile了
之后可以在output框中看到cmake程序在運行
運行成功后,我們要進行make編譯,這個地方需要選擇合適的編譯器,同樣是在小籃框的位置,可以進行編譯器的選擇,點擊之后會蹦出可以選擇的編譯器
大家根據自己的項目而定,在這里我要編一個c++的項目,所以我選擇的是GCC 5.4.0
然后就可以點擊小藍框的build了
大家同樣可以在output中看到我們進行了make
至此,我們已經生成了可以進行debug的可執行文件,我們就把它卸載launch.json文件中的program字段中就好了
然后我們就可以進行launch調試了
經過一下午的努力,我終于用vscode調試成功了,真的很方便,可以在GUI下設置斷點,還是非常方便的,觀察變量的值也是非常的方便,歡迎大家都操作起來~