簡體   English   中英

樹莓派3上的ftrace + addr2line

[英]ftrace + addr2line on raspberry pi 3

我想從ftrace在rapberry pi 3上輸出的函數地址中獲取內核函數的內核源代碼文件名和行號。

我在樹莓派3上嘗試了addr2line -e /boot/kernel8.img [function address] 。但是它返回了addr2line: /boot/kernel8.img: File format not recognized

注意:

kernel8.img是我編譯的自定義內核。 我從https://github.com/raspberrypi/linux.git克隆了內核源代碼,檢出到rpi-4.18.y ,打開了CONFIG_DEBUG_INFO ,然后運行make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4 此編譯工作是在ubuntu x86_64 linux內核4.15.0-23-generic上執行的。 kernel8.img的類型如下。

$ file kernel8.img
kernel8.img: MS-DOS executable

謝謝

您需要針對vmlinux文件(即未壓縮/原始內核二進制文件)運行addr2line /boot/kernel8.img很可能是zImage (即壓縮內核)。 編譯后,您可以在內核源代碼的根目錄中找到vmlinux文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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