为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

桃花长相依 2021-04-05 12:13:37
我正在构建启用了调试符号的自定义linux内核(4.15.0 x86_64)。我发现addr2line无法指向源代码行。addr2line -e vmlinux 0xffffffff9be625f0gdb还使用以下命令返回“没有可用于地址的行号信息”$ gdb ../linux/vmlinux / proc / kcore...从../ linux / vmlinux ...完成读取符号。$信息行* 0xffffffff9be625f0从地址获取行号应该怎么做?这是.config文件。
查看完整描述

1 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

首先-尝试从/ proc / kallsyms中找出此地址属于哪个过程。然后从该过程的开头计算该地址的偏移量。然后:

objdump -D -S -l ./vmlinux | less

找到您的过程名称,然后移至偏移量。当然,您的内核vmlinux应该使用调试符号进行编译。


查看完整回答
反对 回复 2021-04-16
  • 1 回答
  • 0 关注
  • 919 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信