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
我可以看到两个新进程:
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
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 上这样做。
我已经使用 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
我可以看到两个新进程:
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
bash
与命令bash /home/guyyst/.vscode/extensions/ms-vscode.cpptools-0.20.1/debugAdapters/OpenDebugAD7
在我的笔记本电脑上调试会产生相同的进程,但当调试真正开始时它们会消失。即使在关闭 VSCode 后,我 PC 上的两个进程仍然存在。当我第一次注意到这一点时,我从以前的尝试中得到了 15 多个副本 运行ning。
昨天所有这些都运行良好,我不记得从那时起对我的配置进行过任何更改。
我已经尝试通过 AUR 版本 visual-studio-code-bin
或开源包 code
.
调试一些 Python 代码工作正常。
事实证明,只需将 launch.json
中的 externalConsole
设置为 false
即可。之前可能应该想过尝试一下。
我只能使用 VSCode 控制台,这没什么大不了的。
我仍然无法解释为什么它不能与外部控制台一起使用,因为这就是我仍然在我的笔记本电脑上这样做的方式,并且过去也在我的 PC 上这样做。