CMake学习--Window下VSCode 中 CMake C++ 代码调试操作方法

目录

一、背景知识

在软件开发过程中,调试是不可或缺的一环。它帮助开发者定位代码中的错误,理解程序运行时的状态,从而提高代码质量和开发效率。CMake 是一个跨平台的构建工具,可以生成不同平台下的构建文件,如 Makefile 或 Visual Studio 解决方案等。VSCode(Visual Studio Code)是一款功能强大的轻量级代码编辑器,支持多种编程语言,具有丰富的扩展功能。结合 CMake 和 VSCode 进行 C++ 代码调试,可以充分利用两者的优点,打造高效的开发环境。

二、使用方法

(一)安装扩展

  1. 打开 VSCode。

  2. 点击左侧的扩展视图(扩展图标是一个四四方方的拼图块)。

  3. 在搜索框中输入"C/C++"。在搜索结果中找到由微软发布的"C/C++"扩展,点击"安装"按钮。

  4. 安装CMake

(二)创建 CMake 项目

  1. 新建一个文件夹CMake_DEBUG作为项目根目录。
  2. 新建build目录,用于构建和编译。
  3. 新建main.cpp
  4. 新建 CMakeLists.txt 文件。

(三)编写代码

main.cpp

cpp 复制代码
#include <iostream>



int main() {

    std::cout << "Hello, World!" << std::endl;
    return 0;
}

(四)配置 CMakeLists.txt

cmake 复制代码
cmake_minimum_required(VERSION 3.10)

project(HelloWorld)



set(CMAKE_CXX_STANDARD 11)



add_executable(${PROJECT_NAME} main.cpp)

代码目录如下:

此时利用cmake指令,应该能正常编译成功。打开vscode终端,

shell 复制代码
cd build



cmake ..



cmake --build .

(五)生成构建文件

现在只能编译成功,还是不能调试程序。怎样调试呢?

点击左边栏调试按钮,创建launch.json,选择c/c++:(Windows)启动。

系统默认的launch.json如下:

修改后的launch.json如下:

json 复制代码
{

    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(Windows) 启动",
            "type": "cppvsdbg",
            "request": "launch",
            "program": "${workspaceFolder}/build/Debug/HelloWorld.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "console": "externalTerminal"
            "miDebuggerPath": "D:\\DevKits\\Qt\\Tools\\mingw810_64\\bin\\gdb.exe",
        }
    ]
}

需要修改programmiDebuggerPath修改为自己的代码路径,其他默认即可。

(六)开始调试

跟visual studio 2022调试环境基本一样,断点,快捷键,F5,F10,F11等等。

三、总结

通过以上步骤,我们成功地在Windows环境下 VSCode 中配置了 CMake C++ 项目,并实现了代码调试。这种开发方式充分利用了 CMake 的构建能力和 VSCode 的便捷性,为 C++ 开发者提供了一个高效、灵活的开发环境。在实际开发中,可以根据项目需求进一步扩展和优化配置,以满足更复杂的开发场景。

相关推荐
linweidong1 小时前
C++ 模块化编程(Modules)在大规模系统中的实践难点?
linux·前端·c++
Howrun7775 小时前
VSCode烦人的远程交互UI讲解
ide·vue.js·vscode
Ashley的成长之路5 小时前
2025 年最新:VSCode 中提升 React 开发效率的必备插件大全
ide·vscode·react.js·工作提效·react扩展
半桔6 小时前
【IO多路转接】高并发服务器实战:Reactor 框架与 Epoll 机制的封装与设计逻辑
linux·运维·服务器·c++·io
HABuo6 小时前
【linux文件系统】磁盘结构&文件系统详谈
linux·运维·服务器·c语言·c++·ubuntu·centos
m0_555762906 小时前
VSCODE CLAUDE CODE
ide·vscode·编辑器
盐焗西兰花7 小时前
鸿蒙学习实战之路-Reader Kit修改翻页方式字体大小及行间距最佳实践
学习·华为·harmonyos
我在人间贩卖青春7 小时前
C++之多重继承
c++·多重继承
QiZhang | UESTC7 小时前
学习日记day76
学习
久邦科技7 小时前
20个免费电子书下载网站,实现电子书自由(2025持续更新)
学习