VSCode调试C++代码

img

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 生成活动文件"
        }
    ]
}
  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/1020638
  • 除此之外, 这篇博客: windows下使用vscode调试C/C++的相关配置中的 最后贴上我的tasks.json和launch.json: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 'c_cpp_properties.json这个文件时插件C/C++生成的可有可无–
    'launch.json'文件

    {
        // 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": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示
                "type": "cppdbg", // 配置类型,这里只能为cppdbg
                "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
                "program": "${fileDirname}/${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径
                "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
                "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,我一般设置为true
                "cwd": "${fileDirname}", // 调试程序时的工作目录
                "environment": [], // (环境变量?)
                "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台
                "MIMode": "gdb", // 指定连接的调试器,可以为gdb或lldb。但目前lldb在windows下没有预编译好的版本。
                "miDebuggerPath": "C:/mingw64/bin/gdb.exe", // 调试器路径,Windows下后缀不能省略,Linux下则去掉
                "preLaunchTask": "Compile", // 调试会话开始前执行的任务,一般为编译程序。与tasks.json的label相对应
                "setupCommands": [ // 用处未知,模板如此
                    {
                        "description": "Enable pretty-printing for gdb",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ],
                "logging": { "engineLogging": true }
            }
        ]
    }
    

    'tasks.json'文件

    {
        "version": "2.0.0",
        "tasks": [
            {
                "label": "Compile", // 任务名称,与launch.json的preLaunchTask相对应
                "type": "shell", // 可以为shell或process,前者相当于先打开shell再输入命令,后者是直接运行命令
                "command": "g++",
                "args": ["-g", "${file}", "-o", "${fileBasenameNoExtension}.exe"],// 编译命令参数
                "group": {
                    "kind": "build",
                    "isDefault": true
                },
            }
        ]
    }
    
  • 以下回答由chatgpt基于相关博客总结生成:

    根据提供的参考资料,我无法确定具体的问题是什么,因为参考资料只是一些关于修改注册表、设置默认浏览器以及解决电脑蓝屏等一些操作的描述。如果你能提供更具体的问题描述,我可以尽力给出具体的解决方案。以下是我对参考资料的一些总结说明:

    1. 根据段落0的描述,你可能遇到了修改注册表中文件类型的默认值的问题。你可以通过双击注册表中的特定键值,然后修改其数值数据来完成此操作。

    2. 段落1提到了设置默认浏览器的操作,你可以在控制面板的"程序"菜单中找到"默认程式"选项来设置默认浏览器。具体的步骤可能会根据不同的操作系统版本略有差异。

    3. 段落2描述了打开注册表编辑器的方法,你可以使用快捷键"Win + R"打开运行窗口,然后输入"regedit"来打开注册表编辑器。

    4. 段落3提到了可执行文件加载时的处理过程,包括编译、链接和生成可执行程序等步骤。

    5. 段落4提到了下载软件的方法,根据你的描述,可能是在下载老毛桃系统软件时遇到问题。你可以在老毛桃的官网下载软件,并按照正常的软件安装过程进行安装。

    6. 段落5列举了可能导致电脑蓝屏的硬件问题,包括内存不足、CPU过热、硬盘故障等。针对这些问题,可以进行相应的处理,如进行硬盘文件清理、设置虚拟内存、更换硬盘等。

    7. 段落6描述了重启电脑时出现问题的情况,具体的解决方法可能需要根据具体的问题进行判断和处理。

    8. 段落7提到了可能导致电脑蓝屏的一些常见软件问题,包括软件冲突、驱动冲突和电脑中毒等。根据具体的蓝屏代码可以尝试进行软件卸载、杀毒或者重装系统等操作来解决问题。

    9. 段落8和段落9提到了修改注册表的方法,你可以使用注册表编辑器找到相应的注册表位置,并进行修改操作。

    总之,根据提供的参考资料,我无法确定具体的问题。如果你能提供更详细的问题描述,我可以尽力给出更具体的解决方案。