現象:在Mac上使用VS Code調試C++代碼時,無法使用scanf函數輸入數據,程序卡在scanf函數那里。
為了解決這個問題,我們需要修改配置:
按下組合鍵“⇧⌘D”彈出調試對話框,如下圖操作
添加“launch.json”文件,如下圖:
無法接收調試控制台的輸入,這里需要改一個地方:
launch.json
"configurations": [ { // 其他配置 "externalConsole": true, "MIMode": "lldb" } ]
使得調試會新開控制台,但某些時候會出現新開控制台后卡住不動的問題,因為vscode沒拿到控制台權限,這個時候需要:
- 1、打開終端,輸入:DevToolsSecurity -status檢查是否為enabled,否則運行
DevToolsSecurity -enable
- 2、檢查launch.json,不能出現
"miDebuggerArgs":xxx
"miDebuggerPath":xxx
3.按下組合鍵“⇧⌘B”,如下圖操作
生成“tasks.json”文件:
修改“tasks.json”文件,如下圖:
- 3、task.json中添加一個配置項,內容如下
{ "label": "Open Terminal", "type": "shell", "command": "osascript -e 'tell application \"Terminal\"\ndo script \"echo hello\"\nend tell'", "problemMatcher": [] }
再次按下組合鍵“⇧⌘P”,輸入"Run Task":
點擊Open Terminal
點擊OK!
大功告成!enjoy!