Direct3D应用程序分析与调试软件的研究与设计
作者单位:武汉科技大学
学位级别:硕士
导师姓名:方康玲
授予年度:2012年
学科分类:08[工学] 080203[工学-机械设计及理论] 0802[工学-机械工程]
主 题:Direct3D Logger Player 脚本 虚拟驱动
摘 要:Direct3D是微软公司在Windows操作系统上开发的一套3D绘图编程接口,目前已经在电脑绘图软件和电脑游戏中得到了广泛应用。由于Direct3D编程自身的复杂性,导致其应用程序尤其是大型游戏设计调试难度较大,开发周期较长,质量不易保证,同时对于显卡硬件厂商来说,无法预知Direct3D应用程序的行为导致驱动开发人员不易快速定位和查找驱动程序中存在的问题。基于此研究背景,本文设计实现了一套新的软件工具专门用来分析和调试Direct3D应用程序行为,软件由Logger系统和Player系统两部分组成。 Logger系统可以在无法获知应用程序源代码的情况下,通过在操作系统底层安装Direct3D虚拟驱动层,在应用程序运行过程中实时拦截和记录应用程序行为,并翻译为自定义格式的脚本文件存储。Player系统以脚本文件为基础,通过脚本命令的回放实现了对Direct3D应用程序行为的分析和调试。Player系统支持回放过程中脚本命令的编辑和修改,同时还提供了多种不同的回放模式和控制方式,大大增强了脚本命令回放的操作性和可控性。除此之外,Player系统还支持回放过程中脚本命令渲染结果的实时显示和Direct3D流水管线上资源内容的实时查看,方便脚本命令的分析和调试。最后,Player系统专门设计了脚本简化功能,在保证渲染结果正确性的前提下,最大可能地去除脚本文件中冗余的和无用的脚本命令,从而精简脚本文件规模,提高脚本命令的回放速度和调试效率。 实验结果表明,本文设计的系统兼容性和通用性较好,具备很强的软件独立性和硬件无关性,可以应用在几乎所有Direct3D应用程序和所有显卡硬件上,非常适合Direct3D应用程序和驱动开发人员使用,实现对Direct3D应用程序行为的分析和调试。