嵌入式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
相关推荐
_upupup9 小时前
Linux的调试工具——gdb/cgdb
linux·服务器
JeJe同学9 小时前
Docker镜像导入、容器启动
linux·运维·docker
Jason_zhao_MR10 小时前
Linux与实时控制如何兼得
linux·嵌入式硬件·机器人·工业控制
闲云野鹤在人间10 小时前
MySQL|从理论、安装、备份到主从复制、MHA高可用详解
linux·运维·数据库·mysql·云计算
李日华大战鸡红11 小时前
FOC状态空间方程模型推导(学习记录)
python·学习·线性代数
一个风轻云淡11 小时前
GCC 和 GDB命令简单解读
java·linux·前端
H.莓飛11 小时前
【数据结构】二叉树_OJ题
linux·开发语言·数据结构·算法
资料库0112 小时前
Linux 8个常见运维故障排查
java·linux·运维
kkkkkkkkkk_Z12 小时前
新手自学嵌入式 | 学习日记:异常与中断基础、i.MX6ULL裸机开发环境搭建、GPIO模块与点灯原理
学习
零基础12312 小时前
Ubuntu 常用命令汇总
linux·运维·开发语言