想用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代码了