前几天做笔试,最后一题代码有点问题,习惯性地按了个F5启动gdb发现居然爆炸了,报错找不到编译出来的二进制文件,看着像是默认配置的问题,由于时间紧迫最后只能用输出大法解决。
感觉不可理喻,几年前调程序的时候就可以一键F5直接启动,直到半年前暑期实习的时候肯定都还是好的。最近没怎么写过算法题,盲猜是最近VSCode更新偷改了默认配置。解决一下。
左下角打开设置,搜索launch.json,打开默认的settings.json,添加内容如下:
"launch": {
"configurations": [
{
"name": "GDB",
"type": "cppdbg",
"request": "launch",
"miDebuggerPath": "path/to/gdb",
"program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "将反汇编风格设置为 Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: g++.exe 生成活动文件"
}
],
"compounds": []
}
之后按F1,找到Tasks: Open User Tasks,新增一个Task:
{
"type": "cppbuild",
"label": "C/C++: g++.exe 生成活动文件",
"command": "path/to/g++",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
修改完保存即可,注意修改g++和gdb路径。按F5又能一键启动了。