[英]addr2line on kernel address cannot find source line
我正在構建啟用了調試符號的自定義linux內核(4.15.0 x86_64)。 我發現addr2line無法指向源代碼行。
addr2line -e vmlinux 0xffffffff9be625f0
gdb還使用以下命令返回“沒有可用於地址的行號信息”
$ gdb ../linux/vmlinux / proc / kcore
...從../ linux / vmlinux ...完成讀取符號。
$信息行* 0xffffffff9be625f0
如何從地址獲取行號? 這是.config文件。
首先-嘗試從/ proc / kallsyms中找出此地址屬於哪個過程。 然后從該過程的開頭計算該地址的偏移量。 然后:
objdump -D -S -l ./vmlinux | less
找到您的過程名稱,然后移至偏移量。 當然,您的內核vmlinux應該使用調試符號進行編譯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.