代码测试、调试与优化小结
来源:互联网 发布:javascript 资源 网盘 编辑:程序博客网 时间:2024/05/01 21:24
1.2 函数调用关系图 calltree
calltree可以非常简单方便地反应一个项目的函数调用关系图,虽然诸如gprof这样的工具也能做到,不过如果仅仅要得到函数调用图,calltree应该是更好的选择。如果要产生图形化的输出可以使用它的-dot参数也可以参考资料[12]。从这里可以下载到它,ftp://ftp.berlios.de/pub/calltree/calltree-2.3.tar.bz2
关于calltree的实现原理,可以参考资料[13],关于它的详细用法请参考资料[14]或者它的-h参数获取帮助。
这里是一份演示结果,
$ calltree -b -np -m *.c
main:
| close
| commitchanges
| | err
| | | fprintf
| | ferr
| | ftruncate
| | lseek
| | write
| ferr
| getmemorysize
| modifyheaders
| open
| printf
| readelfheader
| | err
| | | fprintf
| | ferr
...
这样一份结果对于“反向工程”应该会很有帮助,它能够呈现一个程序的大体结构,对于阅读和分析源代码来说是一个非常好的选择。虽然cscope和ctags 也能够提供一个函数调用的“即时”(在编辑vim的过程中进行调用)视图(view),但是calltree却给了我们一个宏观的视图。
不过这样一个视图只涉及到用户空间的函数,如果想进一步给出内核空间的宏观视图,那么strace和KFT就可以发挥它们的作用。关于这两个工具请参考条目[11]列出的相关资料。另外,该视图也没有给出库中的函数,如果要跟踪呢?需要ltrace工具。
- 代码测试、调试与优化的小结
- 代码测试、调试与优化小结
- 代码测试、调试与优化小结
- 代码测试、调试与优化的小结
- 代码测试、调试与优化小结
- 代码测试、调试与优化小结
- 代码测试、调试与优化小结
- [授权发表]代码测试、调试与优化小结
- 代码调试与优化
- 代码测试、调试、优化相关知识
- winsock 代码调试小结
- 调试lua代码小结
- 调试优化代码方法
- 代码测试,调试介绍
- 代码测试之代码调试
- 代码测试之代码调试
- 代码测试之代码调试
- 代码测试之代码调试
- C++实现二叉搜索树和AVL树
- Struts面试题
- 前端构建工具gulpjs的使用介绍及技巧
- 黑马程序员---多线程小结
- 初始化GDI+库进行图形图像处理
- 代码测试、调试与优化小结
- LeetCode---Sum Root to Leaf Numbers
- 【日常学习】【状压BFS】codevs2594 解药还是毒药题解
- android使用MD5算法加密密码
- USACO superbull(MST)
- ubuntu10.04安装GMP6.0.0
- 我的第一篇blog-测试功能
- java内存溢出示例(堆溢出、栈溢出)
- UIScrollview嵌套UITableview时,点击Statasubar不能滚动到顶部的问题