diff --git a/.vscode/launch.json b/.vscode/launch.json index a37a783..492f66e 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -28,5 +28,33 @@ } ], "preLaunchTask": "Compile" // 调试会话开始前执行的任务,一般为编译程序。与tasks.json的label相对应 - }] + }, + { + "name": "(gdb) Debug", // 配置名称,将会在启动配置的下拉菜单中显示 + "type": "cppdbg", // 配置类型,cppdbg对应cpptools提供的调试功能;可以认为此处只能是cppdbg + "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加) + // "program": "C:\\Windows\\system32\\cmd.exe", // 将要进行调试的程序的路径(主目录需要有debug文件夹) + "program": "${workspaceFolder}\\debug\\${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径(主目录需要有debug文件夹) + // "program": "${fileDirname}\\${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径(Windows路径写法'\\') + // "program": "${fileDirname}/${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径(Linux路径写法'/') + // "args": ["/C","${workspaceFolder}\\debug\\${fileBasenameNoExtension}.exe","&","pause"], // 程序调试时传递给程序的命令行参数,一般设为空即可 + "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可 + "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,相当于在main上打断点 + "cwd": "${workspaceFolder}", // 调试程序时的工作目录,此为工作区文件夹;改成${fileDirname}可变为文件所在目录 + "environment": [], // 环境变量 + // "externalConsole": true, // 为true时使用单独的cmd窗口,与其它IDE一致;18年10月后设为false可调用VSC内置终端 + "externalConsole": false, // 为true时使用单独的cmd窗口,与其它IDE一致;18年10月后设为false可调用VSC内置终端 + "internalConsoleOptions": "neverOpen", // 如果不设为neverOpen,调试时会跳到“调试控制台”选项卡,你应该不需要对gdb手动输命令吧? + "MIMode": "gdb", // 指定连接的调试器,可以为gdb或lldb。但我没试过lldb + "miDebuggerPath": "gdb.exe", // 调试器路径,Windows下后缀不能省略,Linux下则不要 + "setupCommands": [ + { // 模板自带,好像可以更好地显示STL容器的内容,具体作用自行Google + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": false + } + ], + "preLaunchTask": "Compile" // 调试会话开始前执行的任务,一般为编译程序。与tasks.json的label相对应 + } +] }