前提:已经下载好MinGW组件,安装好gdb调试器;VSCode已经安装C/C++插件
目录
运行—启动调试
编写一个简单的C程序,打开C程序,点击运行——启动调试
选择环境—C++(Windows)
生成launch.json文件
修改launch.json文件进行配置
修改 miDebuggerPath 字段之后可以直接copy使用
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
// 配置名称,将会在启动配置的下拉菜单中显示
"name": "(gdb) Launch",
// 配置类型
"type": "cppdbg",
// 请求配置类型,可以为launch(启动)或attach(附加)
"request": "launch",
// 将要进行调试的程序的路径,${workspaceFolder}表示项目所在路径
// fileBasenameNoExtension表示当前打开(要运行)的文件的文件名,不包括路径和后缀名
"program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",
// 程序调试时传递给程序的命令行参数
"args": [],
// 设为true时程序将暂停在程序入口处,一般设置为false
"stopAtEntry": false,
// 调试程序时的工作目录
"cwd": "${workspaceFolder}",
// 要添加到程序环境的环境变量,示例: [ { "name": "squid", "value": "clam" } ]
"environment": [],
// 如果为true,则为调试对象启动控制台,如果为false,会显示在集成控制台中。
"externalConsole": false,
// 指示MIDebugEngine要连接到的控制台调试程序,允许的值为 "gdb"、"lldb"
"MIMode": "gdb",
// MI调试程序(如 gdb)的路径,如果未指定,将首先在路径中搜索调试程序
"miDebuggerPath": "D:\\Tools\\mingw\\mingw64\\bin\\gdb.exe",
// 为了安装基础调试程序而执行的一个或多个 GDB/LLDB 命令
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
// 要执行的调试命令
"text": "-enable-pretty-printing",
// 如果为 true,应忽略此命令的失败
"ignoreFailures": true
}
],
// 调试会话开始前执行的任务,类似于Ant,这里为我们的编译任务
"preLaunchTask": "complie"
}
]
}
再次运行—启动调试
选择配置任务
使用模板创建tasks.json文件
选择 Others 运行任意外部命令的示例
生成tasks.json文件
修改tasks.json文件进行配置
可以直接copy使用
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
// 任务的名字
"label": "complie",
// 定义任务是被作为进程运行还是在shell中作为命令运行
"type": "shell",
// 要执行的命令,可以是外部程序或shell命令
"command": "gcc",
// 调用此任务时要传递给命令的参数
"args": [
"-g",
"${fileBasename}",
"-o",
"${fileBasenameNoExtension}.exe"
],
// 配置用于显示任务输出并读取其输入的面板
"presentation": {
// 控制运行任务的终端是否显示,默认设置为“始终”,
// silent: 只有当任务因错误而退出或者问题匹配器发现错误时,才会显示终端
"reveal": "silent"
},
// 错误捕获设置
"problemMatcher": "$gcc"
}
]
}
最后运行—启动调试
成功!