当前位置: 首页 > 专利查询>清华大学专利>正文

基于输入输出模拟的交互式设备驱动调试方法及装置制造方法及图纸

技术编号:9738652 阅读:155 留言:0更新日期:2014-03-06 15:06
本发明专利技术涉及计算机安全防范技术领域,公开了一种基于输入输出模拟的交互式设备驱动调试方法,包括步骤:S1:在驱动正常工作时,记录驱动输出至设备的配置信息及设备返回的输入信息,所述输入信息包含设备寄存器返回的状态信息;S2:将所述配置信息及设备返回的输入信息存储在日志文件中;S3:出现错误需要调试时,从所述日志文件中提取所述配置信息和所述输入信息,替代设备与驱动交互,对错误进行重放,以辅助进行驱动调试。还提供了一种基于输入输出模拟的交互式设备驱动调试装置。本发明专利技术支持对错误进行重放,方便进行错误定位和修正,支持设备驱动的离线调试,提高了驱动开发和移植效率,同时降低程序员的工作量,提高驱动的可靠性。

【技术实现步骤摘要】
基于输入输出模拟的交互式设备驱动调试方法及装置
本专利技术涉及计算机安全防范
,具体涉及一种基于输入输出模拟的交互式设备驱动调试方法及装置。
技术介绍
在通用操作系统中,驱动代码占据系统大量代码,常常由于设备手册描述不细致等各种原因使得驱动中含有大量错误,多份报告中指出,Linux中,驱动代码占据系统代码的70%,其中驱动部分的错误是其它部分的5-7倍。即使,在商业化的Windows XP系统中,85%的崩溃也是由于驱动错误引起。而在驱动开发中,常常由于缺少设备和调试手段,开发的驱动测试较少,使得在使用时常常隐藏大量错误。另外,开发大型驱动时,常常存在模块分工协作,若依赖于硬件的测试则会大大影响驱动的开发效率,出现错误的查错效率较低,出现问题时无法准确判断错误出现的位置。驱动移植同样是一件较为复杂的工作,在不同的系统上,由于系统调用等实现功能可能存在细微区别,因此移植后可能出现系统相关的错误,如DMA起始地址不能对齐等。总之,现有的调试方法无法有效地对驱动程序进行调试,找出错误位置。
技术实现思路
(一)要解决的技术问题本专利技术要解决的技术问题是:如何实现对驱动程序的有效调试,准确找出错误位置。(二)技术方案为解决上述技术问题,本专利技术提供了一种基于输入输出模拟的交互式设备驱动调试方法,包括步骤:S1:在驱动正常工作时,记录驱动输出至设备的配置信息及设备返回的输入信息;S2:将所述配置信息及设备返回的输入信息存储在日志文件中;S3:出现错误需要调试时,从所述日志文件中提取所述输出的配置信息和所述设备输入信息,替代设备与驱动交互,对错误进行重放,以辅助进行驱动调试。其中,所述步骤S2之后和S3之前还包括:在所述日志文件中注入指定的错误。其中,所述步骤S2具体包括:将所述配置信息及设备返回的输入信息转换成与操作系统无关的标准日志信息,并存储在所述日志文件中。其中,所述的输出至设备的配置信息包括:设备寄存器配置信息,所述输入信息包含设备寄存器返回的状态信息。其中,所述错误包括:偶发性错误、缺少设备或设备无法正常工作。本专利技术还提供了一种基于输入输出模拟的交互式设备驱动调试装置,包括:跟踪记录模块,用于在驱动正常工作时,记录驱动输出至设备的配置信息及设备返回的输入信息;日志存储模块,用于将所述配置信息及设备返回的输入信息存储在日志文件中;重现调试模块,用于出现错误需要调试时,从所述日志文件中提取所述配置信息和所述输入信息,替代设备与驱动交互,对错误进行重放,以辅助进行驱动调试。其中,还包括错误注入模块:用于在所述日志文件中注入指定的错误。其中,所述日志存储模块具体用于将所述配置信息及设备返回的输入信息转换成与操作系统无关的标准日志信息,并存储在所述日志文件中。其中,所述的输出至设备的配置信息包括:设备寄存器配置信息,所述输入信息包含设备寄存器返回的状态信息。其中,所述错误包括:偶发性错误、缺少设备或设备无法正常工作。(三)有益效果本专利技术基于输入输出模拟的交互式设备驱动调试方法,通过记录日志,在发生错误时利用日志信息对错误进行重放,同时对驱动进行调试,方便进行错误定位和修正,支持设备的离线调试,提高了驱动开发和移植效率,同时降低程序员的工作量,提高驱动的可靠性。【附图说明】图1是本专利技术实施例的一种基于输入输出模拟的交互式设备驱动调试方法流程图;图2是本专利技术实施例的一种基于输入输出模拟的交互式设备驱动调试装置结构示意图;图3是图2中的装置与设备和驱动之间的关系图。【具体实施方式】下面结合附图和实施例,对本专利技术的【具体实施方式】作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。本实施例的基于输入输出模拟的交互式设备驱动调试方法如图1所示,包括:步骤S110,在驱动正常工作时,记录驱动输出至设备的配置信息及设备返回的输入信息。配置信息包括:设备寄存器配置信息(配置到设备的寄存器中的信息),输入信息包括:设备寄存器返回的状态信息。由于与驱动交互的设备不同,配置信息也不同,具体配置信息视具体设备而定。步骤S120,将所述配置信息及设备返回的输入信息存储在日志文件中。步骤S130,出现错误需要调试时,从所述日志文件中提取所述配置信息和所述输入信息,替代设备与驱动交互,对错误进行重放,以辅助进行驱动调试。进一步地,为了检测驱动的容错性,还包括对订制错误进行测试,因此在步骤S120之后和S130之如还包括:在所述日志文件中注入指定的错误。进一步地,为了支持跨系统移植和调试,便于在一个新的平台上开发和测试新的驱动,因此步骤S120中将所述配置信息及设备返回的输入信息转换成与操作系统无关的标准日志信息(即该标准日志信息能够被任何现有的操作系统识别和读取),并存储在所述日志文件中。其中,错误包括:偶发性错误、缺少设备或设备无法正常工作。对于偶发性错误可以通过记录的日志信息进行重放,重现出现的偶发性错误。对于设备无法正常工作的错误,该种情况常常由于驱动的配置不正确引起,此时将驱动和记录的正确日志信息进行回放对t匕,即可找到不正确的交互信息。对于缺少对应的设备的错误,进行联合调试,此时利用日志重现驱动和设备的交互过程,从而实现设备的离线调试。本专利技术基于输入输出模拟的交互式设备驱动调试方法,通过记录日志,在方式错误时利用日志信息对错误进行重放,同时对驱动进行调试,方便进行错误定位和修正,支持设备的离线调试,提高了驱动开发和移植效率,同时降低程序员的工作量,提高驱动的可靠性。本专利技术还提供了一种基于输入输出模拟的交互式设备驱动调试装置,其结构示意图如图2所示包括:跟踪记录模块210、日志存储模块220和重现调试模块230。跟踪记录模块210用于在驱动正常工作时,记录驱动输出至设备的配置信息及设备返回的输入信息,所述输入信息包含设备寄存器返回的状态信息;日志存储模块220用于将所述配置信息及设备返回的输入信息存储在日志文件中;重现调试模块230用于出现错误需要调试时,从所述日志文件中提取所述配置信息和所述输入信息,替代设备与驱动交互,对错误进行重放,以辅助进行驱动调试。进一步地,还包括错误注入模块240用于在所述日志文件中注入指定的错误。其中,所述日志存储模块具体用于将所述配置信息及设备返回的输入信息转换成与操作系统无关的标准日志信息,并存储在所述日志文件中。其中,所述错误包括:偶发性错误、缺少设备或设备无法正常工作。上述基于输入输出模拟的交互式设备驱动调试装置与设备和驱动的关系图如图3所示。下面以USB键盘为输入设备为例进行说明:在驱动正常工作时,跟踪记录模块记录驱动输出给键盘的配置信息,键盘返回的输入信息。键盘初始化时,记录驱动输出给键盘的配置信息,当键盘初始化成功后,需要记录USB总线提供给键盘正常工作时的输入信息以及驱动输出给键盘的配置信息,配置信息包括,驱动申请的扫描码存储缓冲区基址(该信息将配制到设备寄存器中)。出现键盘中断时,记录键盘返回的扫描码及发生的时刻、扫描码。将配置信息、键盘返回的输入信息通过“日志模块”转换为日志记录,方便移植到其它平台和机器。键盘扫描码按照《时间、命令、注释、接口、参数、返回值》的自定义格式写入到日志文件中。当缺少的键盘设备时,“重现模块”使用从日志记录文件中信本文档来自技高网...

