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