vscode中调试c++代码
首先创建.cpp文件,注意要把文件放在文件夹中,才能使用调试功能,否则会出现如下的问题。
然后点击左侧三角形+虫子的按钮,也就是调试按钮,然后点击运行和调试,在上方选择c++(windows)。

之后如果提示如下,那就打开“launch.json”。


将launch.json文件直接全部修改为:
{
"version": "0.2.0",
"configurations": [
{
"name": "C++ 调试启动",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": true,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "gdb.exe",
"setupCommands": [
{
"description": "启用gdb整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "编译C++"
}
]
}
并且在launch.json文件的右下角可以看到“添加配置”的蓝色标志,大部分用户点击后都应该选择“C/C++: (gdb) 启动”。
然后点击终端 → 配置任务 → 使用模板创建tasks.json → 选择Others,然后将tasks.json文件直接全部修改为:
{
"version": "2.0.0",
"tasks": [
{
"label": "编译C++",
"type": "shell",
"command": "g++",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}.exe"
],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": {
"owner": "cpp",
"fileLocation": "absolute",
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
}
]
}
之后就可以开始调试了,在代码中设置好断点(如图第7行左侧的红点,点击该位置就可以设置断点),然后点击,选择下拉菜单的第三个:”C++ 条调试启动“。


本人遇到的问题是,调试了之后,顶部闪出来了一排悬浮按钮,但是很快又消失了。
经过排查,本人发现了问题,是launch.json文件中出现了问题,本人做了如下设置:
"stopAtEntry": false
应该改为:
"stopAtEntry": true
这个stopAtEntry:程序刚进入main函数第一行时,要不要自动暂停调试。
true:强制停下,调试界面、控制按钮固定显示;false:不主动停下,顺着代码一路往下跑。
之后又出现了一个问题:
++.cpp放在在D盘里面,但是总是给我跳转到一个下第二张图片的界面,并且路径也不对。

![]()
后来我又做了一些修改,把文件夹和文件重命名了,特殊字符都删去了。
然后我还发现了一个很大很大的问题,在cmd中使用where g++,我发现我使用的是cygwin(大概率是之前使用DevC++的时候一块下载的,但是没有加入环境变量),这是linux系统的,而我是windows系统,应该使用的是MinGW-w64(MSYS2).。
简单讲一下cygwin和msys2啥区别:
C++ 这门语言最初是在 Linux/Unix 系统(比如服务器、超级计算机用的系统)上发明和流行的。在 Linux 系统里,天生就自带了 C++ 编译器(g++)和各种辅助工具(比如 make、bash 脚本等)。但是,Windows 是一个完全独立的系统,它原生是不认识这些 Linux 工具的。
当开发者想要把 Dev-C++ 这种 IDE 搬到 Windows 上给新手用时,他们发现了一个问题:
如果让用户自己去配置 Windows 下的 C++ 环境,那太复杂了,小白根本搞不定。为了让用户能在 Windows 上像用 Linux 一样丝滑地写 C++ 代码,Dev-C++ 的作者干脆“打包”了一套工具(也就是你看到的 Cygwin 或 MinGW),直接塞进了软件的安装包里。
下来我就试图下载MSYS2,开始在官网下载,但是发现下载了几回都是源码,下的不对,于是根据下面这篇帖子,下载了镜像,本人下载的镜像是”msys2-base-x86_64-20240727.sfx.exe“。
但是呢,下载还是怪怪的,又找了一篇帖子,如下,这回正常点了。我只按照这篇帖子的前面一小部分下载了msys2。
安装和配置的过程参考下面这篇帖子的第三部分。
VS Code 配置 C/C++ 编程运行环境(保姆级教程)_vscode配置c++环境-CSDN博客
后来力竭了,放弃了,vscode调试c/c++对于我来说太繁琐了,用Devc++一下就成功了。
更多推荐
所有评论(0)