Visual Studio 代码 - C++ 调试器不启动

Visual Studio Code - C++ Debugger doesn't start

我已经使用 Visual Studio 代码在 Linux 上调试 C++ 一段时间了。

在示例项目中,我得到了以下 launch.json

{
    "name": "(gdb) Launch",
    "type": "cppdbg",
    "request": "launch",
    "program": "${workspaceFolder}/main",
    "args": [],
    "stopAtEntry": false,
    "cwd": "${workspaceFolder}",
    "environment": [],
    "externalConsole": true,
    "MIMode": "gdb",
    "setupCommands": [
        {
            "description": "Enable pretty-printing for gdb",
            "text": "-enable-pretty-printing",
            "ignoreFailures": true
        }
    ]
}

我已经成功编译 运行 main.c,所以调试应该没问题。

当我启动调试器时,箭头下方出现一个蓝色的加载条,但没有任何反应。在我的笔记本电脑上,使用完全相同的配置,加载栏会在几秒钟后消失,调试器会启动。

查看 ps aux 我可以看到两个新进程:

  1. mono.linux-x86_640 与命令 /home/guyyst/.vscode/extensions/ms-vscode.cpptools-0.20.1/debugAdapters/mono.linux-x86_64 --config /home/guyyst/.vscode/extensions/ms-vscode.cpptools-0.20.1/debugAdapters/framework/config.linux /home/guyyst/.vscode/extensions/ms-vscode.cpptools-0.20.1/debugAdapters/bin/OpenDebugAD7.exe

  2. bash 与命令 bash /home/guyyst/.vscode/extensions/ms-vscode.cpptools-0.20.1/debugAdapters/OpenDebugAD7

在我的笔记本电脑上调试会产生相同的进程,但当调试真正开始时它们会消失。即使在关闭 VSCode 后,我 PC 上的两个进程仍然存在。当我第一次注意到这一点时,我从以前的尝试中得到了 15 多个副本 运行ning。

昨天所有这些都运行良好,我不记得从那时起对我的配置进行过任何更改。

我已经尝试通过 AUR 版本 visual-studio-code-bin 或开源包 code.

重新安装 VSCode 几次

调试一些 Python 代码工作正常。

事实证明,只需将 launch.json 中的 externalConsole 设置为 false 即可。之前可能应该想过尝试一下。

我只能使用 VSCode 控制台,这没什么大不了的。

我仍然无法解释为什么它不能与外部控制台一起使用,因为这就是我仍然在我的笔记本电脑上这样做的方式,并且过去也在我的 PC 上这样做。