原文:nm和readelf命令的區別

其實問題的本質是對elf格式的理解問題,因為是查看so庫的符號表發現的問題。 事情起因是這樣的,由於我的一個程序編譯的時候出現了undefined reference to XXX 的錯誤,需要鏈接特定的so庫,發現用nm file 找不到 XXX 函數符號,結果用readelf s file 就找到了。其實問題是我對so理解的不深刻。 一般來說,對於一個so庫有兩個符號表,一個是 正常的 在.s ...

2014-11-17 10:42 0 5852 推薦指數:

查看詳情

Linux下二進制可執行文件分析 (nm,readelf,objdump 命令使用)

最近在調試一些問題,發現幾個命令很實用,記錄一下。 一 背景 也許大家都遇到過這種場景,就是有二進制代碼,比如深度分析下此文件到底是什么格式的圖片等,這篇文章就記錄我分析下二進制可執行文件的過程,已經自己讀寫二進制文件的一些坑。分析的二進制執行文件為linux下的可執行文件 ...

Fri Feb 11 06:13:00 CST 2022 0 2719
objdump & nm & addr2line&readelf

GCC把C語言源文件('.c')編譯成匯編語言文件('.s'),匯編器把匯編語言文件翻譯成目標文件('.o'),最后由鏈接器鏈接所有的目標文件和有關的庫生成可執行文件('a.out')。 如打 ...

Mon Jun 15 22:35:00 CST 2020 0 658
nm命令詳解

前言 nm是name的縮寫,它顯示指定文件中的符號信息,文件可以是對象文件、可執行文件或對象文件庫。如果文件中沒有包含符號信息,nm報告該情況,單不把他解釋為出錯。nm缺省情況下報告十進制符號表示法下的數字值。 選項 -a/--debug-syms:顯示所有符號,包括 ...

Thu Dec 12 07:20:00 CST 2019 0 638
nm命令詳解

nm在linux中列出目標文件的符號清單,常用來查看動態鏈接庫中的函數 nm支持的選項如下 -a 按照man手冊,僅列出調試信息,實際上卻是調試信息+正常信息 -A 增加一列顯示目標文件,沒有實際意義 -C 將低級符號信息編碼成便於查看的用戶信息 ...

Wed Aug 20 17:59:00 CST 2014 0 4403
linux中的nm命令簡介

轉:http://blog.csdn.net/stpeace/article/details/47089585 一般來說, 搞linux開發的人, 才會用到nm命令, 非開發的人, 應該用不到。 雖然nm很簡單, 但是還是有必要寫幾句, 聊表心意。 nm不是ni ma ...

Thu Nov 10 03:03:00 CST 2016 0 25545
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM