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

guy*_*yst 3 c++ linux debugging mono visual-studio-code

我一直在使用Visual Studio Code在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
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我已成功编译并运行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个以上

所有这一切昨天工作正常,我不记得从那时起对我的配置进行任何更改.

我已尝试通过AUR版本visual-studio-code-bin或开源软件包重新安装VSCode几次code.

调试一些Python代码工作得很好.

guy*_*yst 11

原来这是因为设置容易externalConsolelaunch.jsonfalse.应该想过以前尝试过.

我受限于VSCode控制台,这不是什么大不了的事.

我仍然无法解释为什么它不能与外部控制台一起使用,因为这就是我在笔记本电脑上的表现,以及在我的电脑上也是如此.

  • 这也为我解决了。几个月来,我一直在使用VS Code在Linux上成功调试C ++,但今天它停止了工作。将“ externalConsole”从“ true”更改为“ false”使它再次工作。 (2认同)