我正在调试内核中的一个模块。
当我使用lx-symbols
时,它显示error message
(gdb)lx-symbols
loading vmlinux
Traceback (most recent call last):
File "/home/hlleng/linux/imx6ull/100ask_imx6ull-qemu/linux-4.9.88/sc
ripts/gdb/linux/symbols.py",line 163,in invoke
self.load_all_symbols()
File "/home/hlleng/linux/imx6ull/100ask_imx6ull-qemu/linux-4.9.88/sc
ripts/gdb/linux/symbols.py",line 150,in load_all_symbols
[self.load module symbols(module)for module in module list]
File "/home/hlleng/linux/imx6ull/100ask_imx6ull-qemu/linux-4.9.88/sc
ripts/gdb/linux/symbols.py",line 110,in load_module_symbols
module_name module['name'].string()
gdb.MemoryError:Cannot access memory at address 0x7f00040c
Error occurred in Python:Cannot access memory at address 0x7f00040c
(gdb)c
Continuing.
[root@qemu_imx6ul:/mnt]# cat /proc/modules
hello_drv_cdev 2631 0 - Live 0x7f000000 (O)
似乎无法访问模块地址。
我已经添加了nokaslr
:
[root@qemu_imx6ul:/mnt]# cat /proc/cmdline
nokaslr console=ttymxc0,115200 rootfstype=ext4 root=/dev/mmcblk1 rw rootwait init=/sbin/init loglevel=8
此外,模块函数的断点(如"open")也不起作用:广发银行不会就此止步。
内核版本为4.9.88。
环境为Linux qemu_imx6ul。
我已经试过了
add-auto-load-safe-path vmlinux-gdb.py
并且它现在支持approx lx
。
1条答案
按热度按时间dgiusagp1#
我也遇到了同样的问题。我不得不添加内核 Boot 参数
nokaslr
。重新启动后,一切正常。