問題
在按下調試按鈕后,可以成功編譯出二進制文件,但不會在終端中運行、輸出。
猜測
應該是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"
項也需要跟着變化(雖然都是控制終端,但寫法不同)。