基于Web的C语言源码级及汇编级调试器
摘要 | 第5-6页 |
ABSTRACT | 第6页 |
第一章 绪论 | 第10-13页 |
1.1 课题研究背景 | 第10-11页 |
1.2 国内外研究现状 | 第11页 |
1.3 课题主要研究内容 | 第11-12页 |
1.4 本文的内容结构 | 第12-13页 |
第二章 相关开发技术介绍 | 第13-19页 |
2.1 AJAX技术 | 第13-14页 |
2.2 JSON概述 | 第14-15页 |
2.3 Servlet概述 | 第15-16页 |
2.3.1 Servlet容器 | 第15-16页 |
2.3.2 Servlet体系结构 | 第16页 |
2.4 调试器技术 | 第16-18页 |
2.4.1 调试器基本原理 | 第16-18页 |
2.4.2 调试器相关库 | 第18页 |
2.5 本章小结 | 第18-19页 |
第三章 系统总体设计 | 第19-26页 |
3.1 需求分析 | 第19页 |
3.2 系统功能设计 | 第19-21页 |
3.3 系统整体结构设计 | 第21-24页 |
3.3.1 基于Web的交互式调试器 | 第21-22页 |
3.3.2 Web调试服务器 | 第22-23页 |
3.3.3 调试器代理 | 第23-24页 |
3.3.4 调试器内核 | 第24页 |
3.4 系统主流程设计 | 第24-25页 |
3.5 本章小结 | 第25-26页 |
第四章 调试器内核关键模块设计与实现 | 第26-61页 |
4.1 调试基础子模块 | 第26-33页 |
4.1.1 加载被调试程序 | 第26-27页 |
4.1.2 调试事件 | 第27-28页 |
4.1.3 调试循环 | 第28-29页 |
4.1.4 调试事件处理函数 | 第29-30页 |
4.1.5 异常调试事件 | 第30-33页 |
4.2 程序状态访问子模块 | 第33-40页 |
4.2.1 调试符号 | 第33-34页 |
4.2.2 调试符号的加载和清理 | 第34-36页 |
4.2.3 访问寄存器 | 第36页 |
4.2.4 获取程序当前执行源码行号 | 第36-37页 |
4.2.5 访问内存 | 第37-38页 |
4.2.6 反汇编源代码 | 第38-40页 |
4.3 断点功能子模块 | 第40-47页 |
4.3.1 断点实现原理 | 第41-43页 |
4.3.2 有效行号 | 第43-44页 |
4.3.3 断点功能实现 | 第44-46页 |
4.3.4 删除断点 | 第46-47页 |
4.4 执行调试子模块 | 第47-52页 |
4.4.1 单步步入 | 第47-49页 |
4.4.2 单步步过 | 第49-51页 |
4.4.3 继续执行 | 第51-52页 |
4.5 变量访问子模块 | 第52-60页 |
4.5.1 符号模型 | 第52-56页 |
4.5.2 确定符号地址 | 第56-58页 |
4.5.3 访问变量类型 | 第58-59页 |
4.5.4 计算变量值 | 第59-60页 |
4.6 本章小结 | 第60-61页 |
第五章 Web架构的远程调试子系统设计与实现 | 第61-75页 |
5.1 基于Web的交互式调试器设计与实现 | 第61-67页 |
5.1.1 交互式调试器整体设计 | 第61-63页 |
5.1.2 交互式调试器组件UI控制子模块 | 第63-64页 |
5.1.3 交互式调试器通信子模块 | 第64-67页 |
5.2 Web调试服务器设计与实现 | 第67-72页 |
5.2.1 调试服务器整体设计 | 第67-69页 |
5.2.2 调试服务器数据转换模块 | 第69-70页 |
5.2.3 调试服务器资源管理模块 | 第70-71页 |
5.2.4 调试服务器调试命令处理模块 | 第71-72页 |
5.3 调试器代理设计与实现 | 第72-74页 |
5.3.1 调试器代理调度模块 | 第73-74页 |
5.3.2 调试器代理命令执行模块 | 第74页 |
5.4 本章小结 | 第74-75页 |
第六章 系统测试 | 第75-85页 |
6.1 Web架构的远程调试子系统测试过程 | 第75-79页 |
6.1.1 Mock测试 | 第75-76页 |
6.1.2 自动化测试 | 第76-79页 |
6.2 调试器内核单元测试 | 第79-80页 |
6.3 调试功能测试 | 第80-84页 |
6.4 本章小结 | 第84-85页 |
第七章 总结与展望 | 第85-86页 |
7.1 本文总结 | 第85页 |
7.2 未来展望 | 第85-86页 |
致谢 | 第86-87页 |
参考文献 | 第87-89页 |