1. 程式人生 > >讀書筆記---arm-linux-objdump命令解析

讀書筆記---arm-linux-objdump命令解析

arm-linux-objdump命令用於顯示二進位制檔案的資訊,也可以用來檢視反彙編程式碼,使用格式如下:
arm-linux-objdump [-a] [-b bfdname | –target=bfdname]
[-C] [–debugging]
[-d] [-D]
[-disassemble-zeros]
[-EB | -EL | –endian={big|little}] [-f]
[-h] [-i | –info]
[-j section | –section=section]
[-l] [-m machine ] [–prefix-addresses]
[-r] [-R]
[-s | –full-contents] [-S|–source]
[–[no-]show-raw-insn] [–stabs] [-t]
[-T] [-x]
[–start-address=address] [–stop-address=address]
[–adjust-vma=offset] [–version] [–help]
objfile…
選項引數比較多,一些很少用到的引數就直接忽略好了,因為基本用不到,如果碰見了,可以去檢視原始碼資訊,以下是一些常用的選項解釋:
1. -b bfdname 或–target=bfdname
指定目標碼的格式,但是這個不是必須的,arm-linux-objdump能夠自動識別許多格式。可以使用“arm-linux-objdump -i”命令檢視支援的目標碼格式列表。
2. –disassemble 或 -d
反彙編可執行段(executable sections)。
3. –disassemble-all 或 -D
與”-d”類似,反彙編所有段。
4. -EB或-EL或–endian={big|little}
指定位元組序。
5. –file-headers或-f
顯示檔案的整體頭部摘要資訊。
6. –section-headers、–headers或-h
顯示目標檔案各個段的頭部摘要資訊。
7. –info或-i
顯示支援的目標檔案格式和CPU架構,它們在“-b”、“-m”選項中用到。
8. –section=name 或 -j name
僅顯示指定section的資訊。
9. –architecture=machine 或-m machine
指定反彙編目標檔案時使用的架構,當待反彙編檔案本身沒有描述架構資訊的時候(比如S-records),這個選項很有用。可以用“-i”選項列出這裡能夠指定的架構。
在除錯程式時,常用arm-linux-objdump命令來得到彙編程式碼。

eg1: $arm-linux-objdump -D elf_file > dis_file

eg2: $arm-linux-objdump -D -b binary -m arm bin_file>dis_file

相關推薦

讀書筆記---arm-linux-objdump命令解析

arm-linux-objdump命令用於顯示二進位制檔案的資訊,也可以用來檢視反彙編程式碼,使用格式如下: arm-linux-objdump [-a] [-b bfdname | –target=bfdname]

arm-linux-objdump

lin info binary 字節序 cpu架構 elf fdn gpe ble 為了查找方便,從一路前行搬過來 一.arm-linux-objdump常用來顯示二進制文件信息,常用來查看反匯編代碼二.常用選項:1.-b bfdname 指定目標碼格式2.—disasse

Linux-基礎篇筆記Linux常用命令(一)

file 格式 列出文件 gid 常用命令 以及 修改 容量 大文件 Linux的常用命令 文件處理命令 ◆顯示目錄或文件◆ 命令語法:[ls 選項 文件或目錄] -a #顯示所有文件,包括隱藏文件,連同

Linux常用命令解析(圖解ls)

Linux常用命令解析(圖解ls) (作者:Baron_wu) ls :顯示當前目錄下的檔案 Ls -a:顯示當前目錄下的所有檔案(包括隱藏檔案) Ls -l:以單獨一列顯示內容列表(列出許可權,所有者及其他資訊) Ls -ls:按檔案大小排序檔案內容 Ls -lar:以相反

objdump命令解析

objdump objdump命令是Linux下的反彙編目標檔案或者可執行檔案的命令,它以一種可閱讀的格式讓你更多地瞭解二進位制檔案可能帶有的附加資訊。   引數選項: --archive-headers -a 顯示檔案庫的成員資訊,類似ls -l將lib*.a

Linux shell命令解析器(二),命令

環境: Ubuntu14-4   核心 4.4.0-135 vim編輯器 7.4  gcc  4.8.4  1.1 知識點 Shell 的基本概念 檔案相關函式,記憶體相關函式 &nb

gdb和arm-linux-gdb命令詳解

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

讀書筆記LINUX核心完全剖析:基於0.12核心

