參考文章 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")