專利名稱:調試信息采集方法及調試信息采集系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及為了提高軟件質量尤其是相對于連接于網絡的多個設備被分配、執(zhí)行的軟件的調試(,A、;/夕")信息采集方法。
背景技術:
在信息家電、移動電話等稱做組裝(組込^)機器的信息處理裝 置中,軟件的規(guī)模正在增大。原因是由于對應網絡的功能追加、用戶 要求的增大等,要求運用軟件在短時間內實現很多新功能。隨著這種 軟件規(guī)模的增大,要求確保軟件的質量。但在確保質量的同時時間的 確保是很難的,在產品上市后也需要對于軟件更新等的對應措施。
作為確保軟件質量的方法,有向軟件插入用于調查執(zhí)行過程的探針(probe)進行調試信息采集的方法。例如,是調查軟件的執(zhí)行部分與非執(zhí)行部分的有效區(qū)域法(coverage);調査開發(fā)者指定的條件句的真?zhèn)沃档腻e誤檢査法(7廿一、>3>0等方法。但在計算機資源缺乏的組裝裝置上,不能滿足必要的存儲區(qū)域的增加及性能間接時間(才 一A一八、乂卜、')的要求,不能夠插入多個探針。
針對這一問題,在專利文獻1中提出了先人為地指定插入探針的 范圍,再在指定的范圍內自動地插入探針的方法。此方法通過將插入 的探針限定在一部分,避開了存儲區(qū)域和執(zhí)行時間的問題。雖然同時 也限定了可采集的信息,但通過反復進行探針插入范圍的變更和調試 信息采集,就能采集到所需量的調試信息。
另外,在非專利文獻1中提出了將使用探針獲得的調試信息通過 網絡進行采集的方法。此方法與專利文獻1的方法不同,不限定插入 的探針,而是將所有的探針都插入軟件。取而代之,通過在軟件執(zhí)行 時使用隨機數將采集信息的探針限定在一部分,在減少采集的信息量 的同時避開了因信息采集造成的執(zhí)行時間的增加。通過對集中采集到 的信息進行統(tǒng)計性的分析,推定出故障的原因(故障(bug)位置)。
專利文獻1中預先限定了探針的插入范圍、并預先限定了存儲資源及執(zhí)行時間的間接時間(才一Z—八少卜),開發(fā)者指定了探針的插入范圍,因此能夠進行對應多樣的設備特性及測試條件的細致的信息采集。但是,對于從許多的設備重復地進行信息采集來說,存在著較為麻煩的問題。
另外,在非專利文獻1中使用隨機數對獲取信息的探針進行了限定,因此執(zhí)行時間的間接時間(才一Z一八少卜)被限定,開發(fā)者無 需指定探針的麻煩。但是,由于將所有的探針預先插入程序,存在著對存儲資源賦予的間接時間很大的問題。
也就是說,這些文獻所述的技術存在一個問題,即從許多且多樣的設備采集調試信息時的存儲資源及探針執(zhí)行時間的削減與基于開發(fā) 者的信息采集的工夫的削減不能同時實現。另外,即使將上述兩個文 獻的技術加以組合,也無法避免在由探針采集的調試信息上出現偏差, 因而,留下了阻礙迅速高效地開發(fā)軟件的問題。
專利文獻1日本特開平6—161825號公報
非專利文獻1Ben Liblit,Alex Aiken,Alice X.Zheng and Michael I.Jordan.Bug Isolation via Remote Program Sampling. PLDI,03,June 9-11,200
發(fā)明內容
本發(fā)明的目的在于提供一種調試信息采集方法,它能同時減輕設 備方的負擔和開發(fā)者方的負擔,而且能夠無偏差地一致地取得調試信息。
本發(fā)明涉及一種調試信息采集方法,即為了采集調試信息將探針插入軟件并分配到多個設備,對通過在該設備中執(zhí)行該軟件得到的調試信息進行采集的調試信息采集方法,其特征在于,求出可將探針插入軟件的插入位置的全體集合,從該全體集合中取出部分集合,確定插入軟件的探針的插入位置的母集合,確定插入每個設備的探針的插入數,從母集合中選擇上述插入數的量的探針的插入位置并插入軟件,并將插入有探針的軟件分配到設備。
插入上述設備的探針的插入數根據該設備的存儲容量或CPU性能來決定每一設備的插入數,使用隨機數從上述母集合中選擇上 述插入數的量的探針的插入位置并插入上述軟件。
上述探針的插入位置的母集合,參照已插入過去分配的軟件的 探針的插入次數,并從該插入次數少的插入位置的部分集合進行確定。
上述探針的插入位置的母集合,參照從已插入過去分配的軟件 的探針采集到的調試信息從該調試信息求出各探針的執(zhí)行次數,從 該執(zhí)行次數少的探針插入位置的部分集合進行確定。
上述探針的插入位置的母集合,從上述調試信息求出各探針的 執(zhí)行次數,從其中在故障發(fā)生時執(zhí)行過的執(zhí)行次數少的探針插入位 置的部分集合進行確定。
根據本發(fā)明,能夠減輕設備方的負擔和軟件開發(fā)者方的負擔,實 現分配后的軟件的故障原因解析的迅速化。
圖1所示為本發(fā)明涉及的軟件分配系統(tǒng)的全體結構圖2為軟件分配裝置保存的探針信息123的示例圖3為軟件分配裝置保存的執(zhí)行裝置信息124的示例圖4為調試信息采集裝置保存的調試信息132的示例圖5為調試信息采集處理的整個流程的示例圖6為圖5中的插入探針選擇處理的詳細流程圖。
具體實施例方式
下面,用附圖對本發(fā)明的實施例進行說明。
圖1所示為本發(fā)明涉及的軟件分配系統(tǒng)的整體結構圖。本系統(tǒng)由軟件開發(fā)裝置101、軟件分配裝置102、調試信息采集裝置103及多個執(zhí)行裝置(設備)104、105、106等構成。首先對各裝置的關系進行說明。
軟件開發(fā)者使用軟件開發(fā)裝置101進行軟件開發(fā),生成可執(zhí)行的二進制(バイナリ)。生成的二進制經內部網絡等送至軟件分配裝置102。軟件分配裝置102對二進制插入探針后,經互聯(lián)網等將其二進制分配到執(zhí)行裝置104、 105、 106等。各執(zhí)行裝置執(zhí)行分配到的二進制, 向執(zhí)行裝置的所有者等提供服務。同時,對通過探針獲得的調試信息 進行采集,并將其送至調試信息采集裝置103。調試信息采集裝置103 對從各執(zhí)行裝置送達的調試信息進行存儲,通過統(tǒng)計性解析等生成用 于推斷故障原因的信息。此信息通過軟件開發(fā)裝置101等提供給軟件 開發(fā)者。下面,就各裝置的內部結構進行說明。
軟件開發(fā)裝置101保存源代碼111、 二進制112等數據,并具有源 代碼編輯處理部113、編譯處理部114等功能。源代碼編輯處理部113 對基于軟件開發(fā)者的源代碼111的生成作業(yè)進行支持。編譯處理部114 將源代碼111轉換為二進制112。 二進制112根據開發(fā)者的判斷被送至 軟件分配裝置102。
軟件分配裝置102將軟件開發(fā)裝置101送來的二進制112作為二 進制121進行保存。二進制解析部122對二進制121進行解析,對可 插入探針的位置進行抽取。抽取的探針插入位置保存在探針信息123 中。另外,將成為軟件分配對象的執(zhí)行裝置(設備)的目錄保存在執(zhí) 行裝置信息124中。二進制變更部125雖將探針插入二進制121,但當 時參照執(zhí)行裝置信息124、探針信息123、調試信息132等決定探針的 數量和插入位置。二進制變更部125由插入探針選擇部126、探針插入 部127等功能模塊構成。插入結束后的二進制成為探針插入完成二進 制128并被保存。軟件分配部129將探針插入完成二進制128發(fā)送至 執(zhí)行裝置104等。
執(zhí)行裝置104向軟件分配裝置102提出軟件(二進制)的分配要 求,軟件接收部143對探針插入完成二進制141進行接收,并作為探 針插入完成二進制141進行保存。根據基于用戶的啟動等的觸發(fā)器(卜 y力')執(zhí)行探針插入完成二進制141,作為執(zhí)行結果,得到探針采集信 息142。此時能得到的探針采集信息限定在軟件分配裝置102中插入的 探針,沒插入的探針當然得不到信息。得到的探針采集信息142通過 探針采集信息發(fā)送部144送至調試信息采集裝置103。
調試信息采集裝置103經探針采集信息接收部133從執(zhí)行裝置104 等對探針采集信息142進行接收,并作為調試信息132進行存儲。另 外,故障原因位置推定部131用調試信息132對與軟件執(zhí)行時發(fā)生故障的原因相關的探針進行推定,并生成原因可能性高的探針的目錄。 此目錄提供給軟件開發(fā)者,據此進行軟件故障原因的解析。此解析需 要一定量的數據。通過各執(zhí)行裝置執(zhí)行足夠次數的軟件直到在調試信 息132中積蓄足夠量的數據,需花費一定的時間。
本系統(tǒng)的結構中,軟件分配裝置102的二進制變更部125具有插 入探針選擇部126和探針插入部127。插入探針選擇部126參照執(zhí)行裝 置信息124、探針信息123、調試信息132等,按照插入二進制121的 探針無偏差而是一樣的方式,進行選擇。另外,探針插入部127還具 有對應各執(zhí)行裝置(設備)的性能對探針的插入位置等進行確定的特 征。
圖2為軟件分配裝置102保存的探針信息123的示例圖。圖中, 作為對象的軟件假定為郵件收發(fā)用的程序。對插入的各探針為了對其 進行識別,分派探針I(yè)D201,對象模塊202表示各探針屬于哪個模塊。 圖中,作為示例,屬于MailReadUI、 MailEditUI、 CommonLogger等名 稱的模塊。探針類別203列舉觀測函數返回值的"返回值"和觀測代 入指針(求^y夕)等變量后的值的"代入值"2種。此外,也可以是 觀測軟件開發(fā)者插入的條件句的真?zhèn)沃档?錯誤檢查法"、觀測分支位 置的分支方向的"有效區(qū)域法"等其他種類的探針。
對象類別204、對象方法205、插入位置206是用于確定探針插入 位置的信息。圖中的示例是假定為Java (注冊商標)等程序形式,由 類別和方法確定指令列,由插入位置確定從指令列前端起的補償字節(jié) (才7t:y卜/《一 卜)數,當然其他程序形式也可以。源代碼行207 是表示各探針在源代碼111中對應哪個位置的信息。當推斷與故障有 關的探針確定后,軟件開發(fā)者便能夠將與探針對應的源代碼行207的 周邊做優(yōu)先處理、進行故障原因的調査。另外,本實施例中,不是將 探針中取得的值直接作為觀測結果,而是將取得的值與特定的值進行 比較后的結果作為觀測結果。比較對象208表示比較的特定的值或變 量。插入次數209是表示各探針插入多少次的值。因為當向一個執(zhí)行 裝置分配軟件時,在軟件插入一定個數的探針組,所以對與被插入的 探針對應的"插入次數"做加1運算。
關于探針I(yè)D二1的例子,如果敘述數據的內容,則是MailReadU
I模塊中的返回值型的探針,插入MailList類、update方法的第124字 節(jié)處。另外,此探針是將觀測數據與0比較后的結果送回,到此為止 插入分配二進制中的次數為3次。
圖3為軟件分配裝置102保存的執(zhí)行裝置信息124的示例圖。裝 置ID301將發(fā)貨時分配給各執(zhí)行裝置的制造編號作為ID,以便能夠進 行唯一識別。執(zhí)行裝置的類別302分為H9000的舊的類型和H9010的 新的類型的兩種機型。當進行各個機型的比較時,可見其性能不同, 如CPU類別303有"A"和"B"、 CPU頻率304有"200"MHz和"233" MHz。進而,由于組裝設備存在著與存儲資源有關的制約,所以可分 配的軟件的大小(寸—X')也常設置上限。這里,對能夠從軟件分配 裝置102接收的軟件的大小限度305賦予不同的值,即H9000時為32k 字節(jié);H9010時為64字節(jié)。其結果,能夠插入的探針數的上限306分 別設定為12個、14個。
圖4為調試信息采集裝置103保存的調試信息132的示例圖。本 數據分為計測條件400和計測結果410。計測條件400由探針I(yè)D401、 探針類別402、執(zhí)行裝置類別403組成。在這里表示,關于由探針I(yè)D二 1確定的探針進行過4次計測。此探針的ID為1;類別為"返回值"; H9000的計測實施了 2次;H9010的計測也實施了 2次。
計測結果410由結束狀態(tài)411和比較結果的次數412構成。結束 狀態(tài)411是與從各探針獲得的信息組合,表示采集的軟件結束時的狀 態(tài)的信息。圖中填有識別以無錯誤結束的"正常結束"和因沖突等錯 誤結束的"錯誤"的2種狀態(tài)的數據。比較結果的次數412將各探針 上的比較結果分為"負:<""正:〉""等:=",并是將各自的次數計數 后的數字。例如探針I(yè)D-1中的最初的數據顯示為在正常結束時, 此探針進行了2次計測,比較結果為正時l次,為相等時1次。
這些調試信息132用于選擇插入的探針,以便在下次分配軟件時 能夠均一有效地采集調試信息。
圖5為本發(fā)明的調試信息采集處理的整個流程的示例圖。各處理 步驟按順序說明如下。
步驟S501:為了對軟件開發(fā)裝置101生成的二進制進行分配,向 軟件分配裝置102復制二進制。
步驟S502 二進制解析部122對分配對象的二進制121進行解析, 對可插入的探針進行編目(U7卜7:y"7。)。例如抽出方法(乂 乂、乂 K) 的調出位置,將其作為觀測方法的"返回值"的探針的插入位置。將 抽出的探針插入位置追加到探針信息123。這樣,關于成為分配對象的 二進制全體,生成探針信息123。
步驟S503:選擇1個成為軟件分配對象的執(zhí)行裝置(設備)。此時, 軟件分配裝置102雖然可以根據執(zhí)行裝置信息124自主地選擇分配目 的地的執(zhí)行裝置,或者說也可以是從執(zhí)行裝置104接收軟件的分配要 求后再進行相應的分配的形式。
步驟S504: 二進制變更部125向選擇的分配對象的執(zhí)行裝置進行 插入的探針的選擇。屆時,對應執(zhí)行裝置對探針的數量進行確定,另 外,對應插入履歷對插入的探針的母集合(母集団)進行確定。詳情 后述。
步驟S505:將選擇了的探針插入二進制121,生成探針插入完成 二進制128。
步驟S506:軟件分配部129將探針插入完成二進制128送往分配 對象的執(zhí)行裝置104。
步驟S507:執(zhí)行裝置104對接收到的軟件加以執(zhí)行。
步驟S508:作為軟件執(zhí)行的結果,獲取探針采集信息142,并送 往調試信息采集裝置103。
步驟S509:調試信息釆集裝置103將獲得的探針采集信息142作 為調試信息132進行存儲。
步驟S510:故障原因位置推斷部131對執(zhí)行時發(fā)生的故障的相關 探針進行推斷,并生成探針的目錄。
步驟S511:軟件開發(fā)者根據探針目錄對軟件故障的原因進行解析。
圖6為上述圖5中的插入探針選擇處理(步驟S504)的詳細流程圖。
步驟S601: 二進制變更部125參照執(zhí)行裝置信息124對有關分配 對象的執(zhí)行裝置的信息進行獲取。獲取的信息如圖3所示,為裝置類 別、CPU類別、CPU頻率、分配軟件大小限制、探針數上限等。
步驟S602:確定根據獲取的執(zhí)行裝置信息124插入的探針數。探針數根據分配對象的執(zhí)行裝置的性能作適當地確定。進而,當對同一 執(zhí)行裝置進行重復分配時,每次分配的數量不同也可以。
這里,將對應執(zhí)行裝置進行探針數確定的幾個具體方法敘述如下。
(1) 根據可分配的軟件大小限制而進行確定的方法。如果增加插
入探針的個數,則二進制大小(A一于y廿,x)增加。于是,此方
法是將二進制大小不超過限制值的最大探針數(探針數的上限值306) 作為插入個數。例如,在確定探針插入個數與二進制大小的增加成比
例關系的情況下,當插入前的二進制大小為Xo,將全部探針N個插入 后的二進制大小為Xp,可分配的二進制大小的上限為M時,將滿足下 式的最大的n作為探針數。
n (Xp—Xo) /N+Xo<M
由此,便能對將各執(zhí)行裝置的存儲區(qū)域最大限度地活用了的調試 信息進行采集。
(2) 根據CPU的類別、工作頻率而確定的方法。對應CPU的類 別將預先確定的常數作為探針數。另外,對工作頻率與探針數的比例 關系進行預先確定,確定探針數。據此,若為具有運算能力高的CPU、 處理時間余量多的執(zhí)行裝置,就使用多個探針進行測定。若為具有運 算能力低的CPU、處理時間余量少的執(zhí)行裝置,就限定用少數探針進 行測定。其結果,便能進行符合各執(zhí)行裝置的工作能力的調試信息的 采集工作。另外,也可以同時采用在執(zhí)行裝置側對測定的探針數進行 限定的方法。這時,為了對每個執(zhí)行裝置改變測定探針數,先從軟件 分配裝置102向執(zhí)行裝置傳輸測定探針數,再僅從傳輸的數量的探針 獲取信息,這樣便能實現對應CPU性能的信息采集。
(3) 其他的探針數確定方法。也可以是基于用戶為使用軟件而簽 訂的協(xié)議的內容的確定方法;基于由GPS測位的設備的位置信息的確 定方法;基于網絡帶寬或是否經常網絡在線的確定方法等。另外,也 可以包括上述確定方法在內,將多個確定方法加以組合。還可以是從 由各確定方法算出的探針數中選擇最小的探針數的確定方法。
步驟S603: 二進制變更部125進一步參照探針信息123、調試信 息132,對有關探針插入位置的全體集合的信息進行獲取。
步驟S604:在進行插入探針的選擇時,對作為選擇對象的探針的母集合加以確定。此母集合是從探針信息123獲取的探針全體集合的 部分集合。也就是說,選擇的探針不是從全體集合、而是從母集合進 行確定。
這里,對從探針插入履歷進行母集合確定的幾個具體方法敘述如下。
(4) 對應各探針的插入次數進行確定的方法。將具有由探針信息 123獲得的插入次數的最大值的探針除外,將其余的探針作為母集合。 換句話說,以插入次數少的探針構成母集合。例如,圖2中,因為ID二 2的插入次數最大(4次),所以從母集合中除外。通過此操作可選擇 插入次數少的探針,并能實現沒有各探針的插入次數偏差的一致化。 一旦探針插入次數有偏差,關于特定探針所采集的信息就會變少,因 此用于獲得推定故障原因位置所需信息的等待時間就會變長。通過無 插入次數的偏差的處理,能夠以更短的時間進行故障原因位置的推定。
(5) 對應以往的調試信息進行確定的方法。即基于各探針的執(zhí)行 次數及錯誤發(fā)生時的執(zhí)行次數的方法。圖4所示的調試信息132中, 探針10=1執(zhí)行了4次,其中發(fā)生錯誤l次。另一方面,探針I(yè)D二2 執(zhí)行了 2次,其中發(fā)生錯誤1次。作為探針的母集合,通過選擇執(zhí)行 次數少的探針,便于在更短的時間對這些探針的信息進行采集?;蛘?通過選擇錯誤發(fā)生次數少的探針,更便于對錯誤發(fā)生時的信息進行采 集。由此,關于各探針,便能實現無執(zhí)行次數偏差,并能縮短推定所 需的信息采集的等待時間。
(6) 其他的母集合的確定方法。也可以是對每個模塊的探針執(zhí)行 次數進行比較,按照模塊單位選擇母集合的方法;從探針插入履歷中 對在一次分配中插入的探針的組合進行校驗,對探針的組合偏差進行 平均化的方法等。也可以包括前述的決定方法在內,將多個決定方法 進行組合。例如有將從各決定方法獲得的母集合的和集合、或積集合 作為母集合的方法。
步驟S605:從上述決定了的探針的母集合中,用隨機數等選擇一 個探針。關于選擇了的探針,在探針信息123的"插入次數209"作加 l運算。
步驟S606:當選擇了的探針數達到步驟S602決定了的插入探針的數時便結束探針選擇。未達到時便返回步驟S603再次進行探針選擇。
如本實施例這樣,因為是對應實施裝置的性能決定插入探針數, 所以沒有執(zhí)行裝置側負擔過大的問題。另外,因為是反映探針的插入 履歷并決定母集合,所以不形成插入探針偏差。其結果,同時減輕了 設備側的負擔和開發(fā)者側的負擔,而且能夠一致地獲取調試信息,有 望實現軟件的故障原因解析的迅速化。
上述實施例為關于單一的二進制進行調試信息采集的示例,而以 多個二進制為對象也能適用。另外,上述所示為對二進制插入探針的
實施例,而對源代碼也可以插入探針。屆時,軟件分配裝置102將二 進制代之以源代碼進行配置,并可具有編譯處理部。
上述實施例為經互聯(lián)網等公共網絡連接軟件分配裝置102、調試信 息采集裝置103、執(zhí)行裝置104、 105、 106等時的示例,而使用內部網 絡等組織內網絡將這些進行連接也可以。
也就是說,即使對執(zhí)行裝置104等進行出廠前的軟件改善,本發(fā) 明也能適用。另外,軟件的分配在執(zhí)行裝置104出廠前經內部網絡進 行實施,而將調試信息的采集在執(zhí)行裝置104出廠后經互聯(lián)網進行實 施的方式也可以。也就是說,即使在不提供軟件分配服務的情況下, 本發(fā)明也能適用。
本實施例為軟件開發(fā)裝置101、軟件分配裝置102、調試信息采集 裝置103等通過內部網絡等組織內網絡進行連接的示例,而使用互聯(lián) 網等公共網絡連接這些也可以。也就是說,當將基于軟件分配裝置102 及調試信息釆集裝置103的軟件分配及調試信息采集的功能對軟件開 發(fā)者進行有償或無償的服務提供時,本發(fā)明也能適用。
權利要求
1.一種調試信息采集方法,即為了采集調試信息將探針插入軟件,分配到多個設備,對通過在該設備中執(zhí)行該軟件得到的調試信息進行采集的調試信息采集方法,其特征在于,求出可將探針插入所述軟件的插入位置的全體集合,從該全體集合中取出部分集合,確定插入所述軟件的探針插入位置的母集合,確定插入每個所述設備的探針的插入數,從所述母集合中選擇所述插入數的量的探針的插入位置并插入所述軟件,將插入有探針的軟件分配到所述設備。
2.根據權利要求1所述的調試信息采集方法,其特征在于, 插入所述設備的探針的插入數根據該設備的存儲容量或CPU性能來對每一設備決定插入數,使用隨機數從所述母集合中選擇所述插入數的量的探針的插入位置并插入所述軟件。
3.根據權利要求1所述的調試信息采集方法,其特征在于, 所述探針的插入位置的母集合,參照已插入過去分配的軟件的 探針的插入次數,并從該插入次數少的插入位置的部分集合進行確定。
4.根據權利要求1所述的調試信息采集方法,其特征在于, 所述探針的插入位置的母集合,參照從已插入過去分配的軟件的探針采集到的調試信息,從該調試信息求出各探針的執(zhí)行次數,從該執(zhí)行次數少的探針插入位置的部分集合進行確定。
5.根據權利要求4所述的調試信息采集方法,其特征在于, 所述探針的插入位置的母集合,從所述調試信息求出各探針的 執(zhí)行次數,從其中在故障發(fā)生時執(zhí)行過的執(zhí)行次數少的探針插入位 置的部分集合進行確定。
6. —種以多個組裝設備執(zhí)行的軟件的調試信息采集方法,其特 征在于,包括從記錄探針插入位置的探針信息和組裝設備的裝置信息及調試 信息生成將探針插入所述軟件并進行分配的軟件的步驟;向多個組裝設備的各個分配插入有不同的探針的軟件的步驟; 從所述多個組裝設備獲取所分配的軟件的探針采集信息的步 驟;禾口根據所述獲取的探針采集信息更新所述調試信息的步驟。
7. 根據權利要求6所述的調試信息采集方法,其特征在于, 在該方法中生成插入所述探針并進行分配的軟件的步驟包括 插入所述設備的探針的插入數,根據該設備的存儲容量或CPU性能來對每一設備決定插入數,使用隨機數選擇所述插入數的量的探針的插入位置并將探針插 入所述軟件的步驟。
8. 根據權利要求6所述的調試信息采集方法,其特征在于, 在該方法中生成插入所述探針并進行分配的軟件的步驟包括 參照己插入過去分配的軟件的探針的插入次數,將該插入次數少的插入位置的探針插入的步驟。
9. 根據權利要求6所述的調試信息采集方法,其特征在于, 在該方法中生成插入所述探針并進行分配的軟件的步驟包括 參照從已插入過去分配的軟件的探針采集到的調試信息,從該調試信息求出各探針的執(zhí)行次數,在該執(zhí)行次數少的探針插入位置 插入探針的步驟。
10. 根據權利要求6所述的調試信息采集方法,其特征在于, 在該方法中生成插入所述探針并進行分配的軟件的步驟包括 從所述調試信息求出各探針的執(zhí)行次數,在其中故障發(fā)生時執(zhí)行過的執(zhí)行次數少的探針插入位置插入探針的步驟。
11. 一種采集軟件調試信息的調試信息采集系統(tǒng),其特征在于, 包括執(zhí)行進行調試的軟件并生成調試信息的多個執(zhí)行裝置; 開發(fā)所述軟件并生成可執(zhí)行的二進制數據的軟件開發(fā)裝置;將探針插入所述二進制數據并生成所述進行調試的軟件后向所述設備分配所述進行調試的軟件的軟件分配裝置;和從所述執(zhí)行裝置對分配于所述執(zhí)行裝置并被執(zhí)行了的軟件的調 試信息進行釆集的調試信息采集裝置。
12. 根據權利要求11所述的調試信息采集系統(tǒng),其特征在于, 所述軟件分配裝置包括解析進行調試的軟件并抽出可插入探針的位置的二進制解析部;對通過所述二進制解析部抽出的探針插入位置進行記錄的探針 信息保持部;對分配插入有探針的軟件的執(zhí)行裝置的目錄進行記錄的執(zhí)行裝 置信息保持部;和參照記錄于所述探針信息保持部的信息和記錄于所述執(zhí)行裝置 信息保持部的信息以及所述調制信息采集裝置采集的所述調試信 息,將探針插入所述二進制數據生成所述進行調試的軟件的二進制 變更部。
13. 根據權利要求12所述的調試信息采集系統(tǒng),其特征在于, 在所述探針信息保持部,包括對每個插入的探針的ID記錄下述內容的區(qū)域各探針插入的模塊名; 表示各探針觀察的內容的探針類別; 確定各探針插入位置的插入位置信息; 記錄各探針期望值的比較對象值;和 對各探針插入模塊的次數進行計數的插入次數值。
14. 根據權利要求13所述的調試信息采集系統(tǒng),其特征在于, 所述探針信息保持部的探針類別中記錄的類別有 是否觀測函數的返回值;是否觀測對變量的代入值;是否觀測條件句的真?zhèn)沃?;是否觀測分支位置的分支方向。
15. 根據權利要求12所述的調試信息采集系統(tǒng),其特征在于, 在所述執(zhí)行裝置信息保持部對每個所述執(zhí)行裝置包括 表示執(zhí)行裝置的機種的類別信息;表示CPU性能的CPU類別信息; 表示分配軟件的大小限度的大小信息;和 表示可插入的探針數的上限值的探針上限值。
16. 根據權利要求11所述的調試信息采集系統(tǒng),其特征在于, 在所述調試信息采集裝置采集的調試信息,對每個由探針I(yè)D、探針類別和執(zhí)行裝置類別組成的計測條件,記錄著包括表示由探針 采集的軟件結束時的狀態(tài)的信息和探針的比較結果的各個的次數的 計測結果。
全文摘要
本發(fā)明涉及調試信息采集方法及調試信息采集系統(tǒng),在軟件分配裝置(102)中,二進制解析部(122)求出可將探針插入軟件的插入位置的全體集合。二進制變更部(125)對插入軟件的探針插入位置的母集合和插入每個設備(104)的探針的插入數進行確定,從所述母集合中選擇所述插入數的量的探針的插入位置并插入軟件中。屆時參照探針信息(123)、執(zhí)行裝置信息(124)、調試信息(132)。軟件分配部(129)將插入了探針的軟件分配到設備(104)。由此,能夠同時減輕設備側的負擔和軟件開發(fā)者側的負擔,而且能夠無偏差地一致地獲取調試信息。
文檔編號G06F11/28GK101201782SQ20071030668
公開日2008年6月18日 申請日期2007年11月30日 優(yōu)先權日2006年12月1日
發(fā)明者川崎進一郎, 野尻徹 申請人:株式會社日立制作所