SunBo

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2010年8月25日

摘要: 关注的角度不同,因此如何利用objdump就要看你的抉择了!因为计算机大都是采用哈佛结构,数据和指令分开存储的的程序组织形式,因此当我门编译,汇编,连接,(符号解吸,段的重定位)。而为了能让程序更好的被执行,最终生成的目标文件包含了足够多了信息生怕自己被歧视而不被执行。所以面对2进制的目标文件来说,我门是很难发现或者看到什么有用的信息,因此objdump这个工具的实际意义是多么的令人喜爱,只有当你要探索一个目标文件的组织形式的时候就能体会了更多的细节建议看看《深入理解计算机》这本书的第二部分第七章节,虽然作者的逻辑思维与本人有异,有可能你会喜欢哦。---------------objdump是 阅读全文
posted @ 2010-08-25 12:06 SunBo 阅读(535) 评论(0) 推荐(1) 编辑

摘要: GNU binutils是一组二进制工具集。包括:addr2line ar gprof nm objcopy objdump ranlib size strings strip. 本文归纳他们的常用法。 ar ar用于建立、修改、提取档案文件(archive)。archive是一个包含多个被包含文件的单一文件(也称之为库文件),其结构保证了可以从中检索并得到原始的被包含文件(称之为archive中的member)。member的原始文件内容、模式(权限)、时间戳、所有着和组等属性都被保存在 archive中。member被提取后,他们的属性被恢复到初始状态。 ar主要用于创建C库文件(关于.. 阅读全文
posted @ 2010-08-25 10:50 SunBo 阅读(292) 评论(0) 推荐(0) 编辑

摘要: 1.概念1). 什么是core dumpcore dump即是内存dump(现在通常是写在一个叫core的file 里面),core也许来自远古时候,那时候人们使用线圈制作内存,而线圈就叫做core。2). 什么是map文件MAP 文件是程序的全局符号、源文件和代码行号信息的唯一的文本表示方法,是整个程序工程信息的静态文本,通常由linker生成。注:map文件在各种编译器中都可以使用,不限于gcc.2.使用1). core dump如果用的是bash的话, 在/etc/profile里加上(或者修改)一条: ulimit -c 0则禁止core dump.使用core dump -c 尺寸 阅读全文
posted @ 2010-08-25 08:56 SunBo 阅读(6118) 评论(0) 推荐(0) 编辑

摘要: GNU 二进制实用程序Binutils (GNU binary utilities)包括:objdump、readelf、addr2line、strip、ar、nm、ldd、ngprof、gcov等。一。 objdump - 显示二进制文件信息objdump可以根据目标文件来生成可读性比较好的汇编文件。常用的命令如下:gcc -g3 test.c -o test.o objdump -Slz test.o objdump命令介绍,可以通过man objdump在linux环境下获取到。 [-a] [-b bfdname | --target=bfdname] [-C] [--debuggi.. 阅读全文
posted @ 2010-08-25 04:11 SunBo 阅读(939) 评论(0) 推荐(0) 编辑

摘要: 当我们的程序中有经常使用的模块,而且这种模块在其他程序中也会用到,这时按照软件重用的思想,我们应该将它们生成库,使得以后编程可以减少开发代码量。这里介绍两个命令ar和nm,用来对库操作。 1.ar基本用法 2.nm基本用法命令当我们的程序中有经常使用的模块,而且这种模块在其他程序中也会用到,这时按照软件重用的思想,我们应该将它们生成库,使得以后编程可以减少开发代码量。这里介绍两个命令ar和nm,用来对库操作。 1.ar基本用法ar命令可以用来创建、修改库,也可以从库中提出单个模块。库是一单独的文件,里面包含了按照特定的结构组织起来的其它的一些文件(称做此库文件的member)。原始文件的内容、 阅读全文
posted @ 2010-08-25 03:34 SunBo 阅读(421) 评论(0) 推荐(0) 编辑