在Ubuntu使用VScode配合GDB完成代码调试
想学一下Ubuntu下的vscode代码调试,在网上找了很多博客,发现根本不管用,而且很多都是在Windows下的,与我的需求(使用CMakeLists.txt)不同,根本不能用,研究了一下。并记录。
·
想学一下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;
else
return 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

更多推荐




所有评论(0)