ELF以及debug

Posted zhou09

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ELF以及debug相关的知识,希望对你有一定的参考价值。

常用指令:

1、ldd -v  显示依赖库信息

  共享库配置信息/etc/ld.so.confldconfig刷新系统的共享库缓存

2、nm  输出符号表信息

  字符代表意义:R 指read-only  D指data段  T指text段  S代表bss段

  -A 显示来自文件

  -n 按地址排序

3、objdump -d 反汇编

          -a 相当于ar

          -j .text -S a.out  查看text,并以源代码显示

 详细介绍http://man.linuxde.net/objdump

4、gprof  查看函数调用次数,消耗

5、addr2line  函数地址转换函数名

6、readelf -h elf文件头

        -S section头

        

理论:

1、elf三种文件

* 一个可重定位(relocatable)文件保存着代码和适当的数据,用来和其他的
  object文件一起来创建一个可执行文件或者是一个共享文件。
* 一个可执行(executable)文件保存着一个用来执行的程序;该文件指出了
  exec(BA_OS)如何来创建程序进程映象。
* 一个共享object文件保存着代码和合适的数据,用来被下面的两个链接器
  链接。

 

以上是关于ELF以及debug的主要内容,如果未能解决你的问题,请参考以下文章

ELF格式解读 Dynamic节

查看ELF信息

查看ELF信息

查看ELF信息

南京大学计算机基础 ELF和可执行文件格式

ELF 文件