驱动程序调试系统及方法

文档序号:6335988阅读:394来源:国知局
专利名称:驱动程序调试系统及方法
技术领域
本发明涉及一种测试系统及方法,尤其涉及一种驱动程序调试系统及方法。
背景技术
对于服务器和存储系统的软件诊断程序的开发,很多芯片的测试程序必需依赖于运行在内核空间的驱动程序。大部分厂商开发的驱动程序中,调试信息都是用宏的形式预定义,但是,厂商在驱动程序发行的时候会注释掉调试信息,使得用户不能直接控制驱动程序中的调试信息。另外,在工厂生产模式中,没有驱动程序源码能直接调试,而且即使有源码能直接调试,也需要经过一个烦琐且耗时间的过程卸载驱动、修改驱动、重新编译驱动程序和重新加载驱动。因此,在用户空间不能直接控制内核空间的驱动程序,给调试驱动程序带来了一定的阻力。

发明内容
鉴于以上内容,有必要提供一种驱动程序调试系统,可以根据用户输入的命令,控制内核空间的驱动程序中指定类别的调试信息的输出。另外,还有必要提供一种驱动程序调试方法,可以根据用户输入的命令,控制内核空间的驱动程序中指定类别的调试信息的输出。一种驱动程序调试系统,该系统运行于存储有驱动程序的计算机中,所述驱动程序中存储有分类后的调试信息,该系统包括接口创建模块,用于在计算机的操作系统中创建一个以文件形式存在的接口 ;命令发送模块,用于通过所述接口将计算机用户空间的命令发送至计算机的内核空间;函数解析模块,用于当内核空间成功接收到用户空间发送来的命令时,解析所述命令以得到调试信息控制函数名称和参数,及解析所述命令中的参数,以得到所述命令中调试信息的类别及调试信息开关的状态;调试信息控制模块,用于执行与所述调试信息控制函数名称相应的调试信息控制函数,并根据所述调试信息开关的状态,控制驱动程序中与所述调试信息的类别对应的调试信息的输出。一种驱动程序调试方法,该方法应用于存储有驱动程序的计算机中,所述驱动程序中存储有分类后的调试信息,该方法包括以下步骤在计算机的操作系统中创建一个以文件形式存在的接口;通过所述接口将计算机用户空间的命令发送至计算机的内核空间; 当内核空间成功接收到用户空间发送来的命令时,解析所述命令以得到调试信息控制函数名称和参数;解析所述命令中的参数,以得到所述命令中调试信息的类别及调试信息开关的状态;执行与所述调试信息控制函数名称相应的调试信息控制函数,并根据所述调试信息开关的状态,控制驱动程序中与所述调试信息的类别对应的调试信息的输出。所述驱动程序调试系统及方法,可以根据用户输入的命令,控制内核空间的驱动程序中指定类别的调试信息的输出,实现了在应用层直观、快速的调试驱动层的程序,操作方便,提高了程序调试的效率。


图1是本发明驱动程序调试系统较佳实施例的应用环境图。图2是图1中驱动程序调试系统的功能模块图。图3是本发明驱动程序调试方法较佳实施例的作业流程图。主要元件符号说明
权利要求
1.一种驱动程序调试系统,该系统运行于存储有驱动程序的计算机中,其特征在于,所述驱动程序中存储有分类后的调试信息,该系统包括接口创建模块,用于在计算机的操作系统中创建一个以文件形式存在的接口 ;命令发送模块,用于通过所述接口将计算机用户空间的命令发送至计算机的内核空间;函数解析模块,用于当内核空间成功接收到用户空间发送来的命令时,解析所述命令以得到调试信息控制函数名称和参数,及解析所述命令中的参数,以得到所述命令中调试信息的类别及调试信息开关的状态;调试信息控制模块,用于执行与所述调试信息控制函数名称相应的调试信息控制函数,并根据所述调试信息开关的状态,控制驱动程序中与所述调试信息的类别对应的调试信息的输出。
2.如权利要求1所述的驱动程序调试系统,其特征在于,该系统还包括函数地址查询模块,用于根据调试信息控制函数的名称在内核空间中查询所述调试信息控制函数的地址;提示模块,用于当内核空间没有成功接收到用户空间发送来的命令,或者在内核空间中没有查询到调试信息控制函数的地址时,发出错误警告以提示用户进行相应的处理。
3.如权利要求1所述的驱动程序调试系统,其特征在于,所述调试信息开关的状态包括开启状态和关闭状态。
4.如权利要求3所述的驱动程序调试系统,其特征在于,所述调试信息控制模块在所述调试信息开关的状态为开启状态时,从驱动程序中输出与所述调试信息的类别对应的调试信息;在所述调试信息开关的状态为关闭状态时,不从驱动程序中输出与所述调试信息的类别对应的调试信息。
5.一种驱动程序调试方法,该方法应用于存储有驱动程序的计算机中,其特征在于,所述驱动程序中存储有分类后的调试信息,该方法包括以下步骤在计算机的操作系统中创建一个以文件形式存在的接口;通过所述接口将计算机用户空间的命令发送至计算机的内核空间;当内核空间成功接收到用户空间发送来的命令时,解析所述命令以得到调试信息控制函数名称和参数;解析所述命令中的参数,以得到所述命令中调试信息的类别及调试信息开关的状态;执行与所述调试信息控制函数名称相应的调试信息控制函数,并根据所述调试信息开关的状态,控制驱动程序中与所述调试信息的类别对应的调试信息的输出。
6.如权利要求5所述的驱动程序调试方法,其特征在于,在通过所述接口将计算机用户空间的命令发送至计算机的内核空间的步骤之后,还包括步骤根据调试信息控制函数的名称在内核空间中查询所述调试信息控制函数的地址;当内核空间没有成功接收到用户空间发送来的命令,或者在内核空间中没有查询到调试信息控制函数的地址时,发出错误警告以提示用户进行相应的处理。
7.如权利要求5所述的驱动程序调试方法,其特征在于,所述调试信息开关的状态包括开启状态和关闭状态。
8.如权利要求7所述的驱动程序调试方法,其特征在于,所述根据所述调试信息开关的状态,控制驱动程序中与所述调试信息的类别对应的调试信息的输出的步骤包括在所述调试信息开关的状态为开启状态时,从驱动程序中输出与所述调试信息的类别对应的调试信息;在所述调试信息开关的状态为关闭状态时,不从驱动程序输出与所述调试信息的类别对应的调试信息。
全文摘要
本发明提供一种驱动程序调试方法,该方法应用于存储有驱动程序的计算机中,所述驱动程序中存储有分类后的调试信息,该方法包括以下步骤在计算机的操作系统中创建一个以文件形式存在的接口;通过所述接口将计算机用户空间的命令发送至计算机的内核空间;当内核空间成功接收到用户空间发送来的命令时,解析所述命令以得到调试信息控制函数名称和参数;解析所述命令中的参数,以得到所述命令中调试信息的类别及调试信息开关的状态;执行与所述调试信息控制函数名称相应的调试信息控制函数,并根据所述调试信息开关的状态,控制驱动程序中与所述调试信息的类别对应的调试信息的输出。本发明还提供一种驱动程序调试系统。
文档编号G06F11/36GK102467447SQ20101054638
公开日2012年5月23日 申请日期2010年11月16日 优先权日2010年11月16日
发明者童钰 申请人:鸿富锦精密工业(深圳)有限公司, 鸿海精密工业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1