2026/7/19 2:40:04
网站建设
项目流程
- 准备工作:
- 目标机内核配置。确保编译目标机内核时开启了以下配置(通常在
make menuconfig中):- CONFIG_DEBUG_INFO=y # 保留调试符号
CONFIG_KGDB=y # 启用 KGDB
CONFIG_KGDB_SERIAL_CONSOLE=y # 启用串口控制
CONFIG_FRAME_POINTER=y # 提供准确的调用栈(可选,但推荐)
- 在目标机上激活 KGDB:
- 在系统运行中动态触发(适合调试运行中的驱动):
- echo ttymxc3,115200 > /sys/module/kgdboc/parameters/kgdboc
- echo g > /proc/sysrq-trigger
此时目标机会完全失去响应(屏幕卡住,键盘无响应),这说明内核已经成功挂起,正在串口另一端等待调试指令。
- 在开发机上建立 GDB 连接:
- cd ~/project/linux/
- arm-linux-gnueabihf-gdb vmlinux
- (gdb) target remote /dev/ttyUSB0