首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

objdump导出文件查看步骤

2013-03-19 
objdump导出文件查看方法本帖最后由 lgbxyz 于 2013-03-16 20:50:57 编辑※这是一个通过objdump命令导出的

objdump导出文件查看方法
本帖最后由 lgbxyz 于 2013-03-16 20:50:57 编辑 ※这是一个通过objdump命令导出的文件的一部分。

① 内容被分成3列,除了第三列是汇编外,前2列是什么有 ?
② 当程序执行到9fc04时产生了SIGABRT信号,有什么原因?
PS:__stack_chk_fail_local应该是linux系统的函数吧,程序中没有调用过,什么情况系统会自动调用该函数?
------------------------------------------------
0009fbf0 <__stack_chk_fail_local>:
__stack_chk_fail_local():
   9fbf0:55                   push   %ebp
   9fbf1:89 e5                mov    %esp,%ebp
   9fbf3:53                   push   %ebx
   9fbf4:e8 37 a0 f6 ff       call   9c30 <__i686.get_pc_thunk.bx>
   9fbf9:81 c3 fb 5c 00 00    add    $0x5cfb,%ebx
   9fbff:e8 40 9c f6 ff       call   9844 <__stack_chk_fail@plt>
   9fc04:90                   nop
   9fc05:90                   nop
   9fc06:90                   nop
   9fc07:90                   nop
   9fc08:90                   nop
------------------------------------------------ linux opjdump 汇编 c
[解决办法]

引用:
引用:第一列:内存地址
第二列:汇编对应的机器码
第三列:汇编

再请教一下:
①运行一个out文件,是先将这个out的内容load到内存中了吗?
(因为试过等程序启动后,删除out文件,程序还能正常运行) 

②>>>>>>第一列:内存地址
→是每条汇编语句对应一个内存地址吗?
那么该地址中对应的存储内容就是第二列的……

①这个应该是都被load进去了吧。。另一方面linux系统下的文件系统采用的引用计数的方式,打开一个文件后会+1,,rm一下会-1..只有当引用计数为0时,才真正删除了文件。。正在运行中的文件处于打开状态+1了,所以rm后虽然看不到了,但确实存在。当运行结束后-1,,才会真正删除。
比如用lsof恢复误删除的文件就是利用的此方法。http://tech.ccidnet.com/art/302/20071203/1294921_1.html

②对。

热点排行