windows 系统vscode 配置c++调试器gdb

切记:(1)工程项目不可以是中文地址

(2)gdb的目录到\\bin设置到系统的环境变量中

 

(1)launch.json

{

// 使用 IntelliSense 了解相关属性。

// 悬停以查看现有属性的描述。

"version": "0.2.0",

"configurations": [{

// 配置 VS Code 调试行为:

"name": "GDB Debug", // 设置在启动配置下拉菜单中显示调试配置的名称。

"preLaunchTask": "Compile", // 调试会话开始前要运行的任务。

"type": "cppdbg", // 设置要使用的基础调试器。使用 GDB 或 LLDB 时必须是 cppdbg 。

"request": "launch", // 设置启动程序还是附加到已经运行的实例。启动或附加 ( launch | attach ).

"program": "${fileDirname}/${fileBasenameNoExtension}.exe", // 调试器将启动或附加的可执行文件的完整路径。

"externalConsole": true, // 设置是否显示外部控制台。

"logging": { // 用于确定应该将哪些类型的消息记录到调试控制台。

"exceptions": true, // 是否应将异常消息记录到调试控制台。默认为真。

"moduleLoad": false, // 是否应将模块加载事件记录到调试控制台。默认为真。

"programOutput": true, // 是否应将程序输出记录到调试控制台的可选标志。默认为真。

"engineLogging": false, // 是否应将诊断引擎日志记录到调试控制台。默认为假。

"trace": false, // 是否将诊断适配器命令跟踪记录到调试控制台。默认为假。

"traceResponse": false // 是否将诊断适配器命令和响应跟踪记录到调试控制台。默认为假。

},

// 配置目标应用程序:

"args": [], // 设置调试时传递给程序的命令行参数。

"cwd": "${workspaceFolder}", // 设置调试器启动的应用程序的工作目录。

"environment": [], // 设置调试时添加到程序环境中的环境变量,例如: [ { "name": "squid", "value": "clam" } ]。

// 自定义 GDB 或者 LLDB:

"windows": {

"MIMode": "gdb", // 指定 VS Code 连接的调试器,必须为 gdb 或者 lldb。

"miDebuggerPath": "D:\\Program Files\\vscode\\MinGW\\bin\\gdb.exe" // 调试器的路径,修改为你的安装路径

},

"miDebuggerArgs": "", // 传递给调试器的附加参数

"stopAtEntry": false, // 设置调试器是否停止在目标的入口(附加时忽略)。默认值为 false。

"setupCommands": [{ // 执行下面的命令数组以设置 GDB 或 LLDB

"description": "Enable pretty-printing for gdb",

"text": "-enable-pretty-printing", // 鼠标悬停查看变量的值,需要启用 pretty-printing 。

"ignoreFailures": true // 忽略失败的命令,默认为 false 。

}]

}]

}

 

(2)tasks.json

 

{

// See https://go.microsoft.com/fwlink/?LinkId=733558

// for the documentation about the tasks.json format

"version": "2.0.0",

"tasks": [{

"label": "Compile",

"type": "shell", // { shell | process }

// 适用于 Windows 的配置:

"windows": {

"command": "gcc",

"args": [

"-g",

"\"${file}\"",

"-o",

"\"${fileDirname}\\${fileBasenameNoExtension}.exe\""

// 设置编译后的可执行文件的字符集为 GB2312:

// "-fexec-charset", "GB2312"

// 直接设置命令行字符集为 utf-8:

// chcp 65001

]

},

// 定义此任务属于的执行组:

"group": {

"kind": "build", // { build | test }

"isDefault": true // { true | false }

},

// 定义如何在用户界面中处理任务输出:

"presentation": {

// 控制是否显示运行此任务的面板。默认值为 "always":

// - always: 总是在此任务执行时显示终端。

// - never: 不要在此任务执行时显示终端。

// - silent: 仅在任务没有关联问题匹配程序且在执行时发生错误时显示终端

"reveal": "silent",

// 控制面板是否获取焦点。默认值为 "false":

"focus": false,

// 控制是否将执行的命令显示到面板中。默认值为“true”:

"echo": false,

// 控制是否在任务间共享面板。同一个任务使用相同面板还是每次运行时新创建一个面板:

// - shared: 终端被共享,其他任务运行的输出被添加到同一个终端。

// - dedicated: 执行同一个任务,则使用同一个终端,执行不同任务,则使用不同终端。

// - new: 任务的每次执行都使用一个新的终端。

"panel": "dedicated"

},

// 使用问题匹配器处理任务输出:

"problemMatcher": {

// 代码内问题的所有者为 cpp 语言服务。

"owner": "cpp",

// 定义应如何解释问题面板中报告的文件名

"fileLocation": [

"relative",

"${workspaceFolder}"

],

// 在输出中匹配问题的实际模式。

"pattern": {

// The regular expression.

"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",

// 第一个匹配组匹配文件的相对文件名:

"file": 1,

// 第二个匹配组匹配问题出现的行:

"line": 2,

// 第三个匹配组匹配问题出现的列:

"column": 3,

// 第四个匹配组匹配问题的严重性,如果忽略,所有问题都被捕获为错误:

"severity": 4,

// 第五个匹配组匹配消息:

"message": 5

}

}

}]

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章