想用Vscode进行调试代码,网上查了很多环境配置的资料,但是不知道为什么总是出现这个问题:

研究很长时间,终于找到暴力解决这个问题的方法,这里做一下记录

1. 生成tasks.json文件

快捷键Ctrl+Shift+P,找到Tasks: Configuration Default Build Task,会弹出来下面这个窗口:

这里选择电脑上使用gcc的位置,我这里是C:/MinGW/bin/gcc.exe
接下来会生成tasks.json文件
我的电脑上生成文件各个参数是这样的:

经过测试,发现”type”必须要修改成"shell",这里我并没有深究为什么要这样修改,至少在"cppbuild"这个参数下,进行调试就会出现开头显示的错误。

2. 生成launch.json

生成launch.json的过程也很奇怪
首先在Run中选择Add Configuration,在弹出的窗口中选择C++(GDB/LLDB)

这个时候确实会生成launch.json,但是这个文件是空的,必须要再次重复一遍刚刚的操作,选择完C++(GDB/LLDB)会弹出一个新窗口
在这个窗口里面选择C/C++:(gdb) Launch
这时生成的launch.json是这样的:

接下来要将”program“修改成${fileDirname}/${fileBasenameNoExtension}.exe,再将"miDebuggerPath"对应到gdb的路径,最后在末尾添加一行:"preLaunchTask": "C/C++: gcc.exe build active file",这里preLaunchTask的内容需要与tasks.json中label的内容保持一致。
修改完成后是这个样子的:

完成以上任务就可以成功调试C代码了