求助:VS Code调试模式下无法接收输入该如何解决?
调试C程序时终端无法接收输入的解决方法
问题描述
我写了一个简单的C语言加法程序:
#include<stdio.h> int main() { int a,b,c; scanf("%d %d",&a,&b); c=a+b; printf("%d\n",c); return 0; }
非调试模式下程序能正常接收输入并运行,但调试模式下终端无法接收输入。我已经在launch.json里设置了"externalConsole": true,但问题依然存在。
可行的排查与解决步骤
- 检查
launch.json完整配置,确认无冲突项:比如"miDebuggerPath"需指向正确的调试器路径(如gdb.exe),同时查看是否存在"internalConsoleOptions": "neverOpen"这类可能干扰外部控制台的设置。 - 关闭当前调试会话,重启VS Code后重新尝试调试,编辑器缓存可能导致配置未生效。
- 确认调试器与编译器版本匹配:若使用MinGW,需保证gdb和gcc版本一致,避免兼容性问题。
- 暂时关闭系统防火墙或安全软件,排查是否是这类程序拦截了外部控制台的输入请求。
- 尝试修改
launch.json中的"console"字段为"externalTerminal",部分版本的VS Code调试配置用该字段替代externalConsole。
内容的提问来源于stack exchange,提问作者Aynul Abedin Oyon
相关产品推荐
相关产品推荐

