嵌入式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
相关推荐
丰锋ff2 小时前
压缩命令笔记
linux
小嘉丶学长2 小时前
Day14 · 字典与集合
java·开发语言·网络·python·学习·1024程序员节
小李不想当小白2 小时前
SPI通信外设与W25Q64 (硬件SPI)(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
GeW3 小时前
产业新优势基础软件的人才底盘,从Linux与数据库开始
linux·数据库
by209993 小时前
Linux GCC/G++ 编译与 Makefile 构建
linux·运维·服务器·经验分享
cq林志炫4 小时前
两个Linux服务器之间同步文件
linux·运维·服务器
无人生还别怕5 小时前
如何搭建k8s服务(containerd部署)
linux·云原生·容器·kubernetes·openanolisos
企鹅侠客6 小时前
Linux CPU 负载平均值(Load Average)详解:从原理到实践
linux·运维·服务器·服务器负载
adinnet20266 小时前
电商客服对话知识库的自学习闭环与质量演进机制
学习
易点云徐源6 小时前
HP 暗影精灵 PRO 16 安装双系统后,开机直接进入 Windows,按 F9 才能进入 Ubuntu:GRUB 菜单不显示的处理方法
linux·运维·ubuntu