一种模拟移动终端故障的装置和方法

文档序号:7694920阅读:130来源:国知局
专利名称:一种模拟移动终端故障的装置和方法
技术领域
本发明涉及移动终端调试技术,特别是指一种模拟移动终端故障的装置和 方法。
背景技术
随着移动终端科技的不断发展,更新速度不断加快,其功能和实现的通信
业务不断增加,手机中出现的问题逐渐增多;对移动运营商来说,如何提高服 务质量,快速解决用户在使用业务时发生的故障对提升用户满意度起到重要的 作用;而对于研发人员来说,如何对出现的错误快速定位并给出解决方案,如 何对开发出的产品自动测试,成为当前急需解决的问题。
但是由于移动终端所出现的故障的复杂性,如何对这些问题定位和处理也
变得相当困难,现有方法中,是在移动终端的源代码中埋置钩子函数,并预先 设置钩子函数所调用的参数值,烧制在芯片中,经过编译运行;如果需要重新 对移动终端进行调试,则需要重新设置调试数据的参数值并再次烧制之后编译 运行,这就导致了在整个的调试过程中,需要不断的进行烧制,降低了调试的 效率。

发明内容
本发明的目的是提供一种模拟移动终端故障的装置和方法,用于解决现有 技术中,在对移动终端的多次调试过程中,需要在重新设置调试数据的参数值 之后再次烧制源代码并编译运行的缺陷。
一种模拟移动终端故障的装置,至少包括配置表模块和脚本模块;所述 脚本模块,用于存放被所述钩子函数所调用的可执行函数;所述配置表模块,
用于存放被所述可执行函数调用的调试数据,所述调试数据能由测试者自行修改。
上述装置,其中,所述钩子函数至少包括系统钩子函数,用于监视系统 中所有线程的事件消息;线程钩子函数,用于监视指定线程中的事件消息。上述装置,其中,所述钩子函数在移动终端检测过程中,调用所述脚本模 块中的可执行函数,由该可执行函数调用位于所述配置表模块中的调试数据进 行4企测。
上述装置,其中,所述配置表模块中还包括一个结果列,用于存放调试结 果所对应的错误信息。
上述装置,其中,所述移动终端还包括一个自定义编译器;所述钩子函数 调用可执行函数,经过该自定义编译器编译之后,由所述可执行函数调用所述 调试数据进行检测,将得出的初步结果与所述配置表模块中的错误信息进行比 对并给出处理建议。
一种应用于该移动终端的故障模拟方法,在源代码文件中设置钩子函数; 在移动终端执行该源代码文件时,所述钩子函数调用位于该移动终端外部的可 执行函数,并由该可执行函数调用位于该移动终端外部的调试数据进行检测。
上述方法,其中,所述进行检测之后,将所得的初步结果与错误信息进行 比对,给出处理建议。
上述方法,其中,所述钩子函数至少包括系统钩子函数,用于监视系统 中所有线程的事件消息;线程钩子函数,用于监视指定线程中的事件消息。
上述方法,其中,所述可执行函数存放在脚本模块中;所述调试数据存放 在配置表模块中。
上述方法,其中,所述调试数据至少包括底层功能函数、不同参数的赋 值数值。
应用本发明提供的技术,由于调试数据放置在配置表模块中,在每次的调 试过程中,由测试者自行修改其中的测试数据后被钩子函数所调用的可执行函 数调用,不再需要被烧制在芯片中进行调试,无需经过繁瑣步骤,只需外部任 意修改配置表模块中的测试数据,就可达到自动测试的目的,降低了调试的复 杂性。


