llvm-objdump命令详解

概要

llvm-objdump [ commands ] [ options ] [ filenames … ]

描述

llvm-objdump命令会在命令行输出目标文件中的内容和最终链接视图。如果未指定文件名,则llvm-objdump将尝试从读取a.out,如果-用作文件名,llvm-objdump将在其标准输入流上处理文件。

COMMANDS

至少需要以下命令之一,并且某些命令可以与其他命令组合使用:

命令 说明
-d, -disassemble 显示机器指令的汇编程序助记符。反汇编输入文件中的所有代码段。
-D, –disassemble-all 显示机器指令的汇编程序助记符。反汇编输入文件中的所有段。
-help 显示使用信息并退出,不可与其他命令同时使用
-r 显示文件中的重定位信息
-s 显示文件中每个段的内容
-seciton-headers 显示文件中每个段的头信息
-t 显示文件中的符号表
-version 显示本程序的版本信息, 不可与其他命令同时使用

选项

llvm-objdump命令支持一下选项

选项 说明
-arch=<architecture> 指定体系架构给反汇编器,使用-version命令查看可用的体系架构
-cfg 为目标文件中的每个符号创建一个CFG,并将其写入graphviz文件(仅限Mach-O)。
-dsym=<string> 使用.dSYM文件获取调试信息。
-g 如果可用,从调试信息中打印行信息。
-m, -macho 使用Mach-O特定的目标文件解析器。使用-macho时,命令和其他选项的行为可能会有所不同。
-mattr=<a1,+a2,-a3,…> 定位特定属性。
-mc-x86-disable-arith-relaxation 禁用X86的算术指令放宽
-stats 启用程序的统计输出
-triple=<string> 目标三重拆解,使用-version命令查看可用目标。
-x86-asm-syntax=<style> 与-disassemble选项一起使用时,选择要从X86后端发出的代码样式。支持的值是:att(AT&T式语法)/intel(英特尔式语法),默认值是att

ALSO SEE

llvm-nm