linux下找出核心符號資訊的4種方法
在核心除錯中由一個符號的地址找到對應的符號名稱非常有助於我們對核心的除錯。下面將介紹4種方式來獲得核心符號資訊的4種方法。
1.從 System.map 檔案中得到地址
System.map檔案在編譯核心時生成,包含了核心在編譯時的靜態符號資訊。
grep do_fork /boot/System.map-4.15.0-128-generic
1
就可以通過do_fork函式名來獲得函式的地址
在這裡插入圖片描述
grep ffffffff810905b0 /boot/System.map-4.15.0-128-generic
1
就可以通過ffffffff810905b0地址來獲得該地址的函式名字
在這裡插入圖片描述
2.從 /proc/kallsyms 檔案中獲得地址
/proc/kallsyms檔案中包含了核心中的符號表。
cat /proc/kallsyms | grep do_fork
1
就可以通過do_fork函式名來獲得函式的地址
cat /proc/kallsyms | grep ffffffff810905b0
1
就可以通過ffffffff810905b0地址來獲得該地址的函式名字
3.使用 nm 命令從 vmlinux 讀取地址
vmlinux是核心編譯後產生的原始的檔案,包含除錯資訊。
nm vmlinux | grep do_fork
1
就可以通過do_fork函式名來獲得函式的地址
nm vmlinux | grep ffffffff810905b0
1
就可以通過ffffffff810905b0地址來獲得該地址的函式名字
4.通過核心提供的函式來獲得
kallsyms_lookup_name()
1
已知核心符號,獲取核心符號地址。
sprint_symbol()
1
已知核心符號地址, 獲取核心符號名。
相關文章
- Linux下找出吃記憶體的方法總結Linux記憶體
- Java中轉義HTML符號的四種方法JavaHTML符號
- 使用命令檢視Linux核心版本的三種方法Linux
- Linux 下的程式間通訊:套接字和訊號Linux
- Linux 搜尋檔案和資料夾的 4 種簡單方法Linux
- 在 Windows 中執行 Linux 命令的 4 種方法WindowsLinux
- Linux 中改變主機名的 4 種方法Linux
- 4 種繞過 Linux/Unix 命令別名的方法Linux
- emoji等表情符號存mysql的方法符號MySql
- linux下檢視mysql版本的四種方法LinuxMySql
- Linux中的特殊符號含義及作用!Linux符號
- linux常見特殊符號介紹Linux符號
- CentOS下檢視系統版本的4種方法CentOS
- 如何自動清除指定資料夾下的符號連結符號
- word中間的圓點符號怎麼打 word打出圓點的四種方法符號
- 【筆記】使用 PDB 符號檔案匯出 Windows 核心資料結構筆記符號Windows資料結構
- linux命令從log檔案中找出404 或者500的所有報錯資訊?Linux
- redhat linux核心資訊 warning:many lost ticksRedhatLinux
- 符號網路的網路表示學習方法符號
- Linux系統下檢視mysql版本的四種方法LinuxMySql
- Linux核心筆記009 - 中斷、異常、陷阱、Bottom half、訊號Linux筆記
- Linux檢視日誌檔案寫入速度的4種方法Linux
- linux 全盤搜尋 動態庫符號Linux符號
- Linux檔案許可權符號含義Linux符號
- Linux系統下建立檔案最常見的8種方法!Linux
- [C]有符號數和無符號數符號
- mac防止休眠的4種方法Mac
- Linux 中獲取檔案完整路徑的4種方法介紹Linux
- linux 訊號機制Linux
- package.json 中的版本號,符號 ~ 與 ^ 的區別及其他符號的含義PackageJSON符號
- 【iCore4 雙核心板_uC/OS-II】例程十:訊號量集
- CSS @ 符號CSS符號
- 電商資料分析必備的4種資料分析方法
- 符號(註釋符+轉義符+接續符)符號
- 學習筆記 - 知識圖譜的符號表示方法筆記符號
- Java獲取堆疊資訊的3種方法Java
- 快速上手Linux核心命令(七):Linux系統資訊相關命令Linux
- 在 Linux 下將 PNG 和 JPG 批次互轉的四種方法Linux