LVGL 远程调试

使用 gdbserver 和 vscode 远程调试 LVGL 程序

工具

  • vscode: 虚拟机编辑器
  • arm-linux-gnueabihf-gdb: 交叉编译链工具
  • gdbserver:gdb 服务工具(板载)

vscode 打开一个 LVGL 项目

通过环境搭建文档获取一个 LVGL 项目,项目目录

yztiot@ubuntu:~/t153/pro/t153_demo$ ls -l
总用量 100
drwxrwxr-x  2 yztiot yztiot  4096 9月  22 17:08 bin
drwxrwxr-x  2 yztiot yztiot  4096 6月  12  2023 common
drwxrwxr-x  2 yztiot yztiot  4096 1月  20  2026 inc
drwxrwxr-x  2 yztiot yztiot  4096 6月  15 14:42 lib
-rwxrwxr-x  1 yztiot yztiot  1081 6月  12  2023 LICENSE
-rwxrwxr-x  1 yztiot yztiot 22810 9月  22 17:08 lv_conf.h
-rw-rw-r--  1 yztiot yztiot  1270 6月  12  2023 lv_demo_conf.h
drwxrwxr-x 10 yztiot yztiot  4096 11月 10  2025 lv_drivers
-rw-rw-r--  1 yztiot yztiot 12618 9月  20 16:24 lv_drv_conf.h
drwxrwxr-x  7 yztiot yztiot  4096 6月  12  2023 lv_examples
drwxrwxr-x  9 yztiot yztiot  4096 12月 11  2025 lvgl
drwxrwxr-x  5 yztiot yztiot  4096 11月 10  2025 lv_node
-rw-rw-r--  1 yztiot yztiot  3219 9月  22 17:09 main.c
-rwxrwxr-x  1 yztiot yztiot  3667 9月  22 16:20 Makefile
drwxrwxr-x  5 yztiot yztiot  4096 9月  22 17:08 obj
-rwxrwxr-x  1 yztiot yztiot   618 9月  22 14:33 README.md
-rwxrwxr-x  1 yztiot yztiot  2860 1月  20  2026 ui_app.h
yztiot@ubuntu:~/t153/pro/t153_demo$

在虚拟机右键项目文件夹,点击使用其他程序打开(A),使用 vscode 打开

配置 launch.json

在 .vscode 目录新建或修改 launch.json 文件,内容:

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/bin/demossd",                //生成的程序路径
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "miDebuggerPath": "/home/yztiot/t153/host/bin/arm-linux-gnueabihf-gdb", //把这个改成系统GDB的路径
            "miDebuggerServerAddress": "192.168.0.189:1234", //把这个改成你的板子的IP地址
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

注意修改开发板目标 ip 地址

启动 gdbserver

开发板连接与虚拟机同一网段的网络后,编译 LVGL 项目为 demossd 并通过 scp 或者其他方式部署到开发板,在终端输入

gdbserver 192.168.0.91:1234 ./demossd

然后再 vscode 打开 launch.json,按 F5 开启调试


常见问题

1. 无法设置断点

1. 检查Makefile文件的”@$(CC) $(CFLAGS) -c $< -o $@ -g”是否少了-g
2. 检查 # arm-linux-gnueabihf-strip ./bin/demossd 是否为注释状态

2. 报错 Configured debug type ‘cppdbg’ is not supported.

安装 C/C++ 扩展插件
作者:陈柏林  创建时间:2026-11-04 17:50
最后编辑:陈柏林  更新时间:2026-11-05 14:56