踩坑:如何使用VsCode调试C++程序
事情是这样的:今天下午数据结构与算法的实验课,整节课就要求自己演示一下如何使用IDE进行Debug。实话说我好久没写C++了,已经忘记如何使用VsCode进行C++开发了,就算平时进行C++开发,一直都是用命令行编译后直接运行(,所以趁这次机会回顾下VsCode如何配置C++。
Vs是不可能Vs的,这辈子都不可能下载Vs。我EasyX都用的VsCode写。
下载VsCode
官网:https://code.visualstudio.com/
下载编译器 MinGW
进入官网页面:https://www.mingw-w64.org/
下载页面中选择 x86_64-win32-seh
,下载。
配置环境变量
进入你安装的mingw的bin文件夹,复制整个路径,然后在高级系统设置中添加这个环境变量。(经典三个确定)
配置插件
Code Runner当然香,但是没法Debug,我们直接安装插件 Chinese
和 C/C++
,然后重启IDE。
关于json的配置
一共有三个JSON文件,有个麻烦的点就是,每次运行一个C++的项目,你都需要将这三个JSON文件复制到.vscode文件夹下。
所需要更改的,仅仅是将JSON中的Mingw相关路径 换成你自己电脑上的MINGW路径即可。
c_cpp_properties.json
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "C:\\mingw64\\bin\\gcc.exe",
"intelliSenseMode": "windows-gcc-x64",
//以下两条或许不会默认生成,但我建议你添加上
"cppStandard": "c++23",
"cStandard": "c23"
}
],
"version": 4
}
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "g++.exe - Build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "C:\\mingw64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: g++.exe 生成活动文件"
}
]
}
task.json
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe 生成活动文件",
"command": "C:\\mingw64\\bin\\g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
运行C++代码
恭喜你,已经可以安心打断点调试你的C++程序了。
本次教程比较简略,更多是给自己一个存放这三个JSON文件的地方,以便下次使用。
如果觉得比较麻烦,可以下载JetBrain的Clion,有学生认证的话是可以免费使用的。
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 AjaxZhan
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果