vscode debug c++代码

需要提前写好CMakeLists.txt

在tasks.json中写好编译的步骤,即tasks,如cmake ... 和make -j

在lauch.json中配置可执行文件的路径和需要执行tasks中的哪一个任务

具体步骤:

1.写好c++代码和CMakeLists.txt

2.配置tasks.json

终端-->配置任务-->g++生成活动文件

此时会在.vscode中生成tasks.json文件

需要修改tasks.json文件。一般的编译步骤就是cmake ... 和make -j,对应的就是tasks.json中的两个任务。

json 复制代码
{
	"version": "2.0.0",
	"tasks": 
	[
        {
            "type": "shell",    // cmake属于shell命令
            "label": "cmake",   // 这条任务的名字
            "command": "cmake", // 对应的shell命令
            "args": [
                ".."             // cmake命令对应的参数,一般就是..
            ],
            "options": {
                "cwd": "${workspaceFolder}/build"  // 需要在哪个路径下执行这条任务
            }
        },
        {
            "type": "shell",  // make也属于shell命令
            "label": "make",  // 这条任务的名字
            "command": "make", // 对应的shell命令
            "args": [
                "-j"            // make命令对应的参数,一般就是-j
            ],
            "options": {
                "cwd": "${workspaceFolder}/build"  // 需要在哪个路径下执行这条任务
            },
            "dependsOn": [
                "cmake"                      // make命令需要在cmake执行完成后执行,这个cmake就是上面那条任务的名字
            ]
        },
	]
}

3.配置lanuch.json

运行-->添加配置-->C++

此时会生成launch.json文件

再执行一次运行-->添加配置

或者直接粘贴下面的内容

json 复制代码
{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/build/${fileBasenameNoExtension}",  //编译生成的可执行文件
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}/build",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "make"    // 执行tasks中的哪个任务
        }

    ]
}

4.debug程序

到指定的main文件按下F5,即可以调试程序

相关推荐
cpp_25011 小时前
P6625 [省选联考 2020 B 卷] 卡牌游戏
数据结构·c++·算法·前缀和·贪心·洛谷题解·省选
JK Chen1 小时前
UE 编辑器内 Source Code IDE 没有 Rider
ide·编辑器
旖-旎4 小时前
《LeetCode 416 分割等和子集》
c++·算法·leetcode·动态规划·背包问题
Mortalbreeze4 小时前
深入理解 Linux 线程机制(四):线程同步——条件变量与信号量
linux·运维·服务器·开发语言·c++
郝学胜-神的一滴5 小时前
中级OpenGL教程 020:巧用数组与循环实现多点点光源渲染,告别冗余代码重构方案
c++·unity·游戏引擎·godot·图形渲染·unreal
zmzb01035 小时前
C++课后习题训练记录Day160
开发语言·c++
天空'之城5 小时前
VS Code Git 工作树:告别频繁切分支,实现多分支并行开发实战方案
git·vscode·版本控制·嵌入式开发·开发效率·worktree·多分支管理
沫璃染墨5 小时前
现代C++⊂C++11篇(一)列表初始化全解 & std::initializer_list
开发语言·c++
阿米亚波5 小时前
【C++ STL】std::forward_list
开发语言·c++·笔记·stl·visual studio·forward_list
AM艾玛5 小时前
Flutter 环境搭建实录
vscode·flutter