【技术保护点】
一种基于输入输出模拟的交互式设备驱动调试方法,其特征在于,包括步骤:S1:在驱动正常工作时,记录驱动输出至设备的配置信息及设备返回的输入信息;S2:将所述配置信息及设备返回的输入信息存储在日志文件中;S3:出现错误需要调试时,从所述日志文件中提取所述输出的配置信息和所述设备输入信息,替代设备与驱动交互,对错误进行重放,以辅助进行驱动调试。

【技术特征摘要】
1.一种基于输入输出模拟的交互式设备驱动调试方法,其特征在于,包括步骤: S1:在驱动正常工作时,记录驱动输出至设备的配置信息及设备返回的输入信息; 52:将所述配置信息及设备返回的输入信息存储在日志文件中; 53:出现错误需要调试时,从所述日志文件中提取所述输出的配置信息和所述设备输入信息,替代设备与驱动交互,对错误进行重放,以辅助进行驱动调试。2.根据权利要求1所述的基于输入输出模拟的交互式设备驱动调试方法,其特征在于,所述步骤S2之后和S3之前还包括:在所述日志文件中注入指定的错误。3.根据权利要求1所述的基于输入输出模拟的交互式设备驱动调试方法,其特征在于,所述步骤S2具体包括:将所述配置信息及设备返回的输入信息转换成与操作系统无关的标准日志信息,并存储在所述日志文件中。4.根据权利要求1所述的基于输入输出模拟的交互式设备驱动调试方法,其特征在于,所述的输出至设备的配置信息包括:设备寄存器配置信息,所述输入信息包含设备寄存器返回的状态信息。5.根据权利要求1?4中任一项所述的基于输入输出模拟的交互式设备驱动调试方法,其特征在于,所述错误包括:偶发性错误、缺少设备或设备无法正常工作。6.一种...

【专利技术属性】
技术研发人员:胡事民刘虎球白家驹马超
申请(专利权)人:清华大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1