使用QEMU+GDB调试Linux驱动程序

2023-10-26

前提:

QEMU中已经添加了设备支持,能够正常insmod/rmmod xxx.ko,然后才能有接下来的调试。

step1:打开如下编译选项然后编译Linux内核

CONFIG_DEBUG_INFO = y,

CONFIG_RANDOMIZE_MEMORY =n,

CONFIG_KGDB = y

CONFIG_GDB_SCRIPTS = y

编译后会生成bzImage、vmlinux、vmlinux-gdb.py。

然后在本地~/目录创建.gdbinit文件,并在文件中添加如下指令

add-auto-load-safe-path  /Linux/scripts/gdb/vmliunx-gdb.py

step2: 编译要调试的xxx.ko

这里需要注意编译时需要在Makefile中添加-g参数。比如我这里编译后生成xxx.ko

step3:Qemu启动

Qemu的启动参数中加 -s,并在使用上述生成的bzImage来启动qemu,启动后insmod xxx.ko后可以在/sys/module/xxx/sections目录中分别查看其.text/.data/.bss

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用QEMU+GDB调试Linux驱动程序 的相关文章

随机推荐