Linux虚拟机,VSCode + GDB 调试配置:launch.json 模板

x86 本地调试:.vscode 目录下 launch.json 文件内容模板,

复制代码
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Debug",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/build_x86/HelloWorld",   //program 调试哪个程序:路径
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "/usr/bin/gdb",   //GDB调试器 路径
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

虚拟机 + ARM 交叉编译 + GDB 远程调试:.vscode 目录下 launch.json 文件内容模板:

复制代码
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Debug ARM Remote",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/gdbtest", //ARM 可执行文件路径
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gdb", // ARM 版本 GDB
            "miDebuggerServerAddress": "192.168.137.50:2001",    // 远程服务器地址,开发板ip
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
            ]
        }
    ]
}

**远程调试:**启动开发板上的 gdbserver,输入命令: gdbserver 192.168.137.50:2001 gdbtest

点击 VSCode 上的"调试" ->"启动调试"按钮,等待连接成功。

相关推荐
Web3探索者2 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo2 天前
Linux系统中网线与USB网络共享冲突
linux
荣--3 天前
在 strip 二进制 + 基址随机化的栈里做崩溃去重 —— 三阶段算法与一行 Crash Flag
嵌入式·崩溃分析·栈指纹·去重算法
释然小师弟3 天前
Android开发十年:反思与回顾
android·后端·嵌入式
Sokach10153 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
FreakStudio4 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
AlfredZhao4 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone
zzzzzz3105 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode5 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
A小辣椒7 天前
TShark:Wireshark CLI 功能
linux