原文链接
https://segmentfault.com/q/1010000017199543
简单来说就是因为MinGW的 GDB版本不行,64位版本的MinGW尚未加入调试STL的功能。所以要用32位的MinGW。采用的是i686版本(应该是32位MinGW的一种)
i686版本MinGW下载地址
https://mmbizurl.cn/s/Xtn6Gu8sa
安装以后,配置下tasks.json和launch.json文件即可
这里简要说明下
tasks.json是用来编译的,相当于(我这里的文件名是main.cpp)
g++ main.cpp -o main.exe
的快捷键而已
launch.json是用来调试的,相当于在终端输入
gdb main.exe
当你按下F5时,运行逻辑如下:
先运行tasks.json中指定的编译命令
然后运行launch.json中的调试命令
launch.json中有一项,叫preLaunchTask,这个值对应着tasks.json当中的label名。如果两者不一致,launch就找不到哪个是编译的命令了。会出现如下报错:
这时候更改preLaunchTask名,使之和tasks.json中的label项完全一致即可。
还有一个重要的事情:在更改完这些配置文件以后,最好重新打开一些VS CODE, 否则会出现一些奇怪的BUG,例如仅编译了却没有进入调试。
配置文件
链接:https://pan.baidu.com/s/1J4mGb0pO92PbdHTiITYSzw
提取码:a60a
复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V4的分享