【问题标题】:C/C++ Debugger does not work in VSC despite correct config尽管配置正确,但 C/C++ 调试器在 VSC 中不起作用
【发布时间】:2021-12-30 02:26:03
【问题描述】:

如果我尝试使用 C++ 在 Visual Studio Code 上运行调试会话,我会收到 error

这是我的配置,我希望使用 WSL 在 VSC 终端中启动调试会话。

    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "/usr/bin/gdb", //here :(
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
      

    ]
}

G++ 和 GDB 都安装了 locallyWSL。我尝试将所有这些目录用于“miDebuggerPath”路径;没用。

【问题讨论】:

  • 在工作区中的屏幕截图中,我还尝试远程跳转 WSL,但它告诉我无法识别调试类型“cppdbg”并告诉我为其安装扩展。当我点击安装时,它会将我带到以“cppdbg”作为搜索词的扩展列表,但没有找到 imgur.com/a/p9oA487
  • 请将错误信息放入问题中,以便下一个可以在这里找到。另外,请尝试搜索它。文本图像通常很糟糕并且不受欢迎。作为这里的新用户,也请带上tour并阅读How to Ask

标签: c++ c debugging visual-studio-code vscode-debugger


【解决方案1】:

您需要将 miDebuggerPath 更改为您的 WSL 环境中安装 gdb 的路径。

所以你必须将 miDebuggerPath 设置为:

"miDebuggerPath": "/usr/share/gdb",

当你想在 WSL 环境中运行 gd 时。改成

"miDebuggerPath": "C:/MinGW/bin/gdb.exe",

当您想在 Windows 中进行调试时。

【讨论】:

  • 我已经这样做了,并将其作为屏幕截图发布在帖子中。
  • 已修复,再试一次。
  • 和以前一样的错误
  • 您是否在 WSL 环境中运行 VS-Code?如果不是,您必须使用 Windows 路径 c:/mingw/bin/gdb++
  • 如果我这样做,它会给我一个格式错误,并且调试器甚至不会运行。
【解决方案2】:

在 WSL 远程子系统上安装 C/C++ 扩展,即使您已在本地安装它。

【讨论】:

  • Op 已经提到他在 WSL 和 Windows 中都安装了 gdb
最近更新 更多