源码分析
2017-02-23 本文已影响0人
寻找的脚步
前期工作
- 确定阅读目标,想要了解哪一方面的技巧或者实现原理。
- 了解程序的用途,所包含的功能,分析各个部分之间的关联以及可能涉及到的底层技术。
- 最好先学会使用此程序,比如编写测试代码等。
- 继续从宏观上分析代码结构,有多少进程,有多少动态库,有哪些界面代码,各部分的功能。
- 代码使用何种语言编写,用到了哪些第三方库或者框架。
- 了解源码存放的结构与功能的对应,各个模块工程之间的调用关系。
- 搭建一个可调试跟踪的环境。
中期工作
- 可通读code,区别核心与辅助部分
- 了解各个模块的接口
- 优先核心代码,跟踪调试,了解执行路径。
- 分析涉及到的数据结构
- 分析涉及到的算法
- 分析程序运行时的内存分配
- 拆解,对关心的子功能单独跟踪
后期工作
- 完成代码注释
- 关键技术或技巧总结
- 书写技术说明文档