| 摘要 | 第1-4页 |
| Abstract | 第4-8页 |
| 第1章 绪论 | 第8-11页 |
| ·课题背景 | 第8-9页 |
| ·研究内容 | 第9页 |
| ·本文的组织结构 | 第9-11页 |
| 第2章 Harmony总体架构介绍 | 第11-17页 |
| ·Harmony背景介绍 | 第11页 |
| ·设计目标 | 第11-12页 |
| ·总体架构介绍 | 第12-15页 |
| ·Harmony架构组件介绍 | 第12-15页 |
| ·Harmony的架构特点 | 第15页 |
| ·本章小节 | 第15-17页 |
| 第3章 Instrumentation的相关技术研究 | 第17-26页 |
| ·不同层次的Instrumentation | 第17-20页 |
| ·源代码层次的Instrumentation | 第17-18页 |
| ·预处理层次的Instrumentation | 第18页 |
| ·基于编译器的Instrumentation | 第18-19页 |
| ·目标代码层次的Instrumentation | 第19页 |
| ·字节码层次的Instrumentation | 第19页 |
| ·运行时层次的Instrumentation | 第19页 |
| ·虚拟机层次的Instrumentation | 第19-20页 |
| ·Bytecode Instrumentation的应用领域 | 第20-24页 |
| ·监测 | 第20-21页 |
| ·面向方面的编程 | 第21-24页 |
| ·Bytecode Instrumentation阶段 | 第24页 |
| ·静态Instrumentation | 第24页 |
| ·加载时的Instrumentation | 第24页 |
| ·动态Instrumentation | 第24页 |
| ·Bytecode Instrumentation现存问题 | 第24-25页 |
| ·本章小结 | 第25-26页 |
| 第4章 Instrument模块设计 | 第26-57页 |
| ·Instrument模块的描述 | 第26-31页 |
| ·使用说明 | 第26-28页 |
| ·使用场景 | 第28-31页 |
| ·Instrument模块的设计 | 第31-38页 |
| ·模块化设计方式 | 第31-32页 |
| ·两种设计方案比较 | 第32-33页 |
| ·框架设计 | 第33-36页 |
| ·运行流程 | 第36-38页 |
| ·关键技术 | 第38-51页 |
| ·Java Native Interface | 第38-41页 |
| ·JVM Tool Interface | 第41-48页 |
| ·本机代码与Portability Layer | 第48-51页 |
| ·Instrument模块提供的接口,类和具体方法 | 第51-56页 |
| ·接口ClassFileTransformer | 第52-53页 |
| ·接口Instrumentation | 第53-55页 |
| ·类ClassDefinition | 第55-56页 |
| ·类IllegalClassFormatException | 第56页 |
| ·类UnmodifiableClassException | 第56页 |
| ·本章小结 | 第56-57页 |
| 第5章 Instrument模块的实现 | 第57-66页 |
| ·定义Native接口 | 第57-58页 |
| ·修改Harmony的Launcher | 第58页 |
| ·使用VMI来沟通各个部分 | 第58-60页 |
| ·使用JVMTI实现功能 | 第60-61页 |
| ·实现的基本流程图 | 第61-65页 |
| ·VM读入用户的命令行输入 | 第63页 |
| ·Agent_OnLoad | 第63-65页 |
| ·VM初始化完成 | 第65页 |
| ·对目标类的改变 | 第65页 |
| ·本章小结 | 第65-66页 |
| 第6章 总结与展望 | 第66-67页 |
| ·总结 | 第66页 |
| ·展望 | 第66-67页 |
| 参考文献 | 第67-69页 |
| 致谢 | 第69页 |