多媒体程序缺陷的定位方法和系统与流程

文档序号:11829438阅读:168来源:国知局
多媒体程序缺陷的定位方法和系统与流程

本发明涉及计算机技术领域,尤其涉及一种多媒体程序缺陷的定位方法和系统。



背景技术:

多媒体的功能在增加,意味着多媒体从一个状态进入到另一个状态的组合变多了,实质是多媒体所执行的程序路径的成倍增加。绝大多数程序路径可以正确执行。但程序Bug一直都有,所以不可避免的少数程序路径无法很顺利地执行,其宏观表象就是一个状态没法正常进入另一个状态(比如当前多媒体的状态是播放电视,电话响了,按下电话按键却等了几秒钟才接上电话;再比如按下多媒体主页上的导航键,之前还能正常显示,某一时刻却没法正常进入等等)。其中,从一个状态进入到另一个状态没法正常实现,其实质是控制状态表象的后台程序没有按照预期的逻辑执行或是根本没有执行。

状态切换多数时候是可以顺利进行的,偶尔不正常的现象也确实存在。在几千甚至是几万次的状态切换下,不正常的现象总有那么几次,问题归结到故障重现。在实际中,如果专门去测试,捕捉这万分之一的出错现象是非常不容易的,需要花大量的人力、物力。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的在于提出一种多媒体程序缺陷的定位方法,该定位方法无需为了重现故障而重新搭建软硬件平台,大大节约了人力和物力。

本发明的第二个目的在于提出一种多媒体程序缺陷的定位系统。

为了实现上述目的,本发明第一方面实施例的多媒体程序缺陷的定位方法,包括以下步骤:加载并执行程序,其中,所述程序包括多个函数,每个函数具有唯一的标志值;当所述程序中的函数被执行时,将所述被执行的函数对应的标志值和所述被执行的函数中的关键信息进行保存,并将所述标志值和所述关键信息反馈至上位机,其中,所述关键信息用于表示所述被执行的函数中变量的变化信息;在状态切换时,记录发生状态切换的第一状态和第二状态对应的标志值,并获取所述第一状态和第二状态的标志值对应的函数标志值;根据所述第一状态和第二状态的标志值对应的函数标志值,以及所述被执行的函数对 应的标志值判断所述第一状态和第二状态之间的状态切换是否正常;以及在判断状态切换不正常时根据所述被执行的函数中的关键信息进行程序缺陷排查。

根据本发明实施例的多媒体程序缺陷的定位方法,实时记录程序中被执行函数的标志值和关键信息,并反馈至上位机,上位机则根据反馈的信息判断状态切换是否正常,以在状态切换不正常时辅助程序员对程序缺陷进行排查,该方法无需为了重现故障而重新搭建软硬件平台,大大节约了人力和物力。

为了实现上述目的,本发明第二方面实施例的多媒体程序缺陷的定位系统,包括:多媒体终端和上位机,其中,所述多媒体终端,用于加载并执行程序,其中,所述程序包括多个函数,每个函数具有唯一的标志值,当所述程序中的函数被执行时,将所述被执行的函数对应的标志值和所述被执行的函数中的关键信息进行保存,并将所述标志值和所述关键信息反馈至所述上位机,其中,所述关键信息用于表示所述被执行的函数中变量的变化信息;所述上位机,用于在状态切换时,记录发生状态切换的第一状态和第二状态对应的标志值,并获取所述第一状态和第二状态的标志值对应的函数标志值,并根据所述第一状态和第二状态的标志值对应的函数标志值,以及所述被执行的函数对应的标志值判断所述第一状态和第二状态之间的状态切换是否正常,以在所述状态切换不正常时根据所述被执行的函数中的关键信息进行程序缺陷排查。

根据本发明实施例的多媒体程序缺陷的定位系统,多媒体终端实时记录程序中被执行函数的标志值和关键信息,并反馈至上位机,上位机则根据反馈的信息判断状态切换是否正常,以在状态切换不正常时辅助程序员对程序缺陷进行排查,该系统无需为了重现故障而重新搭建软硬件平台,大大节约了人力和物力。

附图说明

图1是根据本发明一个实施例的多媒体程序缺陷的定位方法的流程图;

图2是根据本发明一个实施例的被执行的函数的标志值的示意图;

图3是根据本发明一个实施例的被执行的函数中的关键信息与函数的对应关系的示意图;

图4是根据本发明一个实施例的状态切换时函数的执行顺序的示意图;

图5是根据本发明一个实施例的多媒体程序缺陷的定位系统的方框示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描 述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参考附图描述本发明实施例的多媒体程序缺陷的定位方法和系统。

图1是根据本发明一个实施例的多媒体程序缺陷的定位方法的流程图。如图1所示,本发明实施例的多媒体程序缺陷的定位方法,包括以下步骤:

S1,加载并执行程序,其中,程序包括多个函数,每个函数具有唯一的标志值。

具体地,多媒体终端通过加载并执行程序来实现对应的多媒体功能(例如,播放视频),程序包括若干个子模块,每一个子模块用来实现一个特定的功能,子模块的基本单位是函数。当多媒体功能出现问题时,一定是作为程序基本单位的函数被错误执行或是根本没有执行,用标志值flag1、flag2、…来代表这些函数,一个标志值代表一个函数。

S2,当程序中的函数被执行时,将被执行的函数对应的标志值和被执行的函数中的关键信息进行保存,并将标志值和关键信息反馈至上位机,其中,关键信息用于表示被执行的函数中变量的变化信息。

具体地,在执行状态切换时,每执行一个函数,多媒体终端就把被执行的函数的标志值和被执行的函数中的关键信息记录下来,并在多媒体终端出现故障需要维修时将记录的信息反馈给上位机。其中,多媒体终端只对当前用户正在使用的应用程序对应的函数的标志值和关键信息进行记录,后台运行的其它应用程序对应的信息则不进行记录。

其中,程序员在编写多媒体状态控制程序的时候,每一个多媒体状态所需要的函数个数都是确定的。而一个函数由唯一标志值来代替。函数执行一次,该标志值就被返回,记录一次。关于记录可以是函数最终的返回标志值,或是直接赋值等。根据不同的函数定义和功能,所有可以证明该函数已被执行的数据都可以理解为函数最终执行完毕的记录值。这些标志值用flagA1、flagA2代表,如图2所示,另外,多媒体状态A用状态标志值flagA来表示。

另外,当程序中的函数被执行时,函数当中的关键信息被记录,该记录的关键信息的内容可以理解为在程序执行期间某个寄存器缓冲数据,影响函数执行结果的变量,中断标志寄存器的值,函数被其他函数调用时的返回值等等。关键信息的记录表明了在程序执行期间相关变量的变化信息。对同样的状态切换,每次切换之后的变化信息都是相同的。其中,被执行的函数中的关键信息与函数的对应关系如图3所示。

在本发明的一个实施例中,多媒体终端通过CAN总线通信或者串口通信将被执行的函数对应的标志值和被执行的函数中的关键信息反馈至上位机。

例如,用户的多媒体终端出现了故障,比如当前多媒体的状态是播放电视,电话响了,按下电话按键却等了几秒钟才接上电话,或者按下电话按键没有反应,那么,用户在将多媒体终端送到售后服务中心后,工作人员会将多媒体终端所记录的被执行的函数对应的标 志值和被执行的函数中的关键信息导入到上位机中。

S3,在状态切换时,记录发生状态切换的第一状态和第二状态对应的标志值,并获取第一状态和第二状态的标志值对应的函数标志值。

具体地,多媒体终端记录的被执行的函数的标志值和被执行的函数中的关键信息导入上位机后,上位机则缓存这些信息,上位机将上述信息保存后,从这些信息中将发生状态切换的第一状态和第二状态对应的标志值挑选出来。

多媒体从一个状态到另一个状态,例如,从A状态到C状态,可以直接由A——>C,也可以选择从A——>D——>C的顺序,还可以是A——>B——>D——>C的路径等。显然,状态的切换一定都是基于两个基本状态的组合。一个状态是若干函数的有序组合,那也就是函数的标志值flagA1、flagA2等的有序组合。任意两个状态之间的切换就是不同标志值之间的过渡,这种组合是唯一的,也就是两个集合之间两元素发生的联系,如图4所示。

在本发明的一个实施例中,第一状态和第二状态的标志值对应有程序链路标志值组,程序链路标志值组包括多个函数的标志值及多个函数的标志值的顺序。

例如,如图4所示,状态A:A3—>A2—>A1—>A4,状态B:B2—>B4—>B3—>B1—>B5,状态A—>状态B:A3—>A2—>A1—>A4—>B2—>B4—>B3—>B1—>B5。上位机中预存储有状态切换所对应的程序链路标志值组,例如,上位机中按照flagA3—>flagA2—>flagA1—>flagA4的顺序存储。

S4,根据第一状态和第二状态的标志值对应的函数标志值,以及被执行的函数对应的标志值判断第一状态和第二状态之间的状态切换是否正常。

在本发明的一个实施例中,S3具体包括:将程序链路标志值组中的多个函数的标志值及多个函数的标志值的顺序与被执行的函数对应的标志值及时间顺序进行比对;如果一致,则判断状态切换正常;如果不一致,则判断状态切换不正常。

在本发明的一个实施例中,还包括:如果状态切换正常,则在显示屏中以第一颜色显示背景;以及如果状态切换不正常,则在显示屏中以第二颜色显示背景。

