These are all GNU tools, very useful, I suggest that everyone can master it.
-----------------------------------
Name
Objdump - Display Information from Object Files.
Synopsis
Objdump [-a | --archive-headers] [-b bfDName | - Target = bfDName] [-c | --demangle] [--debugging] [-D | --disassemble] [-d | --disassemble -all] [--DISASSEMBLE-ZEROES] [-eb | -el | --endian = {BIG | Little}] [-f | --file-headers] [-H | --SECTION-HEADERS | - HEADERS ] [-I | - in]] [-j section | - sc = section] [-l | --line-number] [-m machine | --Architecture = machine] [--PREFIX-Addresses] [- R | --Reloc] [-r | - Dynamic-Reloc] [-S | --Full-Contents] [-S | - Source] [- [no-] show-raw-insn] [ Stabs] [-t | --syms] [-t | - Dynamic-Syms] [-x | --all-headers] [--Start-address = address] [--stop-address = address] [- -adjust-vma = offset] [--version] [--help] objfile ... DESCRIPTION objdump displays information about one or more object files. The options control what particular information to display. This information is mostly useful to programmers who are Working on the compiration tools, as opposed to Programmers Who Just Want Their Program To Compile and Work.
Objfile ... are the object files to be exampled .hen you specify archives,
Objdump Shows Information on Each of The Member Object FILES.
Options WHERE Long and Short Forms of An Option Are Shown TOGETHER, They Are Equivalent. At Least One Option Besides -l (--Line-Numbers) Must Be Given.
-A -Archive-Headers if any files from objfile is archives, Display The Archive Header Information (in A Format Similar to `ls -l '). Besides The Information You Could List with` ar TV', `Objdump -a ' shows the object file format of each archive member .-- adjust-vma = offset When dumping information, first add offset to all the section addresses. This is useful if the section addresses do not correspond to the symbol table, which can happen when putting Sections at Particular Addresses WHEN USING A FORMAT WHICH CAN NOT REPRESENT Section Addresses, Such as a.out.
-b bfDName - Target = bfDName Specify The Object-code Format for the Object Files to be bfdname; this may not be necessary; objdump can AutomaticLnize Many Formats. For Example,
Objdump -b oasys -m vax-h fu.o
display summary information from the section headers ( `-h ') of` fu.o', which is explicitly identified ( `-m ') as a Vax object file in the format produced by Oasys compilers. You can list the formats available with The `-i 'Option.
-C - Demangle Decode (Demangle) Low-Level Symbol Names Into User-Level Names. Besides Removing Any Initial Undeded by The System, This Makes C Function Names Readable.
--debugging Display debugging information. This attempts to parse debugging information stored in the file and print it out using a C like syntax. Only certain types of debugging information have been implemented.
-d - Disassemble Display The Assembler Mnemonics for the Machine Instructions from objfile. This Option Only Disassembles Those Sections Which Are Expected to Contain Instructions.
-D --disassemble-all Like -d, but disassemble the contents of all sections, not just those expected to contain instructions .-- prefix-addresses When disassembling, print the complete address on each line. This is the older disassembly format.
--Disassemble-zeroes Normally The Disasembly Output Will Skip Blocks of Zeroes. This Option Directs The Disassembler To Disassemble Those Blocks, Just Like Any Other Data.
-EB -EL --endian = {big | little}.. Specify the endianness of the object files This only affects disassembly This can be useful when disassembling a file format which does not describe endianness information, such as S-records.
-f --File-Headers Display Summary Information from the Overalll Header of Each File In Objfile.
-H --SECTION-HEADERS - HEADERS Display Summary Information from The section Headers of the Object File.
--help print a summary of the options to objdump and exit.
-i --Info Display a list showing all architectures and objects available for specification with -b or -m.
-j name --search = name display information only for section name.
-l --Line-Numbers label the display (useing debugging information) with the filename and source line number corresponding to the object code shown. Only Useful with -d, -d, or -r.
-m machine --architecture = machine Specify the architecture to use when disassembling object files. This can be useful when disassembling object files which do not describe architecture information, such as S-records. You can list the available architectures with the -i option .
-r --reloc print the relocation entries of the file. if used with -d or -d, The Relocations Are Printed INTERSPERSED with the disassembly.
-R --dynamic-reloc Print the dynamic relocation entries of the file. This is only meaningful for dynamic objects, such as certain types of shared libraries.-s --full-contents Display the full contents of any sections requested.
-S - Source Display Source Code Intermixed with Disassembly, if Possible. Implies -d.
--Show-Raw-Insn When Disassembling Instructions, Print The Instruction in Hex As Well AS in Symbolic Form. this is the default except when --prefix-addresss is used.
--NO-Show-Raw-Insn When Disassembling Instructions, Do Not Print The Instruction Bytes. this is the default when --prefix-addresss is used.
--stabs Display the contents of the .stab, .stab.index, and .stab.excl sections from an ELF file. This is only useful on systems (such as Solaris 2.0) in which .stab debugging symbol-table entries are carried In an Elf Section. in Most Other File Formats, Debugging Symbol-Table Entries Areaved with linkage symbols, and are visible in the --syms output.
--Start-address = address start displaming data at the specified address. this affects the output of the --d, -r and -s options.
--Stop-address = address stop displaying data at the specified address. this affects the output of the -d, -r and -s options.
-t --syms symbol table. Print The Symbol Table Entries of The File. This is Similar To The Information Provided by The `nm 'Program.
-T --dynamic-syms Dynamic Symbol Table. Print the dynamic symbol table entries of the file. This is only meaningful for dynamic objects, such as certain types of shared libraries. This is similar to the information provided by the `nm 'program When Given the -d (- Dynamic) Option.
--Version print the Version Number of Objdump and exit.
-Xall-headers Display All Available Header Information, Including The Symbol Table and Relocation Entries. Using `-x 'Is Equivalent to Specifying All of` -a -f -h -r -t'. ----- ---------------------------- AR usage: AR command can be used to create, modify the library, can remove a single module from the library .ar command format: {dmpqrtx} [abcfilnopssuvv] [MemberName] [count] Archive Files ... D: Delete the module from the library. M: Moving a member in a library. P: The member specified in the library is displayed to the standard output. Q: Quick addition. Add new modules to the end of the library. R: Insert the module in the library (or replace the existence of the same name module). T: The module table list of the library is displayed. X: Extract a member from the library.
A: Add a new file after the members already existing in the library. B: Add a new file in front of the members already existing in the library. C: Create a library. F: Truncate the designated name in the library. I: Add a new file (similar option B) in front of the members already existing in the library. L: Nothing is not used with the count parameter, specify the number of multiple identical file names when there are multiple identical file names in the library. O: When the member is extracted, the original data of the member is retained. P: Use full path name when performing file name matches. S: Write a target file index to the library, or update an existing target file index. S: Do not create a target file index. U: This option is only used for the R operation option, lists new files in the files in the library than the library. V: This option uses to display additional information for performing an action option. V: Display the version of Ar