嵌入式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
相关推荐
诗句藏于尽头5 小时前
unlock-music项目安装依赖及启动相关报错问题及解决
学习
小则又沐风a5 小时前
库的原理:目标文件,ELF格式,程序加载
java·linux·前端
编程圈子7 小时前
操作系统学习14 IDT + PIC + 键盘中断
android·学习·计算机外设
尊治13 小时前
变频器学习入门教程
学习·esim电工仿真·电工仿真软件·电工仿真·电工接线学习·esim电工制图
tyqtyq2214 小时前
旅行打包清单 App — HarmonyOS AI 应用开发技术博客
人工智能·学习·华为·生活·harmonyos
Cx330❀14 小时前
【MySQL基础】一文吃透“表的约束”:从 Null/Default 到主外键的终极安全法则
linux·服务器·数据库·c++·mysql·安全
程序员JerrySUN14 小时前
Jetson 刷机深度解析:flash.sh vs l4t_initrd_flash.sh(含安全与磁盘加密对比)
linux·网络·arm开发·安全·系统安全
辞旧 lekkk15 小时前
【Redis初阶】常见数据类型
开发语言·数据库·c++·redis·学习·缓存·bootstrap
六点_dn15 小时前
Linux学习笔记-printf命令
linux·运维·算法