一种嵌入式设备测试异常信息自动捕获方法

文档序号:6523054阅读:236来源:国知局
一种嵌入式设备测试异常信息自动捕获方法
【专利摘要】本发明公开了一种产品测试异常信息自动捕获方法,包括在待测产品的软件中实现strace绑定待侦测的进程;把信息捕获到指定的文件;实时侦测文件内容大小等步骤。本发明本发明在相同的条件下可以使测试过程更加自动化,随时可以保存有用的程序上下文信息。当无规则、无规律、突然性的异常发现时,就可以提供足够的异常信息用于分析问题产生的原因。可以避免测试人员为复现问题花费大量的测试时间,同时也为研发人员及时、高率地解决问题提供了必要的支持。
【专利说明】一种嵌入式设备测试异常信息自动捕获方法
【技术领域】
[0001]本发明涉及产品测试领域,特别涉及一种对嵌入式产品在测试过程中捕获异常信息并保存以备事后分析的方法。
【背景技术】
[0002]在研发人员开发出产品转到测试部进行产品性能测试是否符合准标要求时,测试过程中往往会发现比较多的Bug (错误)。大部分Bug是可再现的,但其中有一些Bug是偶尔出现的或是很难复现的。这种Bug的出现事前没有任何的规律可寻。这就造成了,测试人员与研发人员很难发现问题所在,不知道当时问题发生时,是引什么原因引起的。即不知道当时程序运行的上下文信息及调用关系。十分不利于这种问题的解决。往往测试人员与开发人员在这类问题上花费大量时间去复现问题。因为是偶现,测试人员不知道什么时候会出现,所以当突然出现时,也没有任何规则可寻,也没记录有用信息。这就造成了测试效果不佳,效率极率。甚至有时候还找不到问题所在,给产品埋下了安全隐患。
[0003]目前,解决偶现bug问题,很多方法都是当程序出现异常时,再分析异常信息。但很多时候是测试人员无意识、无目的性操作中引起的偶尔性出现或无规则突然性、难复现的异常,基本无有用异常信息供分析。造成问题无法解决。
[0004]另外,采用一些专用工具捕获偶现bug,有些工具可以捕获信息,但它们缺陷都是没有实现整个测试过程中自动化记录有用上下文信息。不符合实际测试中无规则、突然性出现的异常情况的特性。

【发明内容】

[0005]本发明针对上述问题,提出一种可以自动捕获程序出现异常时自动捕获并存保存上下文信息及调用关系的整体解决方案。应用于测试人员测试嵌入式产品过程中,为解决实际问题提供必要的分析信息。
[0006]本发明的技术方案是:一种嵌入式设备测试异常信息自动捕获方法,包括以下步骤:
A、启动待测嵌入式设备,保存侦测信息文件;
B、在待测嵌入式设备的软件中实现strace绑定待侦测的进程;
C、把信息捕获到指定的文件;
D、监控所述的指定的文件,当其大小超过阀值时,自动清空旧的数据。
[0007]进一步的,上述的嵌入式设备测试异常信息自动捕获方法中:在启动待测产品后,通过代码创建进程时的名称获取该进程的Pid参数,代码实现绑定待侦测的进程,所述的步骤B中,通过命令strace _o %s _1-f -p %d ,实现绑定pid指定的进程,并保存侦测信息保存,防止待测产品异常死机无法保存信息。
[0008]进一步的,上述的嵌入式设备测试异常信息自动捕获方法中:在步骤D中,自动清空旧的数据时,将其保存到与该待测产品相连的非易失性存储设备中,采用定时侦侧机制,当其文件内容大小超过阀值时,自动清空旧的数据。
[0009]本发明在相同的条件下可以使测试过程更加自动化,随时可以保存有用的程序上下文信息。当无规则、无规律、突然性的异常发现时,就可以提供足够的异常信息用于分析问题产生的原因。可以避免测试人员为复现问题花费大量的测试时间,同时也为研发人员及时、高率地解决问题提供了必要的支持。
[0010]下面结合具体实施例对本发明作较为详细的描述。
【专利附图】

【附图说明】
[0011]图1为本发明流程图。
【具体实施方式】
[0012]本实施例的方案提供提出一种可以自动捕获程序出现异常时自动捕获并存保存上下文有用信息及调用关系的整体解决方案。主要是通过代码创建进程时的名称获取该进程的Pid参数,代码实现绑定待侦测的进程,这里PID (进程控制符)英文全称为ProcessIdentifier,它也属于电工电子类技术术语。PID就是各进程的身份标识,程序一运行系统就会自动分配给进程一个独一无二的PID。进程中止后PID被系统回收,可能会被继续分配给新运行的程序。PID —列代表了各进程的进程ID,也就是说,PID就是各进程的身份标识。只要运行一程序,系统会自动分配一个标识,进程中止后,这个号码就会被回收,并可能被分配给另一个新进程。只要没有成功运行其他程序,这个Pid会继续分配给当前要运行的程序!如果成功运行一个程序,然后再运行别的程序时,系统会自动分配另一个pid,PID是系统自动分配给进程的唯一身份标识。
[0013]在本实施例中,引入开源代码strace编译生成strace工具。在代码中实现参数传输,使Strace实施具体的进程信息监控。为实现上下文信息随时保存有用部分信息,又不会引起保存文件过大占用大量的空间。需要引入定时侦测机制实现内容大小监控,当大小超过阀值时,自动清空旧的数据。这里上下文信息是指进程的上下文信息,如,进程运行时,有堆、栈、寄存器、cpu等信息,这些信息就构成了进程的上下文信息。同时,为实现数据在嵌入式系统突然挂掉时仍然不会掉失,可以通过USB接口接入U盘或通过Lan接口 mount到PC中永久保存。通过这一整套方案可以完成从测试开始时,到测试结束整个过程始终对进程上下文信息的实时捕获保存。当无规则、无规律、突然性操作引起的异常发现时,就可以提供足够的异常信息用于分析问题产生的原因。及时高率地解决问题。
[0014]本实施例的流程图如图1所示:对嵌入式产品如AP进行测试时异常信息自动捕获的具体步骤如下:
I)待测嵌入式产品无线路由器AP启动。
[0015]2) AP软件中实现strace绑定待侦测的进程A 3)把信息捕获到指定的文件,如采用如下命令: straces - p pid -o filename
将信息捕获到到文件名filename的文件中,并通过定时侦测机制实现内容大小监控,当大小超过阀值时,自动清空旧的数据。
[0016]4)为确保防止文件内容在断电或死机时掉失,我们通过软件实现把文件mount到PC硬盘上或有USb接口的U盘上保存。
[0017]本实施例中,保存到文件中的捕获信息中包括有用的部分和无用的部分,一般说来有用部分信息是指当进程发生异常时,进程上下文件信息。这些信息是进程发现异常时产生的。无用部分信息是指当进程正常运行时,获捕到的信息,其与异常发生无关,所以对本实施例来说是无用的。通过定时侦测机制实现内容大小监控,当大小超过阀值时,自动清空旧的数据这就保证了,无异常发生时,当内容超过阀值时,会删除无用信息。当异常发生时,由于内容没有达到阀值,所以保存下来。
【权利要求】
1.一种嵌入式设备测试异常信息自动捕获方法,其特征在于:包括以下步骤: A、启动待测嵌入式设备,保存侦测信息文件; B、在待测嵌入式设备的软件中实现strace绑定待侦测的进程; C、把信息捕获到指定的文件; D、监控所述的指定的文件,当其大小超过阀值时,自动清空旧的数据。
2.根据权利要求1所述的嵌入式设备测试异常信息自动捕获方法,其特征在于:在启动待测产品后,通过代码创建进程时的名称获取该进程的Pid参数,代码实现绑定待侦测的进程,所述的步骤B中,通过命令strace _o %s _1-f -p %d ,实现绑定pid指定的进程,并保存侦测信息保存,防止待测产品异常死机无法保存信息。
3.根据权利要求2所述的嵌入式设备测试异常信息自动捕获方法,其特征在于:在步骤D中,自动清空旧的数据时,将其先保存到与该待测产品相连的非易失性存储设备中。
【文档编号】G06F11/36GK103631718SQ201310665150
【公开日】2014年3月12日 申请日期:2013年12月10日 优先权日:2013年12月10日
【发明者】谢奕勇 申请人:深圳市共进电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1