
c
文章平均质量分 81
zzmfish
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
利用堆栈回溯、addr2line和Graphviz生成运行时函数调用图
现在的软件源代码动则千万行,初学者常常感到迷惘,如果能自动生成关键函数的调用关系图,则思路可以清晰许多。如下面这幅图展示了WebKit网页渲染的部分函数执行过程,比单纯地看代码直观多了。代码下载点这里,包括三个文件backtrace.h、backtrace.c和callgraph.py。1. 堆栈回溯比如要分析libwebcore.so里面的函数调用,首先要知道这个库文件在原创 2012-08-06 16:38:09 · 3699 阅读 · 2 评论 -
ELF动态库加载技术
库用于将相似函数打包在一个单元中。Linux支持两种类型的库:静态库(在编译时静态绑定到程序)和动态库(在运行时绑定到程序)。Linux系统使用的动态库是ELF格式,后缀名为so。1 加载动态库内部划分为段,段分为不同的类型: PT_LOAD段:包含代码或数据,是需要被映射到内存中的,每个段有不同的访问权限(读、些、执行);PT_DYNAMIC段:包含动态链接信息,如符原创 2012-12-31 12:14:36 · 2146 阅读 · 0 评论