文章目錄
- 安裝VScode
- 使用Cmake工具編譯源文件生成可執行程序
- 配置Visual Studio Code 的調試文件 launch.json
- 在這裏插入圖片描述打開源碼文件,設置斷點,然後點擊上方的 Run 然後點擊 StartDebugging 就可以調試了,如圖所示 ![在這裏插入圖片描述](https://img-blog.csdnimg.cn/20200629192309181.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzIxOTUwNjcx,size_16,color_FFFFFF,t_70) 上面是cmake 和 Visual Studio Code 組合編譯調試程序
- 下面是 g++ 和 Visual Studio Code 組合編譯調試程序
- 配置 Visual Studio Code 的編譯文件task.json
編譯工具還是:cmake
調試工具是:VScode的自己的 launch.json 文件
首先就是藉助camke生成可執行程序
有了可執行程序才能調試
具體操作看教程吧
安裝VScode
官方下載:https://code.visualstudio.com/Download
運行如下命令安裝deb安裝包
sudo dpkg -i
官方使用:https://code.visualstudio.com/docs/cpp/cmake-linux
這裏是VScode自己生成可執行程序的教程很複雜不喜歡捨棄
點擊左側欄的“Extensions”選項,安裝擴展搜索“C++、C++Clang、Cmake、Cmake Tools”
由於VScode是以文件夾的形式管理工程的,因此我們首先新建一個文件夾
通過VScode打開此文件夾,新建源碼文件 main.cpp 和編譯文件CMakeLists.txt
在CMakeLists.txt中設置build類型爲“debug”,相比release可能運行速度會慢一些,因爲需要一些調試信息。
SET(CMAKE_BUILD_TYPE Debug)
使用Cmake工具編譯源文件生成可執行程序
首先我們把編譯文件CMakeLists.txt複製到另外一個地方
我們的目錄下面只有一個源碼文件和一張圖片,然後用VScode打開這個目錄
然後打開源碼文件,接着鍵盤輸入 ctrl+shift+p 搜索窗口輸入 cmake configure
屏幕右下角會彈出下圖,點擊 create
屏幕上方出現輸入框,輸入一個camke工程的名字 “cmake_vsc” 然後回車
出現下面這個窗口,選擇生成可執行程序
回車之後自動打開這個文件 可以看到工程名字 是我們上面設置的,現在我們把之前的CMakeLists.txt拷貝過來,刪掉main.cpp
操作之後如下圖所示
然後鍵盤輸入 ctrl+shift+p 搜索窗口輸入 cmake 選擇build如下圖所示
可以看到編譯好了
配置Visual Studio Code 的調試文件 launch.json
點擊頂部菜單欄 Run->Start Debugging
選擇 C++(GDB/LLDB)
彈出 launch.json 文件,作如下修改
修改 program 後的文件爲你的工程生成的可執行文件的路徑,修改後是這樣的
"program": "${workspaceFolder}/build/bin/online_pcalib_demo",
修改 args 後面 [] 內爲你程序運行需要的參數
"args": ["-i", "/media/wyb/myspace/Study/DATA/Indoor/1095_dir_2018_11_08_22_35_04/imageDir"],
打開源碼文件,設置斷點,然後點擊上方的 Run 然後點擊 StartDebugging 就可以調試了,如圖所示
上面是cmake 和 Visual Studio Code 組合編譯調試程序
下面是 g++ 和 Visual Studio Code 組合編譯調試程序
配置 Visual Studio Code 的編譯文件task.json
建立新的文件,只保留下面這兩個文件
按照上面方法創建好 launch.json 文件,下面開始創建 task.json 文件
鍵盤輸入 ctrl + shift + p 執行如下操作 Tasks: Run task
選擇:No task to run found. configure tasks…
選擇:Others
選擇:Create tasks.json file from template
其實真正修改的也就只有command項和args項,
command就是調用的控制檯命令(就是我們平常用控制檯編譯時輸入的命令),
然後args就是命令行參數了,-g參數是必須的,否則到時候沒有調試信息,vscode會無法設置斷點。
設置"externalConsole"爲true,則會自動開啓終端顯示程序輸出的信息。
參考文檔:https://blog.csdn.net/weixin_43374723/article/details/84064644