Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4067408
  • 博文数量: 251
  • 博客积分: 11197
  • 博客等级: 上将
  • 技术积分: 6862
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-05 14:41
个人简介

@HUST张友东 work@taobao zyd_com@126.com

文章分类

全部博文(251)

文章存档

2014年(10)

2013年(20)

2012年(22)

2011年(74)

2010年(98)

2009年(27)

分类: LINUX

2011-01-15 21:39:56

ldd查看应用程序链接了哪些动态库。

 

nm列出目标文件中包含的符号信息。

 

size列出各个段的大小及总的大小。

 

strings列出文件中的字符串。

 

readelf读取elf文件的完整结构。

 

objdump导出目标文件的相关信息(elf文件相关工具的源头)。

 

gdb对文件的执行过程进行调试分析,设置断点(b)、单步执行(n)、函数调用追踪(bt)、反汇编(disassemble)

 

strace跟踪程序中的系统调用及信号处理信息。

 

LD_DEBUG通过设置这个环境变量,可以方便的看到 loader 的加载过程(包括库的加载,符号解析等过程),使用【LD_DEBUG=help 可执行文件路径】可查看使用帮助。

 

LD_PRELOAD环境变量指定的共享库会被预先加载,如果出现重名的函数,预先加载的函数将会被调用,如在预先加载的库中包含自定义的puts函数,则在执行程序时将使用自定义版本的puts函数,而不是libc库中的puts函数。

 

proc文件系统中包含进程的地址空间映射关系,具体查看/proc/进程id/maps文件的内容。

 

valgrind工具对可执行程序文件进行内存检查(还有cache模拟、调用过程跟踪等功能),以避免内存泄露等问题。

 

addrline将可执行文件中的地址转换为其在源文件中对应的位置(文件名:行号)。


pmap查看进程占用的内存及使用地址空间映射。


阅读(4716) | 评论(2) | 转发(1) |
给主人留下些什么吧!~~

zyd_cu2011-01-20 21:55:38

GFree_Wind: 补充一个pmap.....
学习一下,谢了!

GFree_Wind2011-01-20 17:54:35

补充一个pmap