如何在实时调试时从VScode读取控制台输入
我正在尝试实时调试一个C程序,该程序使用VScode中的C/C++扩展,还允许我使用scanf()将直接输入写入控制台。但是,当我调试代码时,它会打开调试控制台,不允许我输入任何输入 我找到了两条线索,人们在其中回答了这个问题: 两者都建议将launch.json文件中的“console”属性设置为“externalTerminal”或“integratedTerminal”。但是,我找不到该属性,也无法为此创建它,因为它不存在于我的文件中 我有“externalConsole”属性,可以设置为true或false。但这两个选项似乎都像以前一样打开调试控制台 launch.json文件:如何在实时调试时从VScode读取控制台输入,c,debugging,visual-studio-code,C,Debugging,Visual Studio Code,我正在尝试实时调试一个C程序,该程序使用VScode中的C/C++扩展,还允许我使用scanf()将直接输入写入控制台。但是,当我调试代码时,它会打开调试控制台,不允许我输入任何输入 我找到了两条线索,人们在其中回答了这个问题: 两者都建议将launch.json文件中的“console”属性设置为“externalTerminal”或“integratedTerminal”。但是,我找不到该属性,也无法为此创建它,因为它不存在于我的文件中 我有“externalConsole”属性,可以设
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "/mnt/c/Users/David/Documents/code/puc-rio/inf1010/lab8/teste.out",
"args": [],
"stopAtEntry": true,
"cwd": "/mnt/c/Users/David/Documents/code/puc-rio/inf1010/lab8/",
"environment": [],
"externalConsole": true,
"windows": {
"MIMode": "gdb",
"miDebuggerPath": "/usr/bin/gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
},
"pipeTransport": {
"pipeCwd": "",
"pipeProgram": "c:\\windows\\sysnative\\bash.exe",
"pipeArgs": [
"-c"
],
"debuggerPath": "/usr/bin/gdb"
},
"sourceFileMap": {
"/mnt/c": "${env:systemdrive}/",
"/usr": "C:\\Users\\David\\AppData\\Local\\Packages\\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\\LocalState\\rootfs\\usr"
}
}
]
当我尝试向调试控制台写入内容时会发生什么情况:
无法执行此操作,因为进程正在运行。
在看到您的帖子之前,我也有同样的困惑。在我的Windows环境中,我将“externalConsole”设置为true。之后,当调试开始时,我的程序将有一个cmd shell(不是VScode提供的“调试控制台”),其中可以键入stdin。!()