想学一下Ubuntu下的vscode代码调试,在网上找了很多博客,发现根本不管用,而且很多都是在Windows下的,与我的需求(使用CMakeLists.txt)不同,根本不能用,研究了一下。并记录。
1.创建C++项目
首先在桌面上建立一个文件夹,命名为test。
打开vscode,安装扩展
ctrl+shift+p,选择第一个Create C++ project,并选择刚刚建立的test文件夹,即可完成C++项目的构建
如图
2.编写CMakeLists.txt文件,修改配置
(1)编写CMakeLists.txt,命名为c++,设置编译生成的二进制可执行文件路径为build文件夹
cmake_minimum_required(VERSION 2.8)
project(c++)add_executable(c++ src/main.cpp)
set(EXECUTABLE_OUTPUT_PATH ../build)
(2)修改launch.json,主要修改可执行文件的路径,即为下面的program
原图:
修改后:
(3)简单写一个main.cpp函数(仅做测试)
#include <iostream>
#include <vector>二分查找 /
class Solution{public:int search(std::vector<int>& nums, int target){int left = 0;int right = nums.size();while(left < right){int middle = left + (right - left) / 2;if(nums[middle] < target)left = middle + 1;else if(nums[middle] > target)right = middle;elsereturn middle; } return -1;}
};int main(int argc, char *argv[])
{Solution solution;std::vector<int> nums = {-1, 0, 3, 5, 9, 12};std::cout << solution.search(nums, 9) << std::endl;
}
3.开始调试
(1)编译代码
mkdir build
cd build
cmake ..
make
可以在build文件夹下面看见生成的c++可执行文件
(2)准备调试
回到main.cpp,点击右上角下齿轮,Debug C/C++ File
选择红色圈的一项
会在src下看到生成了main.o和main.d文件,这是代码调试所需要的中间文件
(3)开始调试
重新点击右上角下齿轮,Debug C/C++ File,这次选择另一个红色圈的一项,同时设置断点(我设在28行)
over