VSCode + CMake + MinGW 在 Windows 下的简易调试指南
- VSCode + CMake + MinGW 在 Windows 下的简易调试指南
- 准备工作
- 下载VSCode
- 下载CMake
- 下载MinGW
- 待编译源码
- VSCode调试
- task.json 配置
- launch.json 配置
- 开始调试
- 准备工作
鉴于网络上关于VSCode的调试的教程不多,并且掺杂着大量的随机爬取内容、过时教程等无用信息。现于此记录自己编译使用 VSCode的 过程,用于自身备忘,及经验分享。
准备工作
下载VSCode
参考链接: https://code.visualstudio.com/
下载CMake
参考链接: https://cmake.org/download/
直接下载自己电脑对应版本的Binary distributions(二进制分发包,即可执行文件),比如作者使用的是 Windows X64 的系统,所以下载的是 Windows X64 的包。
其中的.msi文件是镜像安装文件,类似于安装包。而.zip文件就是包含可执行文件的压缩包。
安装后目录如下:
进入 ./bin 文件夹中,如下图,cmake.exe 是命令行工具,cmake-gui.exe 是界面工具。若使用压缩包的朋友,记得将该文件夹 (./bin) 加入系统环境变量,便于以后的命令行编译。也可以把 cmake-gui.exe 用快捷方式固定到桌面便于后续使用。
下载MinGW
参考链接: https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/
不需要最新版本MinGW的朋友看这里: 可以下载官方链接这里的包,解压缩后就是完整的8.1.0版本的 MinGW。之后同样将 ./bin 文件夹加入系统环境变量后即可完成此步。
需要新版本的朋友可以在此处 github 仓库内下载最新的 MinGW64 二进制分发包, 此处建议下载命名如 x86_64-14.2.0-release-posix-seh-ucrt-rt_v12-rev1.7z 的包。
待编译源码
-RootDir|- CMakeLists.txt|- src|- main.cpp|- hello_world.h|- hello_world.cpp
CMakeLists.txt
cmake_minimum_required(VERSION 3.10)project(Test)# 加入 -g 编译标识, 生成gdb使用的调试信息
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")add_library(HelloWorld src/hello_world.h src/hello_world.cpp)add_executable(Main src/main.cpp)target_link_libraries(Main HelloWorld)
main.cpp
#include "hello_world.h"int main() {test::PrintHelloWorld();return 0;
}
hello_world.h
// Copyright (c) 2025 Keaton
#ifndef SRC_HELLO_WORLD_H_
#define SRC_HELLO_WORLD_H_namespace test {bool PrintHelloWorld();
} // namespace test#endif // SRC_HELLO_WORLD_H_
hello_world.cpp
#include "hello_world.h"#include <iostream>namespace test {
bool PrintHelloWorld() {std::cout << "Hello World." << std::endl;return true;
}
} // namespace test
VSCode调试
打开 VSCode, 将代码根目录文件夹加入工作区,并在该目录下新建 build 文件夹。最终文件结构如下:
task.json 配置
ctrl + shift + P 打开 VSCode 命令行,输入 Tasks: Configure Task,回车执行。 然后任意选择一个模板,回车执行。这时会在文件夹中生成 .vscode 文件夹, 及文件夹内的 task.json 文件。
再配置 task.json 文件如下:
launch.json 配置
ctrl + shift + P 打开 VSCode 命令行,输入 Debug: Add Configuration, 回车执行。 然后选择 C++: GDB/LLDB 用于调试,回车执行。
这时会在 .vscode 文件夹中生成 launch.json 文件。
此时重复执行 Debug: Add Configuration 命令,选择 C/C++: 启动(gdb) 将在该文件中增加一套执行模板。
将 launch.json 配置如下:
开始调试
在需要加入断点的代码行点击 F9 或者左键点击该行行号左侧增加断点。
点击 F5 运行程序。
好了,现在大家可以开始大力调试代码了。