一段时间以来,我一直在使用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
}
]
}
我已经成功编译并运行了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份以上的副本。
昨天所有这些工作都很好,从那时起,我不记得对配置进行任何更改。
我尝试通过AUR版本visual-studio-code-bin
或开源软件包code
重新安装VSCode几次。
调试一些Python代码效果很好。
答案 0 :(得分:10)
事实证明,将externalConsole
中的launch.json
设置为false
一样容易。本应该考虑过尝试过的。
我受制于VSCode控制台,这没什么大不了的。
我仍然无法解释为什么它不能与外部控制台一起使用,因为那是我仍然在笔记本电脑上使用并在PC上也使用的方式。