簡體   English   中英

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

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM