专利名称:一种应用于移动终端的截获执行信息的方法和装置的制作方法
技术领域:
本发明涉及通信技术,特别是指一种应用于移动终端的截获执行信息的方 法和装置。
背景技术:
随着通信技术的发展,通信产品制造商制造的移动终端实现了更多的功 能,通信服务商则为使用者提供了更多的服务项目。由于移动终端需要实现的 功能不断增加,以及在通信过程中提供的服务种类越来越多,处理的数据量更 大,指令的运行速度要求更高,因此就需要不断的对移动终端进行升级换代, 因而导致在移动终端的工作过程中,出现各种错误的机率加大,而如何及时获 取错误信息、准确判断错误种类、精确定位错误点,以及根据错误信息给出相 应的解决方法,成为移动终端制造商和运营商需要迫切解决的问题。
发明内容
本发明的目的是提供一种应用于移动终端的截获执行信息的方法和装置, 用于解决现有技术中,无法即时快速的获取移动终端的错误信息,以及无法准 确判断该错误的种类并给出解决办法的缺陷。
一种应用于移动终端的截获执行信息的方法,在移动终端执行任务的过程
中,获取该移动终端执行任务时调用函数所产生的函数信息,并在设定模式下
将该函数信息发送给诊断服务器。
上述方法,其中,所述获取移动终端执行任务调用函数时所产生的函数信
息进一步包括在调用并进入该函数时获取的进入信息,以及在退出该函数时 获取的退出信息。
上述方法,其中,所述设定模式包括提示用户发送信息、预定时刻发送 信息。
上述方法,其中,所述诊断服务器将收到的所述数据包生成信息报告保存 到诊断数据库。上述方法,其中,所述将该函数信息发送给诊断服务器的传送方式进一步
包括空中传送方式、凄t据线传送方式、本地无线传送方式。
上述方法,其中,所述移动终端进一步包括一个诊断引擎,该诊断引擎在
移动终端系统资源的占用不超过预定数值,或者在该移动终端不执行任务时,
通过所述传送方式发送数据包。
上述方法,其中,所述函数信息至少包括进入及退出函数的时刻、函数
地址、寄存器中的数值、堆栈的状态;所述函数信息占用的移动终端的内存不
超过预定大小。
上述方法,其中,所述函数在其起始位置设置获取信息的指令,并在该函 数中满足退出条件的位置设置获取信息的指令。
一种应用于移动终端的截获执行信息的装置,该装置至少包括一个信息截 取模块,在移动终端执行任务的过程中,该信息截取模块获取该任务调用函数 所产生的函数信息,并在设定模式下将该信息发送给诊断服务器。
上述装置,其中,所述设定模式包括提示用户发送信息、预定时刻发送 信息;所述信息截取模块在移动终端调用并进入函数时获取进入信息,并获取 在退出该函数时的退出信息。
上述装置,其中,所述函数信息至少包括进入及退出函数的时刻、函数 地址、寄存器中的数值、堆栈的状态;所述函凄t信息占用的移动终端的内存不 超过预定大小,且在该移动终端不执行任务时发送给所述诊断服务器。
应用本发明提供的这种应用于移动终端的截获执行信息的方法和装置,当 进入当前函数时,截获进入信息并记录,当退出当前函数时,记录函数的退出 信息,当移动终端出错时,将记录的函数信息发送到诊断服务器上,且不会对 移动终端设备的运行速度造成影响;该函数信息在诊断服务器上保存到诊断数 据库,使得运营商及制造商能够即时快速的获取移动终端的错误信息,并由诊 断服务器准确快速判断该错误的种类并给出解决办法。
图1为移动终端记录的调用函数所产生的信息的结构示意图; 图2为移动终端记录的调用函数所产生的信息的流程示意图; 图3为移动终端在执行任务的过程中记录信息的流程示意图;图4为诊断服务器与诊断引擎之间信息传送方式示意图。
具体实施例方式
为使本发明的目的、技术特征和实施效果更加清楚,下面将结合附图及具 体实施例对本发明的技术方案进行详细描述。
移动终端在执行任务的工作过程中,对于数据以及各种指令的处理是通过 调用内部函数实现的,在本发明中,对移动终端的工作过程进行实时监控时, 截获进入函数及退出函数时的信息并记录。如果在执行任务的过程中出现错 误,则如图l所示,由该移动终端将记录的关于调用函数所产生的函数信息通 过各种通信方式发送到诊断服务器,由该诊断服务器发送给诊断数据库并保存 在该诊断数据库中,提供给通信运营商及制造商用于分析出错的原因。
以下对实现上述技术的具体的过程进行描迷,如图3所示,其具体步骤包
括
步骤301.移动终端开启后,首先进行初始化,初始化完成后,该移动终 端内部各个函数、变量、寄存器、内存等的状态或赋值均恢复到默认状态或者 是默认值。
步骤302.移动终端开始执行任务,此时,移动终端对执行该任务的过程 进行监测并获取函数信息,该函数信息包括进入信息、退出信息,即在对指令 或者数据等进行处理操作的过程中,由于处理指令或者数据的过程实际上就是 调用函数并执行该函数的过程,因此,此时保持对当前执行的函数的跟踪监观'J, 即在函数的不同位置设置观测点,当函数运行到该观测点的时候,就采集当前 的函数信息。
首先在进入某一个具体函数时,记录该函数的进入信息,该些信息包括 全局变量、该函数用到的局部变量、寄存器中的数值、堆栈的状态、进入及退 出函数的时刻、函数地址,以及其它可能会对当前操作产生关联作用的变量的 数值。记录上迷状态或数值的时间点可以设置在该函数的起始位置,此时,移 动终端的系统刚刚进入该函数,所记录下来的各个值表示的是系统运行到该时 间点的各种信息的汇总。
并在退出该函数时,记录不同变量的状态或数值的退出信息,此时记录的 时间点可以设置在该函数中,满足结束退出该函凄t的位置。步骤303.判断是否出现了错误,如果出现了错误,转步骤304,否则转 步骤307。
步骤304.将记录的函数信息或者再加上对于当前移动终端异常状态的描 述信息进行组织,生成数据包预备发送给诊断服务器。
所述异常状态的描述信息是指执行函数出现错误所生成的错误信息,例如 内存泄漏、地址越界、逻辑错误所导致的错误等;或者是进程中断、黑屏,以 及由于死锁所导致的死机等错误。还可以进一步包括移动终端的运行日志、错 误曰志。
可以是一个诊断引擎实现上述的组织函数信息生产数据包的功能,该诊断 引擎可以在出厂之前被安置在移动终端的内部,负责将监测到的函数信息进行 组织,生成相应的数才居包。
步骤305.由移动终端的系统,或者诊断引擎,或者根据来自网络服务器 端的指令决定是否发送该数据包,如果发送,转步骤306,否则转步骤307。
以诊断引擎为例,该诊断引擎可以在移动终端待机时显示询问信息,询问 用户是否发送函数信息;或者可以不再询问用户的意见,在预定时间直接发送。 如图2所示,该诊断服务器通过空中接口技术(OTA, Over the Air Technology) 向诊断引擎发送请求,请求诊断引擎发送函数信息,诊断引擎根据该请求进行 发送。所述OTA是通过空中接口对用户识别模块(SIM, Subscriber Identity Module)卡数据及应用进行远程管理的技术,空中接口可以采用无线应用协议 (WAP, Wireless Application Protocol)、通用分组无线业务(GPRS, General Packet Radio Service)、码分多址接入IX(CDMAIX, Code Division Multiple Access IX) 及短消息技术。
步骤306.将数据包通过通信网络发送给诊断服务器。该通信网络可以是 不同类型的无线网络,例如空中传播方式、数据线传送方式、本地无线传送方 式,其中空中传播方式通常是指广域网的通信方式,本地无线传送方式则包括 蓝牙技术、红外线技术等。
步骤307.结束对当前的监测。
以上描述了进行监测的流程,由描述的技术特征可以看出,本发明中,可 以设置观测点,并在该观测点处采集函数信息;并由诊断引擎在待机时间负责判断是否需要发送函数信息或者直接发送,且函数信息所记录的数据量小,不
会占用过多的内存空间、系统资源;且可以设定该移动终端在不执行任务时发 送给所述诊断服务器,因此,不会对移动终端设备的运行速度造成影响。
其中,步骤302中,对于如何实现对多个函数进行监测并诊断其出现的错 误的过程,如图4所示,其具体步骤如下
步骤401.移动终端开始执行某一个具体任务之后,调用并进入当前函数。
步骤402.移动终端系统此时截获信息并记录,即记录不同变量的状态或 数值,该些变量包括全局变量、该函数用到的变量、寄存器中的数值、堆栈 的状态,以及其它可能会对当前操作产生关联作用的变量的数值。
步骤403.根据所述具体任务的需要,执行当前函数。
步骤404.在执行当前函数的过程中,没有出现错误,或者出现的错误不 会导致执行当前函数失败,则移动终端退出当前函数。
步骤405.截获并记录当前时刻的信息。
步骤406.判断执行当前的任务是否需要进入下一个函数,如果是,转步 骤401,否则结束。
以上描述了移动终端执行任务的过程中,当该任务涉及多个函数的时候, 实现本发明技术的步骤;当出现错误,并且包含该错误的信息报告到达诊断服 务器之后,诊断服务器根据得到的错误信息判断该错误的种类,并尽可能的给 出解决该错误的技术方案。例如,出现死机可能是由于多个任务、多个进程或 线程同时抢占有限的系统资源;内存泄漏则可能是当前函数没有释放占用的内
存,函数中出现分母为零等。
与方法相对应的是,本发明还提出了一种应用于移动终端的截获执行信息
的装置,该装置至少包括一个信息截取模块,在移动终端执行任务的过程中, 该信息截取模块获取该任务调用函数所产生的信息,并在预定时刻将该信息发 送给诊断服务器。所述信息截取^i块在移动终端调用并进入函数时获取进入信 息,并获取在退出该函数时的退出信息。如果移动终端执行任务并调用函数时 出现错误,则所述信息截取模块获取的所述信息中包含该错误的函数信息,并 发送给所述诊断服务器。
由以上描述可以知道,本发明提供了 一种应用于移动终端的截获执行信息的方法和装置,当进入当前函数时,截获进入信息并记录,当退出当前函数时, 记录函数的退出信息,当移动终端出错时,将记录的函数信息发送到诊断服务
器上,且不会对移动终端设备的运行速度造成影响;该函数信息在诊断服务器 上保存到诊断数据库,使得运营商及制造商能够即时快速的获取移动终端的错 误信息,并由诊断服务器准确快速判断该错误的种类并给出解决办法。
应当说明的是,以上实施例仅用以说明本发明的技术方案而非限制,所有 的参数取值可以根据实际情况调整,且在该权利保护范围内。本领域的普通技 术人员应当理解,可以对本发明的技术方案进行^f'f改或者等同替换,而不脱离 本发明技术方案的精神范围,其均应涵盖在本发明的权利要求范围当中。
权利要求
1. 一种应用于移动终端的截获执行信息的方法,其特征在于,在移动终端执行任务的过程中,获取该移动终端执行任务时调用函数所产生的函数信息,并在设定模式下将该函数信息发送给诊断服务器。
2. 根据权利要求1所述的方法,其特征在于,所述获取移动终端执行任 务调用函数时所产生的函数信息进一步包括在调用并进入该函数时获取的进 入信息,以及在退出该函数时获取的退出信息。
3. 根据权利要求2所述的方法,其特征在于,所述设定模式包括提示 用户发送信息、预定时刻发送信息。
4. 根据权利要求3所述的方法,其特征在于,所述诊断服务器将收到的 所述数据包生成信息报告保存到诊断数据库。
5. 根据权利要求4所述的方法,其特征在于,所述将该函数信息发送给 诊断服务器的传送方式进一步包括空中传送方式、lt据线传送方式、本地无 线传送方式。
6. 根据权利要求5所述的方法,其特征在于,所述移动终端进一步包括 一个诊断引擎,该诊断引擎在移动终端系统资源的占用不超过预定数值,或者 在该移动终端不执行任务时,通过所述传送方式发送数据包。
7. 根据权利要求1所述的方法,其特征在于,所述函数信息至少包括 进入及退出函数的时刻、函数地址、寄存器中的数值、堆栈的状态;所述函数信息占用的移动终端的内存不超过预定大小。
8. 根据权利要求2所述的方法,其特征在于,所述函数在其起始位置设 置获取信息的指令,并在该函数中满足退出条件的位置设置获取信息的指令。
9. 一种应用于移动终端的截获执行信息的装置,其特征在于,该装置至 少包括一个信息截取模块,在移动终端执行任务的过程中,该信息截取模块获 取该任务调用函数所产生的函数信息,并在设定模式下将该信息发送给诊断服 务器。
10. 根据权利要求9所述的装置,其特征在于,所述设定模式包括提示 用户发送信息、预定时刻发送信息;所述信息截取模块在移动终端调用并进入函数时获取进入信息,并获取在 退出该函数时的退出信息。
11.根据权利要求9所述的装置,其特征在于,所述函数信息至少包括 进入及退出函数的时刻、函数地址、寄存器中的数值、堆栈的状态;所述函数信息占用的移动终端的内存不超过预定大小,且在该移动终端不 执行任务时发送给所述诊断服务器。
全文摘要
本发明提供一种应用于移动终端的截获执行信息的方法和装置,其中方法包括在移动终端执行任务的过程中,获取该移动终端执行任务调用函数时所产生的信息,并在设定的模式下将该信息发送给诊断服务器。应用本发明提供的这种应用于移动终端的截获执行信息的方法和装置,当进入当前函数时,截获进入信息并记录,当退出当前函数时,记录函数的退出信息,当移动终端出错时,将记录的函数信息发送到诊断服务器上,且不会对移动终端设备的运行速度造成影响;该函数信息在诊断服务器上保存到诊断数据库,使得运营商及制造商能够即时快速的获取移动终端的错误信息,并由诊断服务器准确快速判断该错误的种类并给出解决办法。
文档编号H04L12/26GK101436957SQ20071017728
公开日2009年5月20日 申请日期2007年11月13日 优先权日2007年11月13日
发明者杨志钢, 王昌正, 肖安平 申请人:北京摩软科技有限公司