图1为本发明实施例一种模拟移动终端故障的装置的内部结果示意图; 图2为本发明实施例模拟移动终端故障的装置与移动终端配合完成检测 的工作原理示意图。
具体实施例方式
为使本发明的目的、技术特征和实施效果更加清楚,下面将结合附图及具 体实施例对本发明的优选实施例进行详细描述。
本发明中,如图l所示,其中的箭头方向表示调用的方向; 一种模拟移动 终端故障的装置至少包括配置表模块、脚本模块。
配置表才莫块用于设置调试过程中的调试数据,且调试教:据能由测试者自行 修改;并且用于在钩子函数运行之后,将运行结果与配置表模块中的记录对比, 判断出现的故障的种类。
脚本模块用于记录钩子函数所调用的可执行函数;具体包括在移动终端完 成一个任务所需要的流程步骤中涉及的不同的可执行函数。
在所述装置与移动终端配合进行调试时,移动终端的源代码中必须预先设 置有若干个钩子函数;本发明优选实施例中,将源代码烧制在芯片中,该芯片
位于移动终端而不是所述装置。所述源代码通常是系统代码,用于完成系统级 的任务,例如可以是操作系统的代码;代码中设置了若干个钩子函数,用于调 用所述脚本模块中的具体函数执行调试任务。
钩子函数通常在系统中用于监视系统中的所有线程的事件消息;或者用于 监视指定线程的事件消息。通过安装各种钩子函数,应用程序能够设置相应的 子例程来监视系统里的消息传递,以及在这些消息到达目的地之前截获它们并 根据用户要求做出相应处理;其种类很多作用也不同,如键盘钩子可以截获键 盘消息,鼠标钩子可以截获鼠标消息,外壳钩子可以截获启动和关闭应用程序 的消息,日志钩子可以监视和记录输入事件。可见,利用钩子可以实现许多特 殊而有用的功能。
为进一步揭示本发明的技术特征,以下对本发明的优选实施例进行描述。 所述芯片中烧制的源代码是移动终端的操作系统的代码,用于管理整个移动终 端的各项工作,其中埋置了多个钩子函数;由于钩子函数在日常的运行过程中 没有必要被调用,因此可以通过设置状态标志位或者其他方式,在调试状态下 由系统调用所述钩子函数进行工作。以某一个特定的钩子函数为例,该钩子函 数用于调用输出函数y二Print(x),其中,x是输入参数,y是输出参数,在正常 情况下,输出参数y应当等于x,否则表示在输出的过程中出现了错误。在当前调试中,配置表模块中存在对应输入参数x的一个数列1~10; 对于输入参数x的每一个取值,都存在一个结果列,该结果列中记录了输出为 不同的数值时,所代表的出现的错误的种类;
脚本模块中则是记录了所述钩子函数所需要执行的具体的任务,例如所调
用的具体的输出函数,以及在执行所述输出函数时需要进行的若干具体操作。
在对输入参数数列1 ~ 10中的每一个数值进行调试时,如果结果与输入的 数值不同,则根据输出的这个错误结果在配置表模块的结果列中寻找对应的记 录,并根据该记录的描述确定错误的类型。
又例如另 一个优选实施例中,钩子函数需要调用的可执行函数是一个逻辑 运算函数u-f(x, y, z),其中,u作为输出参数对应于每一组输入参数x, y, z;根据输出结果判断逻辑运算函数可能出现的错误。
此时,配置表模块中记载了源代码中尽可能多的逻辑运算函数,以及纯粹 为了调试的逻辑运算函数;每一组输入参数x, y, z,以及对于每一组输入参 数的结果构成一个记录,其中所有记录中的结果构成了一个结果列,该结果列 中记录了输出为不同的数值时,所代表的出现的错误的种类;
脚本模块中则是记录了所述钩子函数所需要执行的具体的任务,具体包 括所调用的具体逻辑运算函数,以及在执行所述逻辑运算函数时需要进行的 若干具体操作。
在对移动终端可能出现的故障进行模拟的过程中,经常会对信号强度进行 检测,以便于确定导致信号变弱的故障的具体原因和位置,不失一般性,设定 信号强度分为0 4,表示从弱到强一共5个强度标准。
如图2所示,是模拟移动终端故障的装置与移动终端配合完成检测的工作 原理示意图。由于芯片中的源代码中设置的钩子函数大多仅仅用于调用外部函 数,因此设置有钩子函数的源代码在烧制到芯片中之后,不需要进行变动,因 此在当前测试信号强度的过程中不再需要再次烧制源代码;而且为了设计的简 单,钩子函数还可以仅仅用于完成调用作用,并在调用所述外部函数之前和/ 或之后对某些局部变量、全局变量、寄存器以及标志位等赋值。
所述外部函数位于脚本模块,该外部函数由测试工作人员编写在脚本模块 中,外部函数用于调用具体的底层功能函数以及各种参数值;在脚本模块中,
7测试工作人员根据其想要完成的测试工作,来安排测试流程的具体步骤,以及 每一步骤中,需要完成的具体功能,或者是想要获得的具体参数的赋值数值, 或者是打印输出以便于显示给测试工作人员观看等等其他的功能。而所述每一 步骤中所完成的任务或者需要调用一些移动终端所支持的底层功能函数,或者
需要输入或者改变一些参数的数值;而这些底层功能函数或者参数的数值通常 在调试之前就需要准备完毕,并且在对不同的移动终端调试的过程中并不需要 进行改变,例如,所述底层功能函数本身就是移动终端源代码开发商提供的, 所述参数的赋值数值有固定的取值,在本优选实施例中,就是信号强度0~4 的5个强度标准,这就使得把这些底层功能函数和参数的数值放在不断改变的 脚本模块中会增大测试工作人员的工作量,而且容易出错。
因此,在模拟移动终端故障的装置中增加一个配置表模块,该模块用于记 录所述底层功能函数和参数的赋值数值,在当前的优选实施例中,参数的赋值 数值可以是指记录的信号强度0 ~ 4的5个强度标准,以及所述具体获得移动 终端当前的信号强度数值的底层功能函数。
应用本发明提供的技术,在检测移动终端的故障的过程中,不再需要在源 代码中对钩子函数所使用的数据进行操作,而是增加一个配置表模块并在配置 表模块中设置模拟故障所使用的数据;在检测过程中,钩子函数调用位于源代 码之外的配置表模块中的数据即可,不再需要将源代码重新烧制在芯片中,简 化了纟企测程序。
应当说明的是,以上实施例仅用以说明本发明的技术方案而非限制,所有 的参数取值可以根据实际情况调整,且在该权利保护范围内。本领域的普通技 术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离 本发明技术方案的精神范围,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种模拟移动终端故障的装置,其特征在于,至少包括配置表模块和脚本模块;所述脚本模块,用于存放被所述钩子函数所调用的可执行函数;所述配置表模块,用于存放被所述可执行函数调用的调试数据,所述调试数据能由测试者自行修改。
2. 根据权利要求1所述的装置,其特征在于,所述钩子函数至少包括 系统钩子函数,用于监视系统中所有线程的事件消息; 线程钩子函数,用于监视指定线程中的事件消息。
3. 根据权利要求1所述的装置,其特征在于,所述钩子函数在移动终端 检测过程中,调用所述脚本模块中的可执行函数,由该可执行函数调用位于所 述配置表模块中的调试数据进行检测。
4. 根据权利要求3所述的装置,其特征在于,所述配置表模块中还包括 一个结果列,用于存放调试结果所对应的错误信息。
5. 根据权利要求4所述的装置,其特征在于,所述移动终端还包括一个 自定义编译器;所述钩子函数调用可执行函数,经过该自定义编译器编译之后,由所述可 执行函数调用所述调试数据进行检测,将得出的初步结果与所述配置表模块中 的错误信息进行比对并给出处理建议。
6. —种应用于该移动终端的故障模拟方法,其特征在于,在源代码文件 中设置钩子函数;在移动终端执行该源代码文件时,所述钩子函数调用位于该 移动终端外部的可执行函数,并由该可执行函数调用位于该移动终端外部的调 试数据进行检测。
7. 根据权利要求6所述的方法,其特征在于,所述进行检测之后,将所 得的初步结果与错误信息进行比对,给出处理建议。
8. 根据权利要求6所述的方法,其特征在于,所述钩子函数至少包括 系统钩子函数,用于监视系统中所有线程的事件消息; 线程钩子函数,用于监视指定线程中的事件消息。
9. 根据权利要求6所述的方法,其特征在于,所述可执行函数存放在脚 本模块中;所述调试数据存放在配置表模块中。
10. 根据权利要求9所述的方法,其特征在于,所述调试数据至少包括底层功能函数、不同参数的赋值数值。
全文摘要
本发明提供一种模拟移动终端故障的装置和方法,其中装置至少包括配置表模块和脚本模块;所述脚本模块,用于存放被所述钩子函数所调用的可执行函数;所述配置表模块,用于存放被所述可执行函数调用的调试数据,所述调试数据能由测试者自行修改。应用本发明所述的技术方案,在检测过程中,由测试者自行修改配置表模块中的测试数据,测试数据被钩子函数调用,无需经过繁琐步骤,只需外部任意修改配置表模块中的测试数据,就可达到自动测试的目的,降低了调试的复杂性。
文档编号H04W24/00GK101594627SQ20081011259
公开日2009年12月2日 申请日期2008年5月26日 优先权日2008年5月26日
发明者王昌正 申请人:北京摩软科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1