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

问题描述

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

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

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

解决办法:重装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

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

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

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

该位置+mingw64\\bin

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

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

        可以正常使用调试功能。

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

  • 33
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
您好!要在VSCode中配置C/C++调试环境,您可以按照以下步骤进行操作: 1. 首先,安装Visual Studio Code和C/C++扩展。您可以在VSCode的扩展商店中搜索并安装"C/C++"扩展,或者直接在扩展面板中搜索"C/C++"。 2. 安装完成后,打开您的C/C++项目文件夹。如果没有现有的项目,可以创建一个新的文件夹并打开。 3. 在项目文件夹中创建一个名为`.vscode`的文件夹(如果不存在),然后在该文件夹中创建一个名为`launch.json`的文件。 4. 在`launch.json`文件中添加以下配置: ```json { "version": "0.2.0", "configurations": [ { "name": "C/C++ Debug", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/your_program_name.exe", // 替换成您的程序名称 "args": [], // 可选,如果您的程序需要命令行参数,请在这里添加 "windows": { "MIMode": "gdb", "miDebuggerPath": "gdb.exe" // 替换成您的GDB路径,如果已经配置过环境变量可以省略此项 }, "linux": { "MIMode": "gdb", "miDebuggerPath": "/usr/bin/gdb" // 替换成您的GDB路径 }, "osx": { "MIMode": "lldb" }, "cwd": "${workspaceFolder}", "preLaunchTask": "build" // 如果您使用的是构建任务,请修改为对应的任务名称;如果不需要构建任务,请删除此项 } ] } ``` 5. 如果您的代码需要编译,请在项目文件夹中创建一个名为`tasks.json`的文件,并添加相应的构建任务配置。这样,您就可以在调试之前自动构建您的代码。 6. 现在,您可以在VSCode调试视图中选择"C/C++ Debug"配置,并点击播放按钮以启动调试。 请注意,上述配置中的路径和命令可能需要根据您的实际情况进行修改。确保GDB(或LLDB)已正确安装,并且路径设置正确。 希望这能帮助到您!如果还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值