linux lx-symbols:Python异常无法访问模块中地址处的内存

93ze6v8z  于 2023-03-07  发布在  Linux
关注(0)|答案(1)|浏览(197)

我正在调试内核中的一个模块。
当我使用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

dgiusagp

dgiusagp1#

我也遇到了同样的问题。我不得不添加内核 Boot 参数nokaslr。重新启动后,一切正常。

相关问题