VSCode对C++的DEBUG调试配置

C++ vscode上的调试配置

按照本⽂的流程可在vscode平台上实现像在windows系统下VS调试C++程序的效果。

1. 调试配置

当写好代码和 CMakeLists.txt 之后,点击左侧 Run and Debug 按钮(⻓得像个⾍⼦),点击 create a launch.json file,创建⼀个 launch.json ⽂件。

在这里插入图片描述
这时会弹出上图中右测选项,点击第一个 C++(GDB/LLDB),此时,vscode 会⾃动创建⼀个 launch.json ⽂件,这个 launch.json ⽂件在⾃动创建的隐藏⽂件夹 .vscode 下。

launch.json 文件需要改动以下几个地方:

  • program:输入需要执行的可执行文件名,及其路径,如:${workspaceFolder}/a.out
  • args:如果有添加命令行参数,在此处添加。
  • externalConsole:如果是 true,每次按 F5 调试会⾃动弹出⼀个额外的终端,程序内容会在这个弹出的终端下运⾏和显⽰, 但是每次调试完了还要⼈⼯关闭。若是 false,程序会在vscode下⾯的界⾯运⾏和显⽰,推荐改为 false。

如:

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "test", // 创建的这个target的名字
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/build/multi_dist_fus",
            "args": ["--flagfile=../flagfile.txt"],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}/build",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            // "preLaunchTask": "C/C++: g++ build active file",
            // "miDebuggerPath": "/usr/bin/gdb"
        }
    ]
}

2. 修改编译模式

与一般程序编译方式不同,这里需要多添加一个搭建类型项,具体操作如下:

cmake .. -DCMAKE_BUILD_TYPE=Debug

接下来键入命令 make -j10 编译程序。

⼀切就绪之后,设好 debug 断点,即可使用。

更多有关调试的详细内容可见:
VSCode的C/C++扩展功能.

以下是一个使用VS Code和Docker进行C++调试的示例launch.json文件: ```json { "version": "0.2.0", "configurations": [ { "name": "Docker C++ Debug", "type": "cppdbg", "request": "launch", "program": "/path/to/your/executable", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "gdb", "miDebuggerPath": "/usr/bin/gdb", "miDebuggerArgs": "-q", "setupCommands": [ { "description": "Enable gdb pretty-printing for gdb 7.5 and later", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "dockerLaunch": { "image": "your-docker-image-name", "dockerBuild": "always", "network": "host", "mounts": [ { "source": "${workspaceFolder}", "target": "/mnt", "type": "bind", "consistency": "cached" } ], "ports": [ { "containerPort": 8080, "hostPort": 8080 } ], "command": "bash" }, "sourceFileMap": { "/mnt": "${workspaceFolder}" } } ] } ``` 你需要将其中的`/path/to/your/executable`替换为你的可执行文件所在的路径,将`your-docker-image-name`替换为你的Docker镜像名称。如果你的可执行文件与源代码在同一目录下,可以将`/path/to/your/executable`替换为`./your-executable`。 此外,这个配置文件还使用`dockerLaunch`选项指定了一些Docker容器的配置,包括镜像名称、网络设置、挂载卷、端口映射等等。你需要根据你的实际情况进行修改。 最后,你需要在VS Code中打开你的工作区,并在调试面板中选择`Docker C++ Debug`配置,然后按下F5键启动调试器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

泠山

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值