VSCode调试

目录

C/C++远程本地调试

测试源码:https://github.com/jrhee17/ssl-study

插件

Remote - SSH

C/C++

配置

.vscode/launch.json

json 复制代码
 {
    "version": "0.2.0",
    "configurations": [
        {
            "name": "after/ch02",  // 配置名称,将会在启动配置的下拉菜单中显示
            "type": "cppdbg",
            "request": "launch",                        // 请求配置类型,可以为launch(启动)或attach(附加)
            "program": "${workspaceFolder}/after/ch02/rc4",        // 将要进行调试的程序的路径,与 makefile 中的 main 一致
            "args": ["-e", "abcdef" , "abcdefghijklmnop"]
            "stopAtEntry": true,                        // 设为true时程序将暂停在程序入口处
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,                   // 调试时是否显示控制台窗口,必须为true显示控制台,才能输入,交互
            "MIMode": "gdb",                            // 指定连接的调试器,可以为gdb或lldb。
            "preLaunchTask": "ch02",                   // 调试会话开始前执行的任务,一般为编译程序。与 tasks.json 的 label 一致
            "miDebuggerPath": "/usr/local/bin/gdb" 
        }
    ]
}

.vscode/tasks.json

json 复制代码
{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: gcc build active file",
            "command": "/usr/bin/gcc",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "Task generated by Debugger."
        },
        {
            "type": "shell",
            "label": "ch02",
            "command": "/usr/bin/make",
            "options": {
                "cwd": "${workspaceFolder}/after/ch02"
            }
        }
    ],
    "version": "2.0.0"
}

不重新编译gdb,前面已经编译过,arg复杂参数要注意转义

json 复制代码
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/curl-8.11.1/src/.libs/curl",
            "args": [],
			"cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
              {
                "description": "为 gdb 启用整齐打印",
                "text": "-enable-pretty-printing",
                "ignoreFailures": true
              }
            ],
            // "miDebuggerPath": "/usr/local/bin/gdb"
          }
    ]
}

参考

https://www.cnblogs.com/lidabo/p/16355947.html

相关推荐
简宸~1 天前
VS Code + LaTex + SumatraPDF联合使用指南
java·vscode·latex·sumatrapdf
2501_916007471 天前
在非 Xcode 环境下完成苹果开发编译的记录 iOS 编译与调试
ide·vscode·ios·cocoa·个人开发·xcode·敏捷流程
徒 花2 天前
ubuntu远程连接ssh及VSCode配置远程ssh连接ubuntu
vscode·ubuntu·ssh
十五年专注C++开发2 天前
Linux 下用 VS Code 高效调试
linux·运维·服务器·c++·vscode
Ama_tor2 天前
Visual Studio Code (VS Code) |下载与前端开发环境配置(带图详细)
ide·vscode·编辑器
愿^O^~2 天前
VSCode 启动 Spring Boot 微服务 JMX 端口冲突问题
spring boot·vscode·微服务
还是大剑师兰特2 天前
Vue3 前端专属配置(VSCode settings.json + .prettierrc)
前端·vscode·json
学嵌入式的小杨同学2 天前
STM32 进阶封神之路(十五):DHT11 单总线实战 —— 温湿度检测从时序解析到代码落地(库函数 + 寄存器)
vscode·stm32·单片机·嵌入式硬件·mcu·智能硬件·pcb工艺
阿捏利2 天前
vscode+ida-mcp-server配置及使用
vscode·ida·逆向·mcp
#空城2 天前
LVGL9.5在VScode中安装模拟器
ide·vscode·编辑器