最近折腾VsCode,调试C++打断点卡住,类似
scanf(...);
getch();
无法接收调试控制台的输入,这里需要改一个地方:
launch.json
"configurations": [
{
// 其他配置
"externalConsole": true,
"MIMode": "lldb"
}
]
使得调试会新开控制台,但某些时候会出现新开控制台后卡住不动的问题,因为vscode没拿到控制台权限,这个时候需要:
- 1、检查DevToolsSecurity -status是否为enabled,否则运行
DevToolsSecurity -enable
- 2、检查launch.json,不能出现
"miDebuggerArgs":xxx
"miDebuggerPath":xxx
- 3、创建一个task(task.json),内容如下
{
"label": "Open Terminal",
"type": "shell",
"command": "osascript -e 'tell application \"Terminal\"\ndo script \"echo hello\"\nend tell'",
"problemMatcher": []
}
运行一次Open Terminal即可
参考: Unable to debug with ‘externalConsole’: true