|
在环境变量path中添加mingw中bin后

在vscode界面侧边栏点击调试界面,创建launch.json文件




添加配置后保存就行
下为我的添加配置后自动生成的launch文件
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) 启动",
"type": "cppdbg",
"request": "launch",
"program": "输入程序名称,例如 ${workspaceFolder}/a.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "/path/to/gdb",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "将反汇编风格设置为 Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
]
}
]
}回到编好的c++文件中,点右上角小三角形旁边的下拉按钮

点调试c/c++文件,
注意:这里一定要选g++.exe选cpp.exe可能无法调试,如果选错了可以直接删除自动生成在launch文件旁边的task.json重新再来

vscode会帮我们自动生成task文件
下面是vscode自动生成的task文件(已加注解)
将注解中的两行修改后即可自动将exe文件都生成到一个文件夹中(自定义名称,没有会自动创建)
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe 生成活动文件",
"command": "D:\\mingw-v12.2_202204\\mingw64\\bin\\g++.exe", //编译器的目录
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
/*
编译后自动生成的exe文件地址
可以自定义,如
task中
"${fileDirname}\\exe\\${fileBasenameNoExtension}.exe"
修改后在launch文件中同步修改即可
launch中
"program": "${fileDirname}\\exe\\${fileBasenameNoExtension}.exe",
*/
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
然后就可以开始愉快的调试了,有可能没有自动显示终端,可以在顶端菜单(查看(V))中将其调出

提示1: * 终端进程已终止,退出代码: -1。 报错是因为同时开了多个调试,关掉其他的在开即可(或简单粗暴重启vscode)
提示2:如果直接粘贴输入,最后一行没有换行符的话,最后一行是不能直接被程序读取的,看起来就像突然退出了一样,程序运行指示位置的也不见了,直接在终端中敲入一个回车即可,原因就像在终端中敲了一行命令没有按回车,或者粘贴之前在文本最后加入一个空行 |
|