讀書筆記:LINUX核心完全剖析   IBM PC及其相容機主要使用 獨立編址方式,採用獨立的I/O地址空間對控制裝置中的暫存器進行定址和訪問,IBM PC也部分地使用統一編址。對於使用EISA、PCI等匯流排結構的PC,有64KB的I/O地址空間可供使用。在普通Li

Linux——awk命令解析

awk簡介 awk其名稱得自於它的創始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首個字母。實際上 AWK 的確擁有自己的語言: AWK 程式設計語言 , 三位建立者已將它正式定義為“樣式掃描和處理語言”。它允許您建立簡短的程式,這些程式讀取輸入檔

一、Linux學習筆記Linux 常見命令

文字內容來自部落格園linux常見命令,圖片為實操截圖 Linux 命令語法 命令格式: 命令 【-選項】【引數】   例子:   ls -la /etc   說明: ①、個別命令使用不遵循此格式 ②、當有多個選項時,可以寫在一起 ③、簡化選項(一般用一個-

linux學習筆記linux常用命令(一)

Linux常用命令 檔案處理命令 許可權管理命令 檔案搜尋命令 幫助命令 使用者管理命令 壓縮解壓命令 網路命令 關機重啟命令 檔案處理命令 命令格式 命令 【-選項】【引數】 ls -la

一、學習筆記Linux常用命令

目錄 Linux檔案系統結構 基本命令 Linux檔案系統結構 檔案系統層次結構標準FHS / bin :bin是二進位制(binary)英文縮寫; / boot :存放的都是系統啟動時要用到的程式

linux ping 命令解析

不管在windows平臺,還是在linux平臺,ping都是非常常用的網路命令;ping命令通過ICMP(Internet控制訊息協議)工作;ping可以用來測試本機與目標主機是否聯通、聯通速度如何、穩定性如何。  一 、ping 用法   ping命令執行在命令提示符終端,用法為:“ping 引數 目標

Linux shell命令解析器(一),bash終端

環境: Ubuntu14-4   核心 4.4.0-135 vim編輯器 7.4  gcc  4.8.4  1.1 知識點 Shell 的基本概念 程序控制相關的系統呼叫的使用(如 fork,exec函式族) 整理框架: 1.命令直譯器首先是一個死迴圈。 2.

讀書筆記Linux核心完全剖析:基於0.12核心》——第三章 核心程式語言和環境

3.1 as86彙編器 linux 0.1x系統中使用了兩種彙編器(Assembler)。一種是能產生16位程式碼的as86彙編器,配套ld86連結器;另一種是GNU的彙編器gas(as),使用GNU ld連結器。 編譯器和連結器的原始碼可以從FTP伺服器ftp

Linux工作筆記034---linux tail命令詳解_linux在vi中查詢字串

使用vi編輯器編輯長檔案時,常常是頭昏眼花,也找不到需要更改的內容。 這時,使用查詢功能尤為重要。 方法如下: 1、命令模式下輸入“/字串”,例如“/Section 3”。 2、如果查詢下一個,按“n”即可。 要自當前游標位置向上搜尋,請使用以下命令: /pa

解決“執行arm-linux-gcc命令,提示No such file or directory”的問題

今天在ubuntu14.04上安裝arm的交叉編譯器arm-linux-gcc,環境變數配置好以後,執行arm-linux-gcc命令,總提示No such file or directory。然後去arm-linux-gcc所在的目錄下,發現不缺少任何檔案。而且環境變數配

arm-eabi-objdump命令檢視lib庫或可執行檔案的函式-地址對映資訊

source build/envsetup.shchoosecombo arm-eabi-objdump -d out/target/product/generic/system/bin/mediaserver >mediaserver.addr 將mediaser

arm-linux-ld命令 ld連結指令碼(不錯,推薦可以學習一些lds連結指令碼檔案)

OUTPUT_FORMAT("elf32­littlearm", "elf32­littlearm", "elf32­littlearm") ;指定輸出可執行檔案是elf格式,32位ARM指令,小端 OUTPUT_ARCH(arm) ;指定輸出可執行檔案的平臺為

ARM Linux核心驅動異常定位除錯--反彙編arm-linux-objdump

最近在搞Atmel 的SAM9x25平臺,Linux系統,用於工業裝置。這也是我首次參與工業裝置的研發。在除錯Atmel SAM9x25的Linux串列埠裝置的時候,發現無論是讀還是寫,都會產生異常。相關的異常資訊如下: ===========================================