You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS Code调试代码时如何输入内容?scanf后调试卡住求解决方案

解决VS Code调试时scanf无法输入、进程卡住的问题

以下是几个直接可行的解决方案:

  • 配置调试使用外部/集成终端
    调试控制台(Debug Console)本身不支持标准输入,必须切换到终端环境:

    1. 打开调试面板(Ctrl+Shift+D),点击顶部的齿轮图标打开launch.json配置文件
    2. 修改console字段为"externalTerminal"(弹出系统独立终端)或"integratedTerminal"(VS Code内置终端),如果是旧版本配置,可设置"externalConsole": true
    3. 示例配置片段:
      {
          "version": "0.2.0",
          "configurations": [
              {
                  "name": "C/C++: gcc build and debug",
                  "type": "cppdbg",
                  "request": "launch",
                  "program": "${fileDirname}/${fileBasenameNoExtension}.exe",
                  "cwd": "${fileDirname}",
                  "console": "externalTerminal", // 关键配置
                  "MIMode": "gdb",
                  "preLaunchTask": "C/C++: gcc build active file"
              }
          ]
      }
      

    保存后重新启动调试,终端会弹出并等待输入。

  • 检查编译任务配置
    打开tasks.json确认编译参数没有禁用标准输入,比如不要添加-nostdin这类限制输入的参数,确保编译命令是正常生成可执行文件:

    {
        "tasks": [
            {
                "label": "C/C++: gcc build active file",
                "command": "gcc",
                "args": ["-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}.exe"],
                "options": {"cwd": "${fileDirname}"}
            }
        ]
    }
    
  • 确保终端获得输入焦点
    如果使用VS Code内置的集成终端,调试启动后需要手动点击终端标签页,让它获得输入焦点再输入内容,避免焦点停留在调试控制台导致输入无效。

  • 排查外部拦截因素
    部分杀毒软件或防火墙可能会拦截调试进程的终端交互,可临时关闭这类软件测试是否恢复正常。

内容的提问来源于stack exchange,提问作者SRAVAN KUMAR VEESAM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 12:54:56