CN101201782A - 调试信息采集方法及调试信息采集系统 - Google Patents

调试信息采集方法及调试信息采集系统 Download PDF

Info

Publication number
CN101201782A
CN101201782A CNA2007103066833A CN200710306683A CN101201782A CN 101201782 A CN101201782 A CN 101201782A CN A2007103066833 A CNA2007103066833 A CN A2007103066833A CN 200710306683 A CN200710306683 A CN 200710306683A CN 101201782 A CN101201782 A CN 101201782A
Authority
CN
China
Prior art keywords
probe
software
information collection
debug information
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2007103066833A
Other languages
English (en)
Other versions
CN100533398C (zh
Inventor
川崎进一郎
野尻彻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of CN101201782A publication Critical patent/CN101201782A/zh
Application granted granted Critical
Publication of CN100533398C publication Critical patent/CN100533398C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring

Abstract

本发明涉及调试信息采集方法及调试信息采集系统,在软件分配装置(102)中,二进制解析部(122)求出可将探针插入软件的插入位置的全体集合。二进制变更部(125)对插入软件的探针插入位置的母集合和插入每个设备(104)的探针的插入数进行确定,从所述母集合中选择所述插入数的量的探针的插入位置并插入软件中。届时参照探针信息(123)、执行装置信息(124)、调试信息(132)。软件分配部(129)将插入了探针的软件分配到设备(104)。由此,能够同时减轻设备侧的负担和软件开发者侧的负担,而且能够无偏差地一致地获取调试信息。

Description

调试信息采集方法及调试信息采集系统
技术领域
本发明涉及为了提高软件质量尤其是相对于连接于网络的多个设备被分配、执行的软件的调试(デバツグ)信息采集方法。
背景技术
在信息家电、移动电话等称做组装(組达み)机器的信息处理装置中,软件的规模正在增大。原因是由于对应网络的功能追加、用户要求的增大等,要求运用软件在短时间内实现很多新功能。随着这种软件规模的增大,要求确保软件的质量。但在确保质量的同时时间的确保是很难的,在产品上市后也需要对于软件更新等的对应措施。
作为确保软件质量的方法,有向软件插入用于调查执行过程的探针(probe)进行调试信息采集的方法。例如,是调查软件的执行部分与非执行部分的有效区域法(coverage);调查开发者指定的条件句的真伪值的错误检查法(ァサ一シヨン)等方法。但在计算机资源缺乏的组装装置上,不能满足必要的存储区域的增加及性能间接时间(オ一バ一ヘツド)的要求,不能够插入多个探针。
针对这一问题,在专利文献1中提出了先人为地指定插入探针的范围,再在指定的范围内自动地插入探针的方法。此方法通过将插入的探针限定在一部分,避开了存储区域和执行时间的问题。虽然同时也限定了可采集的信息,但通过反复进行探针插入范围的变更和调试信息采集,就能采集到所需量的调试信息。
另外,在非专利文献1中提出了将使用探针获得的调试信息通过网络进行采集的方法。此方法与专利文献1的方法不同,不限定插入的探针,而是将所有的探针都插入软件。取而代之,通过在软件执行时使用随机数将采集信息的探针限定在一部分,在减少采集的信息量的同时避开了因信息采集造成的执行时间的增加。通过对集中采集到的信息进行统计性的分析,推定出故障的原因(故障(bug)位置)。
专利文献1中预先限定了探针的插入范围、并预先限定了存储资源及执行时间的间接时间(オ一バ一ヘツド),开发者指定了探针的插入范围,因此能够进行对应多样的设备特性及测试条件的细致的信息采集。但是,对于从许多的设备重复地进行信息采集来说,存在着较为麻烦的问题。
另外,在非专利文献1中使用随机数对获取信息的探针进行了限定,因此执行时间的间接时间(オ一バ一ヘツド)被限定,开发者无需指定探针的麻烦。但是,由于将所有的探针预先插入程序,存在着对存储资源赋予的间接时间很大的问题。
也就是说,这些文献所述的技术存在一个问题,即从许多且多样的设备采集调试信息时的存储资源及探针执行时间的削减与基于开发者的信息采集的工夫的削减不能同时实现。另外,即使将上述两个文献的技术加以组合,也无法避免在由探针采集的调试信息上出现偏差,因而,留下了阻碍迅速高效地开发软件的问题。
【专利文献1】日本特开平6-161825号公报
【非专利文献1】Ben Liblit,Alex Aiken,Alice X.Zheng and MichaelI.Jordan.Bug Isolation via Remote Program Sampling.PLDI’03,June9-11,2003
发明内容
本发明的目的在于提供一种调试信息采集方法,它能同时减轻设备方的负担和开发者方的负担,而且能够无偏差地一致地取得调试信息。
本发明涉及一种调试信息采集方法,即为了采集调试信息将探针插入软件并分配到多个设备,对通过在该设备中执行该软件得到的调试信息进行采集的调试信息采集方法,其特征在于,求出可将探针插入软件的插入位置的全体集合,从该全体集合中取出部分集合,确定插入软件的探针的插入位置的母集合,确定插入每个设备的探针的插入数,从母集合中选择上述插入数的量的探针的插入位置并插入软件,并将插入有探针的软件分配到设备。
插入上述设备的探针的插入数根据该设备的存储容量或CPU性能来决定每一设备的插入数,使用随机数从上述母集合中选择上述插入数的量的探针的插入位置并插入上述软件。
上述探针的插入位置的母集合,参照已插入过去分配的软件的探针的插入次数,并从该插入次数少的插入位置的部分集合进行确定。
上述探针的插入位置的母集合,参照从已插入过去分配的软件的探针采集到的调试信息从该调试信息求出各探针的执行次数,从该执行次数少的探针插入位置的部分集合进行确定。
上述探针的插入位置的母集合,从上述调试信息求出各探针的执行次数,从其中在故障发生时执行过的执行次数少的探针插入位置的部分集合进行确定。
根据本发明,能够减轻设备方的负担和软件开发者方的负担,实现分配后的软件的故障原因解析的迅速化。
附图说明
图1所示为本发明涉及的软件分配系统的全体结构图;
图2为软件分配装置保存的探针信息123的示例图;
图3为软件分配装置保存的执行装置信息124的示例图;
图4为调试信息采集装置保存的调试信息132的示例图;
图5为调试信息采集处理的整个流程的示例图;
图6为图5中的插入探针选择处理的详细流程图。
具体实施方式
下面,用附图对本发明的实施例进行说明。
图1所示为本发明涉及的软件分配系统的整体结构图。本系统由软件开发装置101、软件分配装置102、调试信息采集装置103及多个执行装置(设备)104、105、106等构成。首先对各装置的关系进行说明。
软件开发者使用软件开发装置101进行软件开发,生成可执行的二进制(バイナリ)。生成的二进制经内部网络等送至软件分配装置102。软件分配装置102对二进制插入探针后,经互联网等将其二进制分配到执行装置104、105、106等。各执行装置执行分配到的二进制,向执行装置的所有者等提供服务。同时,对通过探针获得的调试信息进行采集,并将其送至调试信息采集装置103。调试信息采集装置103对从各执行装置送达的调试信息进行存储,通过统计性解析等生成用于推断故障原因的信息。此信息通过软件开发装置101等提供给软件开发者。下面,就各装置的内部结构进行说明。
软件开发装置101保存源代码111、二进制112等数据,并具有源代码编辑处理部113、编译处理部114等功能。源代码编辑处理部113对基于软件开发者的源代码111的生成作业进行支持。编译处理部114将源代码111转换为二进制112。二进制112根据开发者的判断被送至软件分配装置102。
软件分配装置102将软件开发装置101送来的二进制112作为二进制121进行保存。二进制解析部122对二进制121进行解析,对可插入探针的位置进行抽取。抽取的探针插入位置保存在探针信息123中。另外,将成为软件分配对象的执行装置(设备)的目录保存在执行装置信息124中。二进制变更部125虽将探针插入二进制121,但当时参照执行装置信息124、探针信息123、调试信息132等决定探针的数量和插入位置。二进制变更部125由插入探针选择部126、探针插入部127等功能模块构成。插入结束后的二进制成为探针插入完成二进制128并被保存。软件分配部129将探针插入完成二进制128发送至执行装置104等。
执行装置104向软件分配装置102提出软件(二进制)的分配要求,软件接收部143对探针插入完成二进制141进行接收,并作为探针插入完成二进制141进行保存。根据基于用户的启动等的触发器(トリガ)执行探针插入完成二进制141,作为执行结果,得到探针采集信息142。此时能得到的探针采集信息限定在软件分配装置102中插入的探针,没插入的探针当然得不到信息。得到的探针采集信息142通过探针采集信息发送部144送至调试信息采集装置103。
调试信息采集装置103经探针采集信息接收部133从执行装置104等对探针采集信息142进行接收,并作为调试信息132进行存储。另外,故障原因位置推定部131用调试信息132对与软件执行时发生故障的原因相关的探针进行推定,并生成原因可能性高的探针的目录。此目录提供给软件开发者,据此进行软件故障原因的解析。此解析需要一定量的数据。通过各执行装置执行足够次数的软件直到在调试信息132中积蓄足够量的数据,需花费一定的时间。
本系统的结构中,软件分配装置102的二进制变更部125具有插入探针选择部126和探针插入部127。插入探针选择部126参照执行装置信息124、探针信息123、调试信息132等,按照插入二进制121的探针无偏差而是一样的方式,进行选择。另外,探针插入部127还具有对应各执行装置(设备)的性能对探针的插入位置等进行确定的特征。
图2为软件分配装置102保存的探针信息123的示例图。图中,作为对象的软件假定为邮件收发用的程序。对插入的各探针为了对其进行识别,分派探针ID201,对象模块202表示各探针属于哪个模块。图中,作为示例,属于MailReadUI、MailEditUI、CommonLogger等名称的模块。探针类别203列举观测函数返回值的“返回值”和观测代入指针(ポインタ)等变量后的值的“代入值”2种。此外,也可以是观测软件开发者插入的条件句的真伪值的“错误检查法”、观测分支位置的分支方向的“有效区域法”等其他种类的探针。
对象类别204、对象方法205、插入位置206是用于确定探针插入位置的信息。图中的示例是假定为Java(注册商标)等程序形式,由类别和方法确定指令列,由插入位置确定从指令列前端起的补偿字节(オフヤツトバイト)数,当然其他程序形式也可以。源代码行207是表示各探针在源代码111中对应哪个位置的信息。当推断与故障有关的探针确定后,软件开发者便能够将与探针对应的源代码行207的周边做优先处理、进行故障原因的调查。另外,本实施例中,不是将探针中取得的值直接作为观测结果,而是将取得的值与特定的值进行比较后的结果作为观测结果。比较对象208表示比较的特定的值或变量。插入次数209是表示各探针插入多少次的值。因为当向一个执行装置分配软件时,在软件插入一定个数的探针组,所以对与被插入的探针对应的“插入次数”做加1运算。
关于探针ID=1的例子,如果叙述数据的内容,则是MailRead UI模块中的返回值型的探针,插入MailList类、update方法的第124字节处。另外,此探针是将观测数据与0比较后的结果送回,到此为止插入分配二进制中的次数为3次。
图3为软件分配装置102保存的执行装置信息124的示例图。装置ID301将发货时分配给各执行装置的制造编号作为ID,以便能够进行唯一识别。执行装置的类别302分为H9000的旧的类型和H9010的新的类型的两种机型。当进行各个机型的比较时,可见其性能不同,如CPU类别303有“A”和“B”、CPU频率304有“200”MHz和“233”MHz。进而,由于组装设备存在着与存储资源有关的制约,所以可分配的软件的大小(サイズ)也常设置上限。这里,对能够从软件分配装置102接收的软件的大小限度305赋予不同的值,即H9000时为32k字节;H9010时为64字节。其结果,能够插入的探针数的上限306分别设定为12个、14个。
图4为调试信息采集装置103保存的调试信息132的示例图。本数据分为计测条件400和计测结果410。计测条件400由探针ID401、探针类别402、执行装置类别403组成。在这里表示,关于由探针ID=1确定的探针进行过4次计测。此探针的ID为1;类别为“返回值”;H9000的计测实施了2次;H9010的计测也实施了2次。
计测结果410由结束状态411和比较结果的次数412构成。结束状态411是与从各探针获得的信息组合,表示采集的软件结束时的状态的信息。图中填有识别以无错误结束的“正常结束”和因冲突等错误结束的“错误”的2种状态的数据。比较结果的次数412将各探针上的比较结果分为“负:<”“正:>”“等:=”,并是将各自的次数计数后的数字。例如:探针ID=1中的最初的数据显示为:在正常结束时,此探针进行了2次计测,比较结果为正时1次,为相等时1次。
这些调试信息132用于选择插入的探针,以便在下次分配软件时能够均一有效地采集调试信息。
图5为本发明的调试信息采集处理的整个流程的示例图。各处理步骤按顺序说明如下。
步骤S501:为了对软件开发装置101生成的二进制进行分配,向软件分配装置102复制二进制。
步骤S502:二进制解析部122对分配对象的二进制121进行解析,对可插入的探针进行编目(リストァツプ)。例如抽出方法(メソツド)的调出位置,将其作为观测方法的“返回值”的探针的插入位置。将抽出的探针插入位置追加到探针信息123。这样,关于成为分配对象的二进制全体,生成探针信息123。
步骤S503:选择1个成为软件分配对象的执行装置(设备)。此时,软件分配装置102虽然可以根据执行装置信息124自主地选择分配目的地的执行装置,或者说也可以是从执行装置104接收软件的分配要求后再进行相应的分配的形式。
步骤S504:二进制变更部125向选择的分配对象的执行装置进行插入的探针的选择。届时,对应执行装置对探针的数量进行确定,另外,对应插入履历对插入的探针的母集合(母集団)进行确定。详情后述。
步骤S505:将选择了的探针插入二进制121,生成探针插入完成二进制128。
步骤S506:软件分配部129将探针插入完成二进制128送往分配对象的执行装置104。
步骤S507:执行装置104对接收到的软件加以执行。
步骤S508:作为软件执行的结果,获取探针采集信息142,并送往调试信息采集装置103。
步骤S509:调试信息采集装置103将获得的探针采集信息142作为调试信息132进行存储。
步骤S510:故障原因位置推断部131对执行时发生的故障的相关探针进行推断,并生成探针的目录。
步骤S511:软件开发者根据探针目录对软件故障的原因进行解析。
图6为上述图5中的插入探针选择处理(步骤S504)的详细流程图。
步骤S601:二进制变更部125参照执行装置信息124对有关分配对象的执行装置的信息进行获取。获取的信息如图3所示,为装置类别、CPU类别、CPU频率、分配软件大小限制、探针数上限等。
步骤S602:确定根据获取的执行装置信息124插入的探针数。探针数根据分配对象的执行装置的性能作适当地确定。进而,当对同一执行装置进行重复分配时,每次分配的数量不同也可以。
这里,将对应执行装置进行探针数确定的几个具体方法叙述如下。
(1)根据可分配的软件大小限制而进行确定的方法。如果增加插入探针的个数,则二进制大小(バイナリサイズ)增加。于是,此方法是将二进制大小不超过限制值的最大探针数(探针数的上限值306)作为插入个数。例如,在确定探针插入个数与二进制大小的增加成比例关系的情况下,当插入前的二进制大小为Xo,将全部探针N个插入后的二进制大小为Xp,可分配的二进制大小的上限为M时,将满足下式的最大的n作为探针数。
n(Xp-Xo)/N+Xo<M
由此,便能对将各执行装置的存储区域最大限度地活用了的调试信息进行采集。
(2)根据CPU的类别、工作频率而确定的方法。对应CPU的类别将预先确定的常数作为探针数。另外,对工作频率与探针数的比例关系进行预先确定,确定探针数。据此,若为具有运算能力高的CPU、处理时间余量多的执行装置,就使用多个探针进行测定。若为具有运算能力低的CPU、处理时间余量少的执行装置,就限定用少数探针进行测定。其结果,便能进行符合各执行装置的工作能力的调试信息的采集工作。另外,也可以同时采用在执行装置侧对测定的探针数进行限定的方法。这时,为了对每个执行装置改变测定探针数,先从软件分配装置102向执行装置传输测定探针数,再仅从传输的数量的探针获取信息,这样便能实现对应CPU性能的信息采集。
(3)其他的探针数确定方法。也可以是基于用户为使用软件而签订的协议的内容的确定方法;基于由GPS测位的设备的位置信息的确定方法;基于网络带宽或是否经常网络在线的确定方法等。另外,也可以包括上述确定方法在内,将多个确定方法加以组合。还可以是从由各确定方法算出的探针数中选择最小的探针数的确定方法。
步骤S603:二进制变更部125进一步参照探针信息123、调试信息132,对有关探针插入位置的全体集合的信息进行获取。
步骤S604:在进行插入探针的选择时,对作为选择对象的探针的母集合加以确定。此母集合是从探针信息123获取的探针全体集合的部分集合。也就是说,选择的探针不是从全体集合、而是从母集合进行确定。
这里,对从探针插入履历进行母集合确定的几个具体方法叙述如下。
(4)对应各探针的插入次数进行确定的方法。将具有由探针信息123获得的插入次数的最大值的探针除外,将其余的探针作为母集合。换句话说,以插入次数少的探针构成母集合。例如,图2中,因为ID=2的插入次数最大(4次),所以从母集合中除外。通过此操作可选择插入次数少的探针,并能实现没有各探针的插入次数偏差的一致化。一旦探针插入次数有偏差,关于特定探针所采集的信息就会变少,因此用于获得推定故障原因位置所需信息的等待时间就会变长。通过无插入次数的偏差的处理,能够以更短的时间进行故障原因位置的推定。
(5)对应以往的调试信息进行确定的方法。即基于各探针的执行次数及错误发生时的执行次数的方法。图4所示的调试信息132中,探针ID=1执行了4次,其中发生错误1次。另一方面,探针ID=2执行了2次,其中发生错误1次。作为探针的母集合,通过选择执行次数少的探针,便于在更短的时间对这些探针的信息进行采集。或者通过选择错误发生次数少的探针,更便于对错误发生时的信息进行采集。由此,关于各探针,便能实现无执行次数偏差,并能缩短推定所需的信息采集的等待时间。
(6)其他的母集合的确定方法。也可以是对每个模块的探针执行次数进行比较,按照模块单位选择母集合的方法;从探针插入履历中对在一次分配中插入的探针的组合进行校验,对探针的组合偏差进行平均化的方法等。也可以包括前述的决定方法在内,将多个决定方法进行组合。例如有将从各决定方法获得的母集合的和集合、或积集合作为母集合的方法。
步骤S605:从上述决定了的探针的母集合中,用随机数等选择一个探针。关于选择了的探针,在探针信息123的“插入次数209”作加1运算。
步骤S606:当选择了的探针数达到步骤S602决定了的插入探针的数时便结束探针选择。未达到时便返回步骤S603再次进行探针选择。
如本实施例这样,因为是对应实施装置的性能决定插入探针数,所以没有执行装置侧负担过大的问题。另外,因为是反映探针的插入履历并决定母集合,所以不形成插入探针偏差。其结果,同时减轻了设备侧的负担和开发者侧的负担,而且能够一致地获取调试信息,有望实现软件的故障原因解析的迅速化。
上述实施例为关于单一的二进制进行调试信息采集的示例,而以多个二进制为对象也能适用。另外,上述所示为对二进制插入探针的实施例,而对源代码也可以插入探针。届时,软件分配装置102将二进制代之以源代码进行配置,并可具有编译处理部。
上述实施例为经互联网等公共网络连接软件分配装置102、调试信息采集装置103、执行装置104、105、106等时的示例,而使用内部网络等组织内网络将这些进行连接也可以。
也就是说,即使对执行装置104等进行出厂前的软件改善,本发明也能适用。另外,软件的分配在执行装置104出厂前经内部网络进行实施,而将调试信息的采集在执行装置104出厂后经互联网进行实施的方式也可以。也就是说,即使在不提供软件分配服务的情况下,本发明也能适用。
本实施例为软件开发装置101、软件分配装置102、调试信息采集装置103等通过内部网络等组织内网络进行连接的示例,而使用互联网等公共网络连接这些也可以。也就是说,当将基于软件分配装置102及调试信息采集装置103的软件分配及调试信息采集的功能对软件开发者进行有偿或无偿的服务提供时,本发明也能适用。

Claims (16)

1.一种调试信息采集方法,即为了采集调试信息将探针插入软件,分配到多个设备,对通过在该设备中执行该软件得到的调试信息进行采集的调试信息采集方法,其特征在于,
求出可将探针插入所述软件的插入位置的全体集合,
从该全体集合中取出部分集合,确定插入所述软件的探针插入位置的母集合,
确定插入每个所述设备的探针的插入数,
从所述母集合中选择所述插入数的量的探针的插入位置并插入所述软件,
将插入有探针的软件分配到所述设备。
2.根据权利要求1所述的调试信息采集方法,其特征在于,
插入所述设备的探针的插入数根据该设备的存储容量或CPU性能来对每一设备决定插入数,
使用随机数从所述母集合中选择所述插入数的量的探针的插入位置并插入所述软件。
3.根据权利要求1所述的调试信息采集方法,其特征在于,
所述探针的插入位置的母集合,参照已插入过去分配的软件的探针的插入次数,并从该插入次数少的插入位置的部分集合进行确定。
4.根据权利要求1所述的调试信息采集方法,其特征在于,
所述探针的插入位置的母集合,参照从已插入过去分配的软件的探针采集到的调试信息,
从该调试信息求出各探针的执行次数,从该执行次数少的探针插入位置的部分集合进行确定。
5.根据权利要求4所述的调试信息采集方法,其特征在于,
所述探针的插入位置的母集合,从所述调试信息求出各探针的执行次数,从其中在故障发生时执行过的执行次数少的探针插入位置的部分集合进行确定。
6.一种以多个组装设备执行的软件的调试信息采集方法,其特征在于,包括:
从记录探针插入位置的探针信息和组装设备的装置信息及调试信息生成将探针插入所述软件并进行分配的软件的步骤;
向多个组装设备的各个分配插入有不同的探针的软件的步骤;
从所述多个组装设备获取所分配的软件的探针采集信息的步骤;和
根据所述获取的探针采集信息更新所述调试信息的步骤。
7.根据权利要求6所述的调试信息采集方法,其特征在于,
在该方法中生成插入所述探针并进行分配的软件的步骤包括:
插入所述设备的探针的插入数,根据该设备的存储容量或CPU性能来对每一设备决定插入数,
使用随机数选择所述插入数的量的探针的插入位置并将探针插入所述软件的步骤。
8.根据权利要求6所述的调试信息采集方法,其特征在于,
在该方法中生成插入所述探针并进行分配的软件的步骤包括:
参照已插入过去分配的软件的探针的插入次数,将该插入次数少的插入位置的探针插入的步骤。
9.根据权利要求6所述的调试信息采集方法,其特征在于,
在该方法中生成插入所述探针并进行分配的软件的步骤包括:
参照从已插入过去分配的软件的探针采集到的调试信息,从该调试信息求出各探针的执行次数,在该执行次数少的探针插入位置插入探针的步骤。
10.根据权利要求6所述的调试信息采集方法,其特征在于,
在该方法中生成插入所述探针并进行分配的软件的步骤包括:
从所述调试信息求出各探针的执行次数,在其中故障发生时执行过的执行次数少的探针插入位置插入探针的步骤。
11.一种采集软件调试信息的调试信息采集系统,其特征在于,包括:
执行进行调试的软件并生成调试信息的多个执行装置;
开发所述软件并生成可执行的二进制数据的软件开发装置;
将探针插入所述二进制数据并生成所述进行调试的软件后向所述设备分配所述进行调试的软件的软件分配装置;和
从所述执行装置对分配于所述执行装置并被执行了的软件的调试信息进行采集的调试信息采集装置。
12.根据权利要求11所述的调试信息采集系统,其特征在于,
所述软件分配装置包括:
解析进行调试的软件并抽出可插入探针的位置的二进制解析部;
对通过所述二进制解析部抽出的探针插入位置进行记录的探针信息保持部;
对分配插入有探针的软件的执行装置的目录进行记录的执行装置信息保持部;和
参照记录于所述探针信息保持部的信息和记录于所述执行装置信息保持部的信息以及所述调制信息采集装置采集的所述调试信息,将探针插入所述二进制数据生成所述进行调试的软件的二进制变更部。
13.根据权利要求12所述的调试信息采集系统,其特征在于,
在所述探针信息保持部,包括对每个插入的探针的ID记录下述内容的区域:
各探针插入的模块名;
表示各探针观察的内容的探针类别;
确定各探针插入位置的插入位置信息;
记录各探针期望值的比较对象值;和
对各探针插入模块的次数进行计数的插入次数值。
14.根据权利要求13所述的调试信息采集系统,其特征在于,
所述探针信息保持部的探针类别中记录的类别有:
是否观测函数的返回值;是否观测对变量的代入值;是否观测条件句的真伪值;是否观测分支位置的分支方向。
15.根据权利要求12所述的调试信息采集系统,其特征在于,
在所述执行装置信息保持部对每个所述执行装置包括:
表示执行装置的机种的类别信息;
表示CPU性能的CPU类别信息;
表示分配软件的大小限度的大小信息;和
表示可插入的探针数的上限值的探针上限值。
16.根据权利要求11所述的调试信息采集系统,其特征在于,
在所述调试信息采集装置采集的调试信息,对每个由探针ID、探针类别和执行装置类别组成的计测条件,记录着包括表示由探针采集的软件结束时的状态的信息和探针的比较结果的各个的次数的计测结果。
CNB2007103066833A 2006-12-01 2007-11-30 调试信息采集方法及调试信息采集系统 Expired - Fee Related CN100533398C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006325922A JP2008140162A (ja) 2006-12-01 2006-12-01 デバッグ情報収集方法
JP2006325922 2006-12-01

Publications (2)

Publication Number Publication Date
CN101201782A true CN101201782A (zh) 2008-06-18
CN100533398C CN100533398C (zh) 2009-08-26

Family

ID=39499836

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007103066833A Expired - Fee Related CN100533398C (zh) 2006-12-01 2007-11-30 调试信息采集方法及调试信息采集系统

Country Status (4)

Country Link
US (1) US20080141224A1 (zh)
JP (1) JP2008140162A (zh)
KR (1) KR100990777B1 (zh)
CN (1) CN100533398C (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105074670A (zh) * 2013-03-26 2015-11-18 日本电气株式会社 日志输出控制设备、方法及程序
CN105281967A (zh) * 2014-06-20 2016-01-27 北京神州泰岳软件股份有限公司 一种数据采集方法和系统

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8301605B2 (en) * 2007-12-17 2012-10-30 International Business Machines Corporation Managing maintenance tasks for computer programs
US8291399B2 (en) * 2008-03-26 2012-10-16 Avaya Inc. Off-line program analysis and run-time instrumentation
JP4833326B2 (ja) * 2009-09-28 2011-12-07 株式会社三菱東京Ufj銀行 コード編集用プログラム及びコード編集装置
JP5532144B2 (ja) * 2010-11-25 2014-06-25 トヨタ自動車株式会社 プロセッサ、電子制御装置、作成プログラム
US9575871B2 (en) * 2012-09-04 2017-02-21 Salesforce.Com, Inc. System and method for dynamically debugging data in a multi-tenant database environment
US9268598B2 (en) * 2012-09-13 2016-02-23 International Business Machines Corporation Recording and profiling transaction failure source addresses and states of validity indicator corresponding to addresses of aborted transaction in hardware transactional memories
US20140289572A1 (en) 2013-03-22 2014-09-25 International Business Machines Corporation Dynamically Altering Error Logging Activities In A Computing System
JP6247237B2 (ja) * 2015-01-30 2017-12-13 日本電信電話株式会社 オートリソースロギングシステム、オートリソースロギング方法及びプログラム
CN105681410B (zh) * 2016-01-07 2019-07-19 深圳市金证科技股份有限公司 一种跟踪记录调试信息的方法和装置
EP3497574A4 (en) 2016-08-09 2020-05-13 Sealights Technologies Ltd. SYSTEM AND METHOD FOR THE CONTINUOUS EXAMINATION AND PROVISION OF SOFTWARE
US10929270B2 (en) 2018-01-01 2021-02-23 Rookout Ltd. System and method for controlled data extraction in computer networks
US11086759B2 (en) 2018-09-27 2021-08-10 SeaLights Technologies LTD System and method for probe injection for code coverage
US11573885B1 (en) 2019-09-26 2023-02-07 SeaLights Technologies LTD System and method for test selection according to test impact analytics
CN111586475B (zh) * 2020-05-27 2022-05-06 飞思达技术(北京)有限公司 一种iptv和ott直播音视频质量和感知评价系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5826005A (en) * 1996-03-22 1998-10-20 Sun Microsystems, Inc. System and method for diagnosing computer program faults through the provision of program probe points and referenceable diagnostic program probes
JPH10214203A (ja) * 1997-01-29 1998-08-11 Nec Corp 情報処理装置
US6826717B1 (en) * 2000-06-12 2004-11-30 Altera Corporation Synchronization of hardware and software debuggers
US20040111707A1 (en) * 2000-12-15 2004-06-10 Bliss Andrew L. Debugger for multiple processors and multiple debugging types
CA2345416C (en) * 2001-04-27 2005-05-03 Ibm Canada Limited-Ibm Canada Limitee High performance debugging in a message flow environment
US7475303B1 (en) * 2003-12-29 2009-01-06 Mips Technologies, Inc. HyperJTAG system including debug probe, on-chip instrumentation, and protocol
US7590521B2 (en) * 2004-04-07 2009-09-15 Microsoft Corporation Method and system for probe optimization while instrumenting a program
US7950001B2 (en) * 2006-09-08 2011-05-24 International Business Machines Corporation Method and apparatus for instrumentation in a multiprocessing environment

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105074670A (zh) * 2013-03-26 2015-11-18 日本电气株式会社 日志输出控制设备、方法及程序
CN105074670B (zh) * 2013-03-26 2017-11-17 日本电气株式会社 日志输出控制设备、方法和计算机可读记录介质
CN105281967A (zh) * 2014-06-20 2016-01-27 北京神州泰岳软件股份有限公司 一种数据采集方法和系统
CN105281967B (zh) * 2014-06-20 2019-06-28 北京神州泰岳软件股份有限公司 一种数据采集方法和系统

Also Published As

Publication number Publication date
CN100533398C (zh) 2009-08-26
KR20080050331A (ko) 2008-06-05
JP2008140162A (ja) 2008-06-19
US20080141224A1 (en) 2008-06-12
KR100990777B1 (ko) 2010-10-29

Similar Documents

Publication Publication Date Title
CN100533398C (zh) 调试信息采集方法及调试信息采集系统
CN105426278B (zh) 一种客户端设备性能测试方法及系统
CN101523232B (zh) 联网测试系统
CN102567203B (zh) 一种测试分布式文件系统性能的方法及系统
CN108959059B (zh) 一种测试方法以及测试平台
CN109446072A (zh) 测试脚本的生成方法和装置
CN102799529B (zh) 一种动态的二进制代码测试用例生成方法
CN102112940A (zh) 用于对电力输送控制系统的性能进行监控的方法和装置
CN105607994A (zh) 一种移动终端软件测试方法和系统
CN109753432A (zh) 一种接口性能测试方法、装置、服务器及系统
CN111262753B (zh) 一种numa节点个数自动配置方法方法、系统、终端及存储介质
CN111061639B (zh) 一种高效多系统测试代码覆盖率的管理方法
EP3151124A1 (en) On-board information system and information processing method therefor
CN109587351B (zh) 一种呼叫测试方法、装置、设备及存储介质
CN109582751A (zh) 一种检索效果的度量方法及服务器
CN109407655A (zh) 一种调试芯片的方法及装置
CN112749062A (zh) 服务端程序监控方法、装置、计算机设备及存储介质
CN110134583A (zh) 软件测试及数据处理方法及装置
CN115576831A (zh) 一种测试案例推荐方法、装置、设备及存储介质
CN107678965A (zh) 自动集成测试方法及系统、服务终端、存储器
CN110971478A (zh) 云平台服务性能的压测方法、装置及计算设备
CN114416546A (zh) 一种代码覆盖率确定方法及装置
CN111459795A (zh) 集群的压力测试方法及装置、计算机设备、存储介质
CN100514994C (zh) 通信主机的测试系统及其方法
CN109725994A (zh) 数据抽取任务执行方法、装置、终端及可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090826

Termination date: 20121130