嵌入式linux学习记录十八,KGDB使用例

  1. 准备工作:
  2. 目标机内核配置。确保编译目标机内核时开启了以下配置(通常在 make menuconfig 中):
    1. CONFIG_DEBUG_INFO=y # 保留调试符号
      CONFIG_KGDB=y # 启用 KGDB
      CONFIG_KGDB_SERIAL_CONSOLE=y # 启用串口控制
      CONFIG_FRAME_POINTER=y # 提供准确的调用栈(可选,但推荐)
  3. 在目标机上激活 KGDB:
    1. 在系统运行中动态触发(适合调试运行中的驱动):
      1. echo ttymxc3,115200 > /sys/module/kgdboc/parameters/kgdboc
      2. echo g > /proc/sysrq-trigger
        此时目标机会完全失去响应(屏幕卡住,键盘无响应),这说明内核已经成功挂起,正在串口另一端等待调试指令。
  4. 在开发机上建立 GDB 连接:
    1. cd ~/project/linux/
    2. arm-linux-gnueabihf-gdb vmlinux
    3. (gdb) target remote /dev/ttyUSB0
相关推荐
旖旎夜光17 小时前
C++(类与对象)(下)
开发语言·c++·学习
拾光Ծ18 小时前
【Linux网络】深入理解网络层:从IP协议格式,子网划分到NAT与路由机制
linux·网络·网络协议·tcp/ip·计算机网络
math_hongfan18 小时前
鸿蒙AI应用性能高级评测:推理延迟/内存占用/功耗/准确率四维指标评测体系与极致调优方案
人工智能·学习·华为·harmonyos·鸿蒙
zho_uzhou18 小时前
ubuntu服务端运行vue网页步骤
linux·服务器·vue.js·ubuntu
ltl1 天前
纠删码原理与存储效率
linux
ltl1 天前
MinIO 原理和架构:机制、AGPL 与上游 archived 风险
linux
林浩杨_1 天前
linux搜索命令(grep+sed)
linux·命令模式
W.W.H.1 天前
将驱动编译成模块并安装到rootfs
linux·物联网·wifi·rootfs·驱动
ltl1 天前
io_uring 在生产环境翻车实录:内核 bug、资源泄漏和你不知道的限制
linux
ltl1 天前
内存分配器擂台:jemalloc vs tcmalloc vs mimalloc vs glibc
linux