2019-01-16 Ubuntu/Linux 用vscode 運行/調(diào)試 c++ 程序

參考文章 Ubuntu/Linux 用vscode 運行/調(diào)試 c++ 程序在ubuntu上搭建vscode的開發(fā)環(huán)境,出現(xiàn)了幾個問題,這里記錄一下:

1、對比自動生成的launch.json文件發(fā)現(xiàn),需要修改三個地方:

"program": "${workspaceFolder}/myapp",  這里設(shè)置為make編譯后的可執(zhí)行文件,對于cmake工程應(yīng)該是"${workspaceFolder}/build/myapp"
"preLaunchTask": "build",  增加這句用于調(diào)用make文件
"externalConsole": false  修改這個確??烧{(diào)試

2、 對比自動生成的tasks.json文件發(fā)現(xiàn),需要修改兩個地方

"label": "build", 這里的build對應(yīng)前面preLaunchTask的build
"command": "make" 確保是make編譯

3、 F5調(diào)試的過程中總是出現(xiàn)下面的錯誤:

Stopping due to fatal error: NullReferenceException: Object reference not set to an instance of an object

百度后找到解決方法,參考討論
只需要修改launch.json如下設(shè)置就可以了:

 "externalConsole": false

4、 如果是cmake生成的makefile

我們需要指定make的路徑,修改tasks.json文件:

"command": "make -C build"

5、如果對cmake工程需要調(diào)試

則需要在CMakeLists.txt文件末尾增加下面內(nèi)容:

# Version 2.4 might work, but it won't find static libraries with odd names  
cmake_minimum_required(VERSION 2.6)  
SET(CMAKE_BUILD_TYPE "Debug")  
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g2 -ggdb")  
SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")  
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容