objdump -a vmlinux    //列举.a文件中所有的目标文件。
objdump -g vmlinux    //显示调试信息。
objdump -t vmlinux    //输出目标文件的符号表()
objdump -T vmlinux    //显示动态链接符号表
objdump -h vmlinux    //输出目标文件的所有段概括()
objdump -f vmlinux    //显示目标文件文件头
objdump -I vmlinux    //显示行号信息
objdump -p vmlinux    //显示专有头部信息,具体内容取决于文件格式。
objdump -r vmlinux    //显示文件的重定位入口
objdump -R vmlinux    //显示动态链接重定位信息。
objdump -s vmlinux    //将所有段的内容以十六进制的方式打印出来
objdump -S vmlinux    //显示源代码和反汇编代码(包含-d 参数)
objdump -d vmlinux    //对包含机器指令的段进行反汇编
objdump -D vmlinux    //-D 与 -d 类似,但对所有段进行反汇编
objdump -x vmlinux    // 显示所有可用的头信息,包括符号表、重定位入口。-x 等价于// -a -f -h -r -t 同时指定。
1. 在编译时必须使用-g选项,-g意为debug,一般可以修改源代码的 Makefile来实现 如:
CC =$(CROSSCOM_PILE)gcc 为
CC =$(CROSSCOM_PILE)gcc -g
使成生的vmlinux中含有debug信息
2. 所有生成 .o 的 rule 中再加一条 /*其他参数除了-c外抄生成.o文件用的参数*/
CC -E -dD -C $< > /preprocessing/$(shell pwd)/$<
生成预处理文件从这个文件里面能很容易找到 c 源文件的宏定义
3. objdump -h vmlinux > vmlinux.dump
显示 linux 内核段信息,如段的开始虚拟地址,段的长度
4. objdump -S -l -z vmlinux > vmlinux.dump
反汇编 vmlinux 到vmlinux.txt, vmlinux.dump 含有汇编和 c 源文件的混合代码,看起来很方
便。而且能一步步看linux怎么一步步运行的。
5. objdump -S -l -z -j xxxx(section name) vmlinux > vmlinux.dump
反汇编 linux 内核段 xxxx 到文件 vmlinux.dump 中。
6. objdump -x vmlinux > x.dump
vmliux中所有段的头信息,其中包口vmlinux的入口地址等
7. objdump --debugging vmlinux > debugging.dump
很多有用的debug信息,如函数名,结构体定义等

objdump使用方法相关推荐

  1. 如何查看.o和.exe文件

    对于c语言编译生成的.o文件的查看,直接在linux下是可以通过命令去查看的. 关于查看.o与.exe文件的例子: 首先编写一个1.c文件 clude<math.h> int main() ...

  2. 在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 11g 集群

    作者:Jeffrey Hunter 了解如何以低于 2,700 美元的费用在 Oracle Enterprise Linux 上安装并配置 Oracle RAC 11g 第 2 版开发集群. 本指南中 ...

  3. Java面试题大全2021版

    一.Java 基础 JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境. JRE:Java Run ...

  4. java 抽象方法 虚方法的区别_声明抽象类(纯虚方法)会大幅增加二进制大小

    以下是故事:我正在使用AC6 Toolpack为Linux中的ARM Cortex-M0处理器开发C软件 . 在我使用Keil(在windows中)(拥有自己的工具链)之前,我已经迁移到GNU-too ...

  5. objdump与readelf

    objdump和readelf都可以用来查看二进制文件的一些内部信息. 区别在于objdump 借助BFD而更加通用一些, 可以应付不同文件格式, readelf则并不借助BFD, 而是直接读取ELF ...

  6. 通过gdb core dump方法查看程序异常时的堆栈信息

    在Linux下可通过core文件来获取当程序异常退出(如异常信号SIGSEGV, SIGABRT等)时的堆栈信息.core dump叫做核心转储,当程序运行过程中发生异常的那一刻的一个内存快照,操作系 ...

  7. Linux环境下段错误的产生原因及调试方法小结

    From:http://www.cnblogs.com/panfeng412/archive/2011/11/06/2237857.html 最近在Linux环境下做C语言项目,由于是在一个原有项目基 ...

  8. windows搭建gcc开发环境(msys2) objdump

    前言 可能你并不太了解msys2,但是作为一个程序员,你一定知道mingw,而msys2就集成了mingw,同时msys2还有一些其他的特性,例如包管理器等. msys2可以在windows下搭建一个 ...

  9. 几种Linux段错误调试方法

    一.产生段错误的原因 段错误就是指某一进程访问了不属于它权限范围的内存空间,比如:访问了不存在的内存,访问了受系统保护的内存,访问了只读的内存等.下面是一段会产生段错误的实例代码:main.c #in ...

最新文章

  1. Laravel学习笔记(二)
  2. 倒出mysql库命令行_mysql命令行导入导出数据库
  3. 统信发布UOS V20 进军个人市场 生态日益完善
  4. 解决Tomcat8及Tomcat7下http的post、get请求中参数中文乱码问题
  5. python语言语块句的标记_《自然语言处理理论与实战》
  6. 文件分片_怎样屏蔽QQ和微信外发文件,同时允许发送截图
  7. 自动挡轿车等红灯时,是挂D挡踩刹车好还是挂N挡好呢?
  8. WebSocket使用教程 - 带完整实例--网址:https://my.oschina.net/u/1266171/blog/357488
  9. 不要错过!第十一届CDA考试Level Ⅰ优秀考生采访
  10. win10系统CAJViewer 绿色提示缺少由于找不到 MSVCR71.dll
  11. silvaco的石墨烯fet仿真_高灵敏度表面等离子体光纤传感器仿真设计(二)
  12. 【WPS】折线图数据点上添加标记(三角形、正方形、菱形等)
  13. RK3229 android9.0 按刷机按键进入loader
  14. 年收入30万的家庭如何买保险最划算?
  15. 怎样成为精力管理的高手-听书有感
  16. 福建师范大学 “挑战杯”校赛金银奖分析文档
  17. 区块链随想录——BitCoin的未来会如何?
  18. Excel中如何获取汉字拼音首字母
  19. mysql字符集和校对规则
  20. STC单片机蓝牙无线下载-烧写程序ISP(STC8 STC15 STC12 STC11 STC89)

热门文章

  1. GLM:ChatGLM的基座模型
  2. 是不是网站服务器限速最高11,限制网速多少合适(100m访客限速多少kb合适)
  3. 杰信项目第三天知识点(工作表模板+动态生成目录+动态生成重名文件+购销合同增删改查)
  4. php解密方法,六种php加密解密方法实例讲解
  5. Office 2010注册机
  6. 单片机原理及应用——Arduino四驱四路循迹小车
  7. 佛罗里达州一银行发生枪击案 造成至少5人死亡
  8. 2000_narrowband to wideband conversion of speech using GMM based transformation
  9. 李兴华java8教程_李兴华Java培训系列详解20套视频教程下载
  10. 李兴华java教学视频,李兴华Java核心经典视频教程(3G完整版)