内核地址上的addr2line找不到源行

我正在构建启用了调试符号的自定义linux内核(4.15.0 x86_64)。我发现addr2line无法指向源代码行。

addr2line -e vmlinux 0xffffffff9be625f0

gdb还使用以下命令返回“没有可用于地址的行号信息”

$ gdb ../linux/vmlinux / proc / kcore

...从../ linux / vmlinux ...完成读取符号。

$信息行* 0xffffffff9be625f0

从地址获取行号应该怎么做?这是.config文件。


桃花长相依
浏览 941回答 1
1回答

白板的微信

首先-尝试从/ proc / kallsyms中找出此地址属于哪个过程。然后从该过程的开头计算该地址的偏移量。然后:objdump -D -S -l ./vmlinux | less找到您的过程名称,然后移至偏移量。当然,您的内核vmlinux应该使用调试符号进行编译。
打开App,查看更多内容
随时随地看视频慕课网APP