Mac vscode C++調試 無法輸入問題


現象:在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!

參考:Mac vscode C++調試 無法輸入問題

      Unable to debug with ‘externalConsole’: true


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM