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

posted @ 2020-08-29 01:07  余生以学  阅读(12090)  评论(0编辑  收藏  举报