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,即可以调试程序

相关推荐
博客18002 天前
酷宝的使用方法,超好用的免费界面库,C++、MFC可用
c++·mfc·界面库·库来帮·酷宝
郝学胜_神的一滴2 天前
CMake 026:属性体系精讲、四大作用域全解 & 实战代码落地
c++·cmake
众少成多积小致巨3 天前
JNI (Java Native Interface) 技术手册中文参考指南
android·java·c++
clint4567 天前
C++进阶(1)——前景提要
c++
夜悊7 天前
C++代码示例:进制数简单生成工具
c++
郝学胜_神的一滴7 天前
CMake 021: IF 条件判据详诠
c++·cmake
_wyt0017 天前
洛谷 B3930 [GESP202312 五级] 烹饪问题 题解
c++·gesp
摇滚侠8 天前
IDEA 创建 Java 项目 手动整合 SSM 框架
java·ide·intellij-idea
玖玥拾8 天前
C/C++ 数据结构(七)栈、容器适配器
c语言·数据结构·c++··容器适配器
один but you8 天前
constexpr函数
c++