VSCode 默认在DEBUG CONSOLE调试无法输入输出 gdb调试 解决方案 及Windows上C/C++环境配置

问题描述

        从零重新安装的VSCode,无设置和其他插件,Win10系统,MinGW g++及gdb在环境变量中,发现VSCode调试C/C++程序时永远启用DEBUG CONSOLE而不是集成终端TERMINAL:

VSCode 默认在DEBUG CONSOLE调试无法输入输出 gdb调试 解决方案 及Windows上C/C++环境配置_第1张图片

        TERMINAL中只有launch.json中提供的参数启动debug的只读内容,无法进行输入输出,而cout输出的内容在DEBUG CONSOLE:

VSCode 默认在DEBUG CONSOLE调试无法输入输出 gdb调试 解决方案 及Windows上C/C++环境配置_第2张图片

        此时尝试在DEBUG CONSOLE中进行输入数值给cin,则提示'Unable to perform this action because the process is running',因为该终端提供的是gdb上调试相关的指令,而不是直接给标准输入流stdin的数据;同时debug进程并没有提供可供数据输入的窗口,除非在launch.json中将"externalConsole"由false改为true,但这样只能打开一个单独的黑窗口,很丑且无法使用VSCode的变量查看等功能:

VSCode 默认在DEBUG CONSOLE调试无法输入输出 gdb调试 解决方案 及Windows上C/C++环境配置_第3张图片

VSCode 默认在DEBUG CONSOLE调试无法输入输出 gdb调试 解决方案 及Windows上C/C++环境配置_第4张图片

解决办法:重装MinGW64工具链

        问题似乎是由于我先前安装的是MinGW32,所以会默认开启DEBUG CONSOLE?

        MinGW(Minimalist GNU for Windows)是一个用于在Windows平台上进行开发的开源工具集,它提供了一组用于构建和运行本地Windows应用程序的开发工具,包括编译器、链接器和其他一些实用工具。MinGW的目标是提供一个简单、轻量级的开发环境,使开发人员能够在Windows上使用GNU工具链进行开发。

        划重点:MinGW是GNU的一个工具链,因此当不能在VS Code上解决问题时,问题可能就在MinGW上,也许MinGW32就是没有集成终端的选项吧。

        MinGW64安装链接:

        MinGW-w64 - for 32 and 64 bit Windows download | SourceForge.net

VSCode 默认在DEBUG CONSOLE调试无法输入输出 gdb调试 解决方案 及Windows上C/C++环境配置_第5张图片

        为方便安装,适应Windows用户习惯,在绿色Donwload按钮下面选择Files选项卡:

VSCode 默认在DEBUG CONSOLE调试无法输入输出 gdb调试 解决方案 及Windows上C/C++环境配置_第6张图片

        往下拉找到x86_64-posix-sjlj不要选MinGW-W64-install.exe,因为网站问题该发布文件无法完成下载。

VSCode 默认在DEBUG CONSOLE调试无法输入输出 gdb调试 解决方案 及Windows上C/C++环境配置_第7张图片

        把跳出的文件下载下载,安装到指定的目录,推荐为盘符根目录,然后将

该位置+mingw64\\bin

        添加到环境变量,重新启动VSCode,如需要则修改tasks.json或launch.json,问题解决:

VSCode 默认在DEBUG CONSOLE调试无法输入输出 gdb调试 解决方案 及Windows上C/C++环境配置_第8张图片

        DEBUG CONSOLE不再作为调试的输入输出终端:

VSCode 默认在DEBUG CONSOLE调试无法输入输出 gdb调试 解决方案 及Windows上C/C++环境配置_第9张图片

        可以正常使用调试功能。

VSCode相关问题可在评论区提问

你可能感兴趣的:(vscode,c++,ide)