要想进行debug,launch.json文件并不是必须的,只要有 tasks.json 文件即可。
最新操作:
0.安装MinGW,将其bin目录加入到系统变量的PATH中;在vs code中安装C/C++插件
1.打开你的 cpp 文件,按F1(或Shift + Ctrl + P)
2.输入C++,选择C/C++: Build and Debug Active File,后面选g++
3.如果弹框提示错误,点击Abort,进行下面的4
4.切换到自动生成的 tasks.json 文件,删除或注释该文件中的 type: shell一行
5.切换回你的 cpp 文件,重复步骤1和2,就能正常进入debug状态了
觉得还不直观的小伙伴看下图:
遇到 debug 时 STL容器中的值无法查看的问题,看我这篇文章 Windows中VS code无法查看C++ STL容器的值- 解决方法- by Bravo Yeung.
该问题下的回答已经挺多了,针对Windows,我来写个最简单的版本吧,并教你如何避开可能的坑~
在官网教程https://code.visualstudio.com/docs/cpp/config-mingw的基础上稍微调整一下即可。
如果在Windows上用过gdb编译过C++,一般都会对 MinGW有印象,Windows版的Eclipse for C++/Dev C++等都是基于MinGW来做的。于是我们在Windows上要想在VS code中用gdb的环境,同样需要先配置好MinGW的环境。
下面说说配置环境的主要步骤:
打开放.cpp代码的文件夹,在该目录下右击Open with code
微软官方的 C/C++插件
https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools
有需要还可以对该插件进行配置:
如果你安装了 Windows Terminal,还可以进行如下设置:
文件->*选项->设置->用户->拓展-> Run Code Configuration
找到Run In Terminal勾选上
下载地址: Mingw-w64
安装:
运行安装包,对于Architecture的选项,选择x8664,然后下一步及后面的操作都按默认的来就好~
打开系统属性,在PATH变量中加入 bin 目录,比如我的路径是 D:\Program Files\mingw-w64\x8664-8.1.0-posix-seh-rtv6-rev0\mingw64\bin,加上去,关闭所有的cmd,重新打开cmd即可.
按快捷键Ctrl + Shift + P 搜索 Task,选择 Tasks: Configure Default Build Task
下一步选择 g++
会看到一个默认的tasks.json文件,
由于已经为g设置好了系统变量中的PATH,于是command的完整路径command: D:\\Program Files\\mingw-w64\\x8664-8.1.0-posix-seh-rtv6-rev0\\mingw64\\bin\\g++.exe可以简写为 g++。
我自己用的最终版tasks.json为:
另外,需要删除这个默认 json 文件中的 type: shell,接下来按快捷键ctrl+shift+B就可以build了。
按F5,会弹出下面的框框:
选C++(Windows)即可~
会弹出默认的 launch.json 文件,将该内容替换为官方教程 https://code.visualstudio.com/docs/cpp/config-mingw 中的 launch.json文件.
由于已经为g++设置好了系统变量中的PATH,于是miDebuggerPath的完整路径可简化为 gdb。
于是综上,可得到精简版 launch.json:
我自己用的最终版launch.json为:
另外还需要注意的是:
launch.json中的preLaunchTask需要与 tasks.json中的label 一致,比如:
launch.json中的preLaunchTask值为compile
而tasks.json中Label的值也需要为compile:
接下来在代码中加上断点,就可以按F5愉快地进行debug了。
免责声明:本站所有内容及图片均采集来源于网络,并无商业使用,如若侵权请联系删除。