VSCODE 在windows上 debug c++程序,如何编写launch.json文件?

VSCODE 在windows上 debug c++程序,如何编写launch.json文件?

要在VS Code中为C++程序编写launch.json文件以进行调试,你需要确保已经安装了C++扩展(例如Microsoft的C/C++扩展),并且已经设置了正确的编译器和调试器(如GDB)。

以下是一个基本的launch.json文件示例,用于调试C++程序:

  1. 首先,打开VS Code。

  2. 打开你的C++项目文件夹或代码文件。

  3. 点击侧边栏中的“运行和调试”图标(或使用快捷键Ctrl+Shift+D)来打开调试视图。

  4. 在调试视图中点击创建或修改一个launch.json文件。这通常会在.vscode文件夹中创建或更新launch.json

  5. launch.json文件中,你可以添加或修改配置来适应你的C++项目。以下是一个基本的launch.json文件内容示例:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch", // 配置名称,可以自定义
            "type": "cppdbg", // 调试类型,cppdbg表示使用C++调试
            "request": "launch", // 请求类型,launch表示启动调试
            "program": "${workspaceFolder}/<你的程序名>", // 要调试的程序路径,替换<你的程序名>
            "args": [], // 程序参数列表,如果有需要可以添加
            "stopAtEntry": false, // 是否在程序入口停止
            "cwd": "${workspaceFolder}", // 调试时的工作目录
            "environment": [], // 环境变量设置,如果有需要可以添加
            "externalConsole": true, // 是否使用外部控制台,Windows上通常设置为true
            "MIMode": "gdb", // 指定使用的调试器,这里是GDB
            "miDebuggerPath": "C:/<你的GDB路径>/gdb.exe", // GDB调试器的路径,替换<你的GDB路径>
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

请确保替换<你的程序名><你的GDB路径>为实际的程序名称和GDB安装路径。

  1. 保存launch.json文件。

  2. 现在,你可以通过点击调试视图中的绿色播放按钮或使用快捷键F5来启动调试会话。

请注意,上述配置中的miDebuggerPath需要指向你系统中安装的GDB调试器的路径。如果你使用的是MinGW或Cygwin等环境,GDB通常包含在这些环境的安装目录中。如果你使用的是Visual Studio生成的默认C++项目,你可能需要安装Windows Subsystem for Linux (WSL) 并使用Linux上的GDB进行调试。

此外,如果你的项目使用了构建系统(如Makefile或CMake),你可能还需要配置tasks.json文件来自动化构建过程。

Unable to start debugging. Error converting value "--config-pname=' to type 'System.Collections.Generic.List'1[System.String]'. Path 'args', line 1, position 356.

这个错误信息表明在尝试将某个值转换为System.Collections.Generic.List<System.String>类型时发生了问题。具体来说,错误发生在尝试将字符串"--config-pname='转换为列表时。这通常发生在配置文件中,如launch.jsontasks.json,当某个属性预期是一个字符串列表,但实际上给出了一个不符合格式的值。

launch.json中,args属性通常用于指定传递给调试程序的命令行参数。这些参数应该是一个字符串数组。如果args字段中的值格式不正确,就会出现这样的错误。

例如,以下是一个错误的args字段配置,它可能导致你看到的错误:

"args": "--config-pname='..."

正确的配置应该是一个字符串数组,即使只有一个参数也应该如此:

"args": ["--config-pname=value"]

或者,如果你有多个参数,它们应该像这样被包含在数组中:

"args": ["arg1", "arg2", "--config-pname=value"]

请检查你的launch.json文件中的args字段,并确保它是一个有效的字符串数组。如果你没有提供任何参数,你可以完全省略args字段,或者将其设置为一个空数组:

"args": []

另外,确保launch.json文件中的其他字段也正确无误,特别是与调试配置相关的部分。如果问题仍然存在,请检查你的项目设置和扩展配置,以确保一切都正确配置。如果问题依旧无法解决,你可以尝试重启VS Code或清除其缓存和扩展设置。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值