鱼C论坛

 找回密码
 立即注册
查看: 874|回复: 4

VSCode的launch配置

[复制链接]
发表于 2023-7-15 19:19:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
用VsCode调试C++代码出现如下情况,在网上找了多个答案均无法解决问题
tasks.json
{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe 生成活动文件",
            "command": "D:\\lenovo_edge\\mingw64\\bin\\g++.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "-fexec-charset=GBK"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ],
    "version": "2.0.0"
}
launch.json
"version": "0.2.0",
    "configurations": [
        {
            "name": "g++.exe - 生成和调试活动文件",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "D:\\lenovo_edge\\mingw64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++.exe 生成活动文件"
        }
    ]
}



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-15 19:19:31 | 显示全部楼层
根据你提供的launch配置,存在两个问题可能导致无法成功调试C++代码:

1. 任务(task)配置:在你的tasks.json文件中,调试任务的命令D:\\lenovo_edge\\mingw64\\bin\\g++.exe没有指定具体的源代码文件路径 ${file},这可能导致编译器无法找到要编译的源文件。

2. 调试器(debugger)配置:在你的launch.json文件中,调试器的program属性指定了可执行文件的路径${fileDirname}\\${fileBasenameNoExtension}.exe,但是在任务中的编译输出路径是${fileDirname}\\${fileBasenameNoExtension}.exe,这样会导致调试器无法找到正确的可执行文件。

下面是修改后的tasks.jsonlaunch.json文件配置示例:

tasks.json:
{    "tasks": [        {            "type": "cppbuild",            "label": "C/C++: g++.exe 生成活动文件",            "command": "D:\\lenovo_edge\\mingw64\\bin\\g++.exe",            "args": [                "-fdiagnostics-color=always",                "-g",                "${file}",                "-o",                "${fileDirname}\\${fileBasenameNoExtension}.exe",                "-fexec-charset=GBK"            ],            "options": {                "cwd": "${fileDirname}"            },            "problemMatcher": [                "$gcc"            ],            "group": {                "kind": "build",                "isDefault": true            },            "detail": "调试器生成的任务。"        }    ],    "version": "2.0.0"}
launch.json:
{    "version": "0.2.0",    "configurations": [        {            "name": "g++.exe - 生成和调试活动文件",            "type": "cppdbg",            "request": "launch",            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",            "args": [],            "stopAtEntry": false,            "cwd": "${fileDirname}",            "environment": [],            "externalConsole": true,            "MIMode": "gdb",            "miDebuggerPath": "D:\\lenovo_edge\\mingw64\\bin\\gdb.exe",            "setupCommands": [                {                    "description": "为 gdb 启用整齐打印",                    "text": "-enable-pretty-printing",                    "ignoreFailures": true                },                {                    "description": "将反汇编风格设置为 Intel",                    "text": "-gdb-set disassembly-flavor intel",                    "ignoreFailures": true                }            ],            "preLaunchTask": "C/C++: g++.exe 生成活动文件"        }    ]}
请注意,以上示例假设g++.exegdb.exe都位于D:\\lenovo_edge\\mingw64\\bin目录中。

你可以根据这个示例修改你的配置文件,确保任务和调试器的配置正确,然后尝试重新调试C++代码。

希望这能解决你的问题!如果还有其他疑问,请随时提问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-15 19:20:43 | 显示全部楼层
所以你是出现了什么情况?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-15 19:24:08 | 显示全部楼层
陶远航 发表于 2023-7-15 19:19
根据你提供的launch配置,存在两个问题可能导致无法成功调试C++代码:

1. 任务(task)配置:在你的tasks. ...

您好,这个示例我没看懂,请问是如何修改路径
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-15 19:27:25 | 显示全部楼层
isdkz 发表于 2023-7-15 19:20
所以你是出现了什么情况?

launch:program'源代码文件路径' does ont exist
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-24 09:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表