【发布时间】:2018-10-18 22:24:19
【问题描述】:
我正在构建一个启用了调试符号的自定义 linux 内核 (4.15.0 x86_64)。我发现 addr2line 无法指向源代码行。
addr2line -e vmlinux 0xffffffff9be625f0
gdb 还使用以下命令返回“地址没有可用的行号信息”
$ gdb ../linux/vmlinux /proc/kcore
...从../linux/vmlinux...读取符号...完成。
$ 信息行 *0xffffffff9be625f0
应该怎么做才能从地址中获取行号?这是.config 文件。
【问题讨论】:
-
你确定地址在vmlinux镜像里面吗?如果它来自某个内核模块怎么办? (plus.google.com/+TheodoreTso/posts/h8H9z4EopkSstackoverflow.com/questions/6151538/addr2line-on-kernel-module/…)
-
@osgx,这是一个内核符号的地址,而不是来自内核模块。从 /proc/kallsym 得到它。
标签: linux linux-kernel gdb addr2line