具体地,以状态A到状态B的切换为例进行举例说明,当发生状态A到B切换时,在时间顺序上,状态B的状态标志值flagB最先被上位机接收并显示,根据状态标志值flagB,上位机中的检索程序迅速调出flagB下对应的已经存储的程序链路标志值组flagB2—>flagB4—>flagB3—>flagB1—>flagB5,上位机匹配判断多媒体终端反馈的被执行的函数对应的标志值及时间顺序是否一致,如果上位机接收到的函数的标志值flagB2正确接收且最先出现,上位机则在显示屏显示的程序链路标志值组的标志值flagB2的位置以白第一颜色(例如,白色)显示背景,以表示函数B2被正常执行,如果后续有一个或是若干个函数没有被执行,或者是执行了但出现的顺序不对,或者是出现的个数或顺序都不正 常等,则在显示屏中以第二颜色(例如,红色)显示背景,以表示执行出错。

那么,由状态A到状态B的切换,程序所执行的路径被很清晰的在上位机的显示屏中显示出来,其隐藏较深的程序缺陷(即程序中的Bug)就被定为在程序链路:A3—>A2—>A1—>A4—>B2—>B4—>B3—>B1—>B5中。

S5,在判断状态切换不正常时根据被执行的函数中的关键信息进行程序缺陷排查。

具体地,程序员根据上位机的显示屏中显示的程序链路和函数的标志值,进一步排查到具体函数的关键信息,就可以知道当前程序链路没有被正确执行的原因。在排查时,需要从第一个未被正确接收的函数的标志值逐步排查程序的缺陷,也就是从第一个未被正确调用的函数开始,进一步排查程序缺陷。

进一步地,查找到程序缺陷后,就可以对程序进行优化,以提升多媒体终端的中多媒体状态切换的稳定性。

本发明实施例的多媒体程序缺陷的定位方法,实时记录程序中被执行函数的标志值和关键信息,并反馈至上位机,上位机则根据反馈的信息判断状态切换是否正常,以在状态切换不正常时辅助程序员对程序缺陷进行排查,该方法无需为了重现故障而重新搭建软硬件平台,大大节约了人力和物力。

与上述几种实施例提供的多媒体程序缺陷的定位方法相对应,本发明的一种实施例还提供一种多媒体程序缺陷的定位系统,由于本发明实施例提供的多媒体程序缺陷的定位系统与上述几种实施例提供的多媒体程序缺陷的定位方法相对应,因此在前述多媒体程序缺陷的定位方法的实施方式也适用于本实施例提供的多媒体程序缺陷的定位系统,在本实施例中不再详细描述。图5是根据本发明一个实施例的多媒体程序缺陷的定位系统的方框示意图。如图5所示,本发明实施例的多媒体程序缺陷的定位系统,包括:多媒体终端100和上位机200。

多媒体终端100用于加载并执行程序,其中,程序包括多个函数,每个函数具有唯一的标志值,当程序中的函数被执行时,将被执行的函数对应的标志值和被执行的函数中的关键信息进行保存,并将标志值和关键信息反馈至上位机200,其中,关键信息用于表示被执行的函数中变量的变化信息。

上位机200用于在状态切换时,记录发生状态切换的第一状态和第二状态对应的标志值,并获取第一状态和第二状态的标志值对应的函数标志值,并根据第一状态和第二状态的标志值对应的函数标志值,以及被执行的函数对应的标志值判断第一状态和第二状态之间的状态切换是否正常,以在状态切换不正常时根据被执行的函数中的关键信息进行程序缺陷排查。

在本发明的一个实施例中,第一状态和第二状态的标志值对应有程序链路标志值组, 程序链路标志值组包括多个函数的标志值及多个函数的标志值的顺序。

在本发明的一个实施例中,上位机200具体用于:将程序链路标志值组中的多个函数的标志值及多个函数的标志值的顺序与被执行的函数对应的标志值及时间顺序进行比对;如果一致,则判断状态切换正常;如果不一致,则判断状态切换不正常。

在本发明的一个实施例中,如果状态切换正常,则上位机200在显示屏中以第一颜色显示背景,如果状态切换不正常,则上位机200在显示屏中以第二颜色显示背景。

在本发明的一个实施例中,上位机200具体用于:在判断状态切换不正常时,确定程序链路标志值组中的多个函数,以根据多个函数的关键信息进行程序缺陷排查。

本发明实施例的多媒体程序缺陷的定位系统,多媒体终端实时记录程序中被执行函数的标志值和关键信息,并反馈至上位机,上位机则根据反馈的信息判断状态切换是否正常,以在状态切换不正常时辅助程序员对程序缺陷进行排查,该系统无需为了重现故障而重新搭建软硬件平台,大大节约了人力和物力。

在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特 征水平高度小于第二特征。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1