必需的内核配置
启用以下 Kconfig 选项并重新构建内核:串行设置
KGDB 使用kgdboc(KGDB over console)驱动通过串行端口进行通信。
内核命令行参数
将以下内容添加到meta-qcom/conf/machine/include/qcom-<SoC>.conf 中的 KERNEL_CMDLINE_EXTRA:
禁用看门狗
如果内核停止响应,Qualcomm SoC 看门狗会重置设备。请在启动 KGDB 会话之前禁用它,以防止意外重置:进入调试模式
选择以下方法之一暂停内核并激活 KGDB stub。方法 1:kgdbwait(启动时)
当内核命令行中包含kgdbwait 时,内核会在启动期间停止,并在串行控制台上打印以下消息:
方法 2:Magic SysRq(运行时)
在目标设备的 shell 中:方法 3:编译时断点
在驱动源代码中插入硬断点:方法 4:内核 panic(异常驱动)
当发生未处理的异常或 panic 时,内核会自动进入 KGDB 模式。要为测试目的故意触发崩溃:从主机连接 GDB
在主机上安装gdb-multiarch:
Linux 主机
Windows 主机
在 Windows 上,请在设备管理器中将 COM 端口号设置为 16 以上,并使用\\.\comN 路径语法:
GDB 调试会话
基本 GDB 命令
表:GDB 命令参考加载模块符号
要调试动态加载的内核模块,请从目标设备获取.text 段地址:

