问题
在按下调试按钮后,可以成功编译出二进制文件,但不会在终端中运行、输出。
猜测
应该是lauch.json
的配置有问题。
解决方案
安装插件
经过广泛搜索和摸索,似乎是VS code默认不再原生支持lldb调试,需要安装插件CodeLLDB
,并重新配置lauch.json
文件,具体配置可参考插件介绍页面的Quick Start
栏。
修改配置
需要注意,如需要在编译后自动调试,还需要将program
项的值改为和tasks.json
文件中的一样。除此之外还需要加入preLaunchTask
项。以下为我的launch.json
全文件。
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Debug",
"program": "${fileDirname}/${fileBasenameNoExtension}", //需要添加
"args": [],
"cwd": "${workspaceFolder}",
"preLaunchTask": "C/C++: gcc 生成活动文件", //需要添加
//"console": "externalTerminal" //打开外部终端
}
]
}
至此就可以用lldb正常调试。
注意:当修改"type"
项的时候,"console"
项也需要跟着变化(虽然都是控制终端,但写法不同)。