JP4897654B2 - 再現試験システム - Google Patents

再現試験システム Download PDF

Info

Publication number
JP4897654B2
JP4897654B2 JP2007314427A JP2007314427A JP4897654B2 JP 4897654 B2 JP4897654 B2 JP 4897654B2 JP 2007314427 A JP2007314427 A JP 2007314427A JP 2007314427 A JP2007314427 A JP 2007314427A JP 4897654 B2 JP4897654 B2 JP 4897654B2
Authority
JP
Japan
Prior art keywords
operation history
program code
information
register
history 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.)
Expired - Fee Related
Application number
JP2007314427A
Other languages
English (en)
Other versions
JP2009140136A (ja
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2007314427A priority Critical patent/JP4897654B2/ja
Publication of JP2009140136A publication Critical patent/JP2009140136A/ja
Application granted granted Critical
Publication of JP4897654B2 publication Critical patent/JP4897654B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

この発明は、対象ユニットの障害解析及び改修のために、対象ユニットの動作を再現する再現試験システムに関するものである。
従来の情報収集方式においては、対象ユニットから所定の契機毎に対象ユニットの動作履歴情報を収集するものであった。(例えば、特許文献1)
実公昭58−47467号公報(第1〜2頁、図)
従来の情報収集方式においては、対象ユニットから所定の契機毎に対象ユニットの動作履歴情報を収集するものであった。このため、障害解析及び改修時には、収集した動作履歴情報を基に、人が直接、対象ユニットの動作を解析する作業を行なわなければならないという問題があった。
このため、障害解析及び改修時の動作確認に時間がかかるという問題がある。
この発明は、上記のような課題を解決するためになされたものであり、動作履歴情報を基にして対象ユニットの動作を再現し、障害解析及び改修時の動作確認を容易にした再現試験システムを得ることを目的としている。
この発明に係わる再現試験システムにおいては、プログラムコードを実行した時、プログラムコードの任意の場所に埋め込まれた動作履歴収集ソフトにより、レジスタ情報及びメモリ情報を動作履歴情報として保存する対象ユニット、及びこの対象ユニットから動作履歴情報とプログラムコードを取得し、プログラムコードの実行を再現する再現マシンを備え、再現マシンは、選択され動作履歴情報のレジスタ情報を自装置のレジスタに、動作履歴情報のメモリ情報を自装置のメモリにそれぞれ復元するとともに、レジスタ情報が復元されたレジスタ及びメモリ情報が復元されたメモリを用いて、選択された動作履歴情報に対応するステップ以降のプログラムコードを実行する動作履歴復元ソフトを有するものである。
この発明は、以上説明したように、プログラムコードを実行した時、プログラムコードの任意の場所に埋め込まれた動作履歴収集ソフトにより、レジスタ情報及びメモリ情報を動作履歴情報として保存する対象ユニット、及びこの対象ユニットから動作履歴情報とプログラムコードを取得し、プログラムコードの実行を再現する再現マシンを備え、再現マシンは、選択され動作履歴情報のレジスタ情報を自装置のレジスタに、動作履歴情報のメモリ情報を自装置のメモリにそれぞれ復元するとともに、レジスタ情報が復元されたレジスタ及びメモリ情報が復元されたメモリを用いて、選択された動作履歴情報に対応するステップ以降のプログラムコードを実行する動作履歴復元ソフトを有するので、再現マシンでは、対象ユニットから収集した動作履歴情報を選択し、その状態からの動作を再現することができるため、問題箇所の特定が容易になる。


実施の形態1.
以下、この発明の実施の形態1を図1に基づいて説明する。
図1は、この発明の実施の形態1による再現試験システムを示す構成図である。
図1において、対象ユニット10は、対象ユニット10内で動作するプログラムコード11と、プログラムコード11の動作に関係する値が書き込まれるレジスタ12と、プログラムコード11の実行時の変数(データ・BSS・ヒープ領域)を記憶するメモリ13と、所定の契機(所定の事象が発生した時点)毎にレジスタ12とメモリ13上の情報を収集する動作履歴情報14(不揮発性メモリなどに記憶されている)と、動作履歴収集ソフト15とにより構成されている。動作履歴収集ソフト15は、所定の契機毎にレジスタ12とメモリ13上の情報を収集し、動作履歴情報14として記憶させる。
再現マシン20も同様の構成になっており、プログラムコード21と、レジスタ22と、メモリ23と、動作履歴情報24と、復元処理を行なう動作履歴復元ソフト25とが搭載される。動作履歴復元ソフト25は、対象ユニット10の動作履歴情報14をコピーした動作履歴情報24の任意の契機に対応するレジスタの値を取り出し、レジスタ22に格納するとともに、その契機に対応するメモリの値を取り出し、メモリ23に格納する処理を行い、さらに画面上の実行ボタンを操作されることにより、その契機以降の処理をプログラムコードにしたがって、実行するようになっている。
図2は、この発明の実施の形態1による再現試験システムの再現マシンの画面例を示す構成図である。
図2において、メモリ内容表示Aは、メモリの内容を表示する。レジスタ内容表示Bは、レジスタの内容を表示し、変化したレジスタは強調表示する。コード内容表示Cは、プログラムコードの内容を表示し、実行中の行が強調表示される。ステップ実行ボタンDは、1ステップずつ実行するときに操作するボタンである。実行ボタンEは、ある位置以降のプログラムコードを実行するボタンである。停止ボタンFは、プログラムコードの実行を停止するボタンである。
図3は、この発明の実施の形態1による再現試験システムの動作履歴収集ソフトの処理を示すフローチャートである。
図4は、この発明の実施の形態1による再現試験システムの動作履歴復元ソフトの処理を示すフローチャートである。
次に、動作について説明する。まず、図3により、対象ユニット10の動作について説明する。
対象ユニット10では、プログラムコード11が実行されると、その動作ステップを示す値がレジスタ12に、変数(データ・BSS・ヒープ領域)がメモリ13に記録され、これらの値(データ)は、プログラムコード11のステップ動作によって逐次変化していく。
そして、プログラムコード11の任意の場所に埋め込まれた動作履歴収集ソフト15により、これらのレジスタ12とメモリ13のデータを動作履歴情報14に収集(コピー・保存)する。
すなわち、図3に示すように、動作履歴収集ソフト15は、レジスタデータを動作履歴情報14へコピーし(ST10)、メモリデータを動作履歴情報14へコピーする(ST11)。
次に、図4により、再現マシン20の動作について説明する。
再現マシン20は、まず、対象ユニット10のプログラムコード11と動作履歴情報14を、再現マシン20のプログラムコード21と動作履歴情報24にコピーする。
そして、動作履歴復元ソフト25にて、図4に示すように、どの契機のデータを用いるか(通常は異常発生直前の契機のデータ)を選択(入力)し、この選択された動作履歴情報14により(ST20)、動作履歴情報24から、レジスタの値をレジスタ22に、メモリの値をメモリ23に復元し(ST21)、プログラムコード21をメモリ23へロードする(ST22)。この状態は、図2に示すように表示される。
そして、この状態で、図2の画面上の実行ボタンEが操作されることにより(ST23)、選択された契機以降のプログラムコードを実行し、再現試験を実施することができる。
実施の形態1によれば、これにより、任意の動作履歴情報を選択することにより、その時点からの動作を瞬時に再現(復元)することが可能になり、解析性が向上する。
実施の形態2.
実施の形態1では、再現マシンが、プログラムコードをメモリへロードした後、一気に実行する場合について述べたが、実施の形態2では、再現試験をステップ実行できるようにしたものである。
図5は、この発明の実施の形態2による再現試験システムの動作履歴復元ソフトの処理を示すフローチャートである。
図5において、ST20〜ST23は図4の処理と同じ処理である。
実施の形態2では、図5に示すように、プログラムコード21を実行するST23の後ろに、ステップ実行を行うための動作入力(ST34)と、異常発生チェック(ST35)の各処理を設けることにより、再現試験をステップ実行でき、解析性が向上する。
実施の形態2は、プログラムコード21を実行するに当たり、1ステップずつ実行し、結果を確認できるようにしたものである。ST23で、図2のステップ実行ボタンDを操作すれば、プログラムコードの1ステップずつで停止するので、ST34では、その画面でさらにステップ実行ボタンDを操作することにより、プログラムコードの次のステップが実行される。そして、そのつど、ST35で、異常発生をチェックする。
実施の形態2によれば、再現試験をステップ実行することができ、解析性を向上することができる。
実施の形態3.
実施の形態1及び実施の形態2では、対象ユニット10にて異なるプログラムコード11を複数実行した場合、再現マシン20では、どのプログラムコード21を復元するのか判断できないという問題がある。このため、実施の形態3は、動作履歴情報14に動作履歴とプログラムコード名を併せて記録するようにした。
図6は、この発明の実施の形態3による再現試験システムの動作履歴収集ソフトの処理を示すフローチャートである。
図6において、ST10、ST11は図3における処理と同じ処理である。
図7は、この発明の実施の形態3による再現試験システムの動作履歴復元ソフトの処理を示すフローチャートである。
図7において、ST20、ST21、ST23、ST34、ST35は図5の処理と同じ処理である。
実施の形態3では、図6に示すように、ステップST11の後に、プログラムコード名を記録する処理(ST42)を追加する。
これにより、図1の動作履歴情報24にプログラムコード名が追加される。
次に、再現マシン20の動作履歴復元ソフト25の処理について図7により説明する。
図7に示すように、ST21の次に、動作履歴(プログラムコード名)に記録されたプログラムコードをメモリへロードする処理(ST52)を行う。そして、ST23で、これを実行する。
これにより、誤ったプログラムコード21の実行を防ぐことができる。
実施の形態3によれば、動作履歴情報に動作履歴とプログラムコード名を併せて記録するようにしたので、対象ユニットにて異なるプログラムコードを複数実行した場合でも、再現マシンで、どのプログラムコードを復元するのかを判断することができる。
実施の形態4.
実施の形態1〜実施の形態3では、対象ユニット10のプログラムコード11を、再現マシン20のプログラムコード21として使用したが、実施の形態4は、プログラムコード21に予めプログラムコード11と同じものを置いておくことにより、コピーする手間を省くようにした。
ただし、プログラムコード11とプログラムコード21が同一でなければならないため、ハッシュ値によるチェックを行なう仕組みを追加する。
図8は、この発明の実施の形態4による再現試験システムの動作履歴収集ソフトの処理を示すフローチャートである。
図8において、ST10、ST11、ST42は図6における処理と同じ処理である。
図9は、この発明の実施の形態4による再現試験システムの動作履歴復元ソフトの処理を示すフローチャートである。
図9において、ST20、ST21、ST23、ST34、ST35、ST52は図7の処理と同じ処理である。
まず、図8により、対象ユニット10の動作履歴収集ソフト15の動作について説明する。
これは、実施の形態3の図6の最後に、プログラムコード11のハッシュ値を算出する処理(ST63)と、プログラムコード11のハッシュ値を記録する処理(ST64)を追加したものである。
次に、図9により、再現マシン20の動作履歴復元ソフト25の動作について説明する。
これは、実施の形態3の図7のST21とST52の間に、予め再現マシン20に保持するプログラムコード21のハッシュ値を算出する処理(ST72)と、選択した動作履歴情報24のハッシュ値とプログラムコード21のハッシュ値を比較する処理(ST73)を追加したものである。
ST73の条件分岐では、ハッシュ値が一致した場合には、ST52に分岐して処理を継続し、不一致の場合には、処理を終了する。
実施の形態4によれば、再現マシンに予め対象ユニットのプログラムコードと同じプログラムコードを搭載しておくことにより、再現マシンにプログラムコードをロードする手間を省くようにした。
実施の形態5.
実施の形態1〜実施の形態4では、対象ユニット10のプログラムコード11と動作履歴情報14を基にして動作を再現(復元)していた。通常、プログラムコード11に不具合がある場合、実施の形態1〜実施の形態4による解析を行なって問題箇所を特定し、正常動作するように、その問題箇所を変更(修正)する。
実施の形態5は、この変更後のプログラムコード21の(正常)動作を確認するため、変更前/変更後のどちらのプログラムコード21にも対応できる動作履歴復元ソフト25を実現する。
図10は、この発明の実施の形態5による再現試験システムの動作履歴復元ソフトの処理を示すフローチャートである。
図10において、ST20、ST21、ST23、ST34、ST35、ST52、ST72、ST73は図9の処理と同じ処理である。
図10では、図9のST21とST72との間に、プログラムコードの種類(変更前/変更後)を選択(入力)する処理(ST82)と、変更前/変更後チェックの処理(ST83)を追加したものである。
これらのうち、ST83の条件分岐では、ST82で選択(入力)された変更前、もしくは、変更後に従って、変更前の場合にはST72に分岐して処理を継続し、変更後の場合には、ST52に分岐して、その後の処理を継続する。
実施の形態5によれば、動作履歴復元ソフト25により、変更前/変更後のどちらのプログラムコードにも対応でき、プログラムコード変更時の解析を容易にすることができる。
この発明の実施の形態1による再現試験システムを示す構成図である。 この発明の実施の形態1による再現試験システムの再現マシンの画面例を示す構成図である。 この発明の実施の形態1による再現試験システムの動作履歴収集ソフトの処理を示すフローチャートである。 この発明の実施の形態1による再現試験システムの動作履歴復元ソフトの処理を示すフローチャートである。 この発明の実施の形態2による再現試験システムの動作履歴復元ソフトの処理を示すフローチャートである。 この発明の実施の形態3による再現試験システムの動作履歴収集ソフトの処理を示すフローチャートである。 この発明の実施の形態3による再現試験システムの動作履歴復元ソフトの処理を示すフローチャートである。 この発明の実施の形態4による再現試験システムの動作履歴収集ソフトの処理を示すフローチャートである。 この発明の実施の形態4による再現試験システムの動作履歴復元ソフトの処理を示すフローチャートである。 この発明の実施の形態5による再現試験システムの動作履歴復元ソフトの処理を示すフローチャートである。
符号の説明
10 対象ユニット
11 プログラムコード
12 レジスタ
13 メモリ
14 動作履歴情報
15 動作履歴収集ソフト
20 再現マシン
21 プログラムコード
22 レジスタ
23 メモリ
24 動作履歴情報
25 動作履歴復元ソフト

Claims (5)

  1. プログラムコードを実行した時、上記プログラムコードの任意の場所に埋め込まれた動作履歴収集ソフトにより、レジスタ情報及びメモリ情報を動作履歴情報として保存する対象ユニット、
    及びこの対象ユニットから上記動作履歴情報と上記プログラムコードを取得し、上記プログラムコードの実行を再現する再現マシンを備え、
    上記再現マシンは、選択された上記動作履歴情報の上記レジスタ情報を自装置のレジスタに、上記動作履歴情報の上記メモリ情報を自装置のメモリにそれぞれ復元するとともに、
    上記レジスタ情報が復元されたレジスタ及び上記メモリ情報が復元されたメモリを用いて、上記選択された上記動作履歴情報に対応するステップ以降の上記プログラムコードを実行する動作履歴復元ソフトを有することを特徴とする再現試験システム。
  2. プログラムコードを実行した時、上記プログラムコードの任意の場所に埋め込まれた動作履歴収集ソフトにより、レジスタ情報及びメモリ情報を動作履歴情報として保存するとともに上記プログラムコードのハッシュ値を保存する対象ユニット、
    及びこの対象ユニットから上記動作履歴情報及び上記ハッシュ値を取得し、予め自装置に保存された上記プログラムコードと同じプログラムコードにより上記対象ユニットの実行を再現する再現マシンを備え、
    上記再現マシンは、選択された上記動作履歴情報の上記レジスタ情報を自装置のレジスタに、上記動作履歴情報の上記メモリ情報を自装置のメモリにそれぞれ復元する動作履歴復元ソフトを有し、
    上記動作履歴復元ソフトは、上記レジスタ情報が復元されたレジスタ及び上記メモリ情報が復元されたメモリを用いて、上記自装置に保存された上記プログラムコードのハッシュ値が上記対象ユニットから取得したハッシュ値と一致することを確認した上で、上記自装置に保存された上記プログラムコードの上記選択された上記動作履歴情報に対応するステップ以降の部分を実行することを特徴とする再現試験システム。
  3. 上記動作履歴復元ソフトは、上記プログラムコードをステップごとに実行することを特徴とする請求項1または請求項2記載の再現試験システム。
  4. 上記動作履歴収集ソフトは、上記動作履歴情報の収集に当たって、上記動作履歴情報に対応する上記プログラムコードのプログラムコード名を保存するとともに、上記動作履歴復元ソフトは、上記動作履歴情報の復元に当たって上記プログラムコード名が選択され、この選択されたプログラムコード名に対応する動作履歴情報を復元することを特徴とする請求項1〜請求項3のいずれかに記載の再現試験システム。
  5. 上記動作履歴復元ソフトによって実行が再現されるプログラムコードは、修正により変更されたものと、変更前のものとが選択されることを特徴とする請求項1〜請求項4のいずれかに記載の再現試験システム。
JP2007314427A 2007-12-05 2007-12-05 再現試験システム Expired - Fee Related JP4897654B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007314427A JP4897654B2 (ja) 2007-12-05 2007-12-05 再現試験システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007314427A JP4897654B2 (ja) 2007-12-05 2007-12-05 再現試験システム

Publications (2)

Publication Number Publication Date
JP2009140136A JP2009140136A (ja) 2009-06-25
JP4897654B2 true JP4897654B2 (ja) 2012-03-14

Family

ID=40870698

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007314427A Expired - Fee Related JP4897654B2 (ja) 2007-12-05 2007-12-05 再現試験システム

Country Status (1)

Country Link
JP (1) JP4897654B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5459405B2 (ja) * 2010-08-27 2014-04-02 富士通株式会社 障害処理方法,障害処理システム,障害処理装置及び障害処理プログラム
JP5534209B2 (ja) * 2010-09-06 2014-06-25 日本電気株式会社 データベースの共有メモリの状態を別環境に再現するシステム及び方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01123337A (ja) * 1987-11-06 1989-05-16 Nec Corp 対話型プログラムテバック方式
JPH03127234A (ja) * 1989-10-13 1991-05-30 Nec Corp 計算機システムのプログラムデバッグ装置
JPH03252812A (ja) * 1990-03-02 1991-11-12 Hitachi Ltd プログラム実行状況表示方法
JPH04316138A (ja) * 1991-04-15 1992-11-06 Oki Electric Ind Co Ltd デバッグ処理装置
JPH05282175A (ja) * 1992-03-31 1993-10-29 Nec Corp プログラムディバッガ

Also Published As

Publication number Publication date
JP2009140136A (ja) 2009-06-25

Similar Documents

Publication Publication Date Title
JP5509568B2 (ja) コンピュータ装置、プロセッサ診断方法、及びプロセッサ診断制御プログラム
JP5026046B2 (ja) ホームドア動作異常検出システム
JP2009265810A (ja) 状態遷移テスト支援装置、状態遷移テスト支援プログラム、および状態遷移テスト支援方法
JP2011215814A (ja) プログラマブルコントローラ、設定値バックアップ・リストアシステム、及び設定値バックアップ・リストアユニット
JP4897654B2 (ja) 再現試験システム
JP5293062B2 (ja) コンピュータ装置、メモリ診断方法、及びメモリ診断制御プログラム
CN107516546B (zh) 一种随机存储器的在线检测装置及方法
JP2009223714A (ja) 演算回路及び演算回路の異常解析方法
JPH08227372A (ja) データ処理装置
JP3206096B2 (ja) 入力データ処理装置
JP2007108846A (ja) データ出力装置及びデータ出力方法
CN105760264A (zh) 一种检测服务器故障硬件设备的方法及装置
JPH0594353A (ja) データベース管理方式
US7389442B1 (en) Apparatus and method for self diagnosis, repair, removal by reversion of computer problems from desktop and recovery from booting or loading of operating system errors by removable media
CN101060686B (zh) 一种移动终端中异常诊断和错误环境再现的方法及装置
JP2007328447A (ja) ソフトウェア試験項目選択装置、ソフトウェア試験項目選択プログラム、ソフトウェア試験項目選択プログラムが格納された記憶媒体およびソフトウェア試験項目選択方法
JP2009205314A (ja) ソフトウエア検証支援システム、及び検証支援機能を有するコンピュータプログラム
JP2009048291A (ja) システム解析装置及びプログラム
JP4593301B2 (ja) エレベータの故障解析装置
JP2001014027A (ja) プロセス制御コントローラの故障解析支援システム
JP7180319B2 (ja) 情報処理装置、及び情報処理装置のダンプ管理方法
JP4858779B2 (ja) 分散並列プログラムの障害解析ファイル軽量化装置、その方法及びそのプログラム
JP5142877B2 (ja) ディジタル保護制御装置の試験支援装置
JP2009048403A (ja) システム障害復旧装置およびそのコマンド生成方法、ならびにそのプログラム
WO2012066635A1 (ja) テスト方法、テスト装置及びテスト実行用プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110913

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111129

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111222

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150106

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees