JP4897654B2 - 再現試験システム - Google Patents
再現試験システム Download PDFInfo
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
このため、障害解析及び改修時の動作確認に時間がかかるという問題がある。
以下、この発明の実施の形態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において、メモリ内容表示Aは、メモリの内容を表示する。レジスタ内容表示Bは、レジスタの内容を表示し、変化したレジスタは強調表示する。コード内容表示Cは、プログラムコードの内容を表示し、実行中の行が強調表示される。ステップ実行ボタンDは、1ステップずつ実行するときに操作するボタンである。実行ボタンEは、ある位置以降のプログラムコードを実行するボタンである。停止ボタンFは、プログラムコードの実行を停止するボタンである。
図4は、この発明の実施の形態1による再現試験システムの動作履歴復元ソフトの処理を示すフローチャートである。
対象ユニット10では、プログラムコード11が実行されると、その動作ステップを示す値がレジスタ12に、変数(データ・BSS・ヒープ領域)がメモリ13に記録され、これらの値(データ)は、プログラムコード11のステップ動作によって逐次変化していく。
そして、プログラムコード11の任意の場所に埋め込まれた動作履歴収集ソフト15により、これらのレジスタ12とメモリ13のデータを動作履歴情報14に収集(コピー・保存)する。
すなわち、図3に示すように、動作履歴収集ソフト15は、レジスタデータを動作履歴情報14へコピーし(ST10)、メモリデータを動作履歴情報14へコピーする(ST11)。
再現マシン20は、まず、対象ユニット10のプログラムコード11と動作履歴情報14を、再現マシン20のプログラムコード21と動作履歴情報24にコピーする。
そして、動作履歴復元ソフト25にて、図4に示すように、どの契機のデータを用いるか(通常は異常発生直前の契機のデータ)を選択(入力)し、この選択された動作履歴情報14により(ST20)、動作履歴情報24から、レジスタの値をレジスタ22に、メモリの値をメモリ23に復元し(ST21)、プログラムコード21をメモリ23へロードする(ST22)。この状態は、図2に示すように表示される。
そして、この状態で、図2の画面上の実行ボタンEが操作されることにより(ST23)、選択された契機以降のプログラムコードを実行し、再現試験を実施することができる。
実施の形態1では、再現マシンが、プログラムコードをメモリへロードした後、一気に実行する場合について述べたが、実施の形態2では、再現試験をステップ実行できるようにしたものである。
図5は、この発明の実施の形態2による再現試験システムの動作履歴復元ソフトの処理を示すフローチャートである。
図5において、ST20〜ST23は図4の処理と同じ処理である。
実施の形態2は、プログラムコード21を実行するに当たり、1ステップずつ実行し、結果を確認できるようにしたものである。ST23で、図2のステップ実行ボタンDを操作すれば、プログラムコードの1ステップずつで停止するので、ST34では、その画面でさらにステップ実行ボタンDを操作することにより、プログラムコードの次のステップが実行される。そして、そのつど、ST35で、異常発生をチェックする。
実施の形態2によれば、再現試験をステップ実行することができ、解析性を向上することができる。
実施の形態1及び実施の形態2では、対象ユニット10にて異なるプログラムコード11を複数実行した場合、再現マシン20では、どのプログラムコード21を復元するのか判断できないという問題がある。このため、実施の形態3は、動作履歴情報14に動作履歴とプログラムコード名を併せて記録するようにした。
図6は、この発明の実施の形態3による再現試験システムの動作履歴収集ソフトの処理を示すフローチャートである。
図6において、ST10、ST11は図3における処理と同じ処理である。
図7において、ST20、ST21、ST23、ST34、ST35は図5の処理と同じ処理である。
これにより、図1の動作履歴情報24にプログラムコード名が追加される。
図7に示すように、ST21の次に、動作履歴(プログラムコード名)に記録されたプログラムコードをメモリへロードする処理(ST52)を行う。そして、ST23で、これを実行する。
これにより、誤ったプログラムコード21の実行を防ぐことができる。
実施の形態1〜実施の形態3では、対象ユニット10のプログラムコード11を、再現マシン20のプログラムコード21として使用したが、実施の形態4は、プログラムコード21に予めプログラムコード11と同じものを置いておくことにより、コピーする手間を省くようにした。
ただし、プログラムコード11とプログラムコード21が同一でなければならないため、ハッシュ値によるチェックを行なう仕組みを追加する。
図8において、ST10、ST11、ST42は図6における処理と同じ処理である。
図9において、ST20、ST21、ST23、ST34、ST35、ST52は図7の処理と同じ処理である。
これは、実施の形態3の図6の最後に、プログラムコード11のハッシュ値を算出する処理(ST63)と、プログラムコード11のハッシュ値を記録する処理(ST64)を追加したものである。
これは、実施の形態3の図7のST21とST52の間に、予め再現マシン20に保持するプログラムコード21のハッシュ値を算出する処理(ST72)と、選択した動作履歴情報24のハッシュ値とプログラムコード21のハッシュ値を比較する処理(ST73)を追加したものである。
ST73の条件分岐では、ハッシュ値が一致した場合には、ST52に分岐して処理を継続し、不一致の場合には、処理を終了する。
実施の形態1〜実施の形態4では、対象ユニット10のプログラムコード11と動作履歴情報14を基にして動作を再現(復元)していた。通常、プログラムコード11に不具合がある場合、実施の形態1〜実施の形態4による解析を行なって問題箇所を特定し、正常動作するように、その問題箇所を変更(修正)する。
実施の形態5は、この変更後のプログラムコード21の(正常)動作を確認するため、変更前/変更後のどちらのプログラムコード21にも対応できる動作履歴復元ソフト25を実現する。
図10において、ST20、ST21、ST23、ST34、ST35、ST52、ST72、ST73は図9の処理と同じ処理である。
図10では、図9のST21とST72との間に、プログラムコードの種類(変更前/変更後)を選択(入力)する処理(ST82)と、変更前/変更後チェックの処理(ST83)を追加したものである。
これらのうち、ST83の条件分岐では、ST82で選択(入力)された変更前、もしくは、変更後に従って、変更前の場合にはST72に分岐して処理を継続し、変更後の場合には、ST52に分岐して、その後の処理を継続する。
11 プログラムコード
12 レジスタ
13 メモリ
14 動作履歴情報
15 動作履歴収集ソフト
20 再現マシン
21 プログラムコード
22 レジスタ
23 メモリ
24 動作履歴情報
25 動作履歴復元ソフト
Claims (5)
- プログラムコードを実行した時、上記プログラムコードの任意の場所に埋め込まれた動作履歴収集ソフトにより、レジスタ情報及びメモリ情報を動作履歴情報として保存する対象ユニット、
及びこの対象ユニットから上記動作履歴情報と上記プログラムコードを取得し、上記プログラムコードの実行を再現する再現マシンを備え、
上記再現マシンは、選択された上記動作履歴情報の上記レジスタ情報を自装置のレジスタに、上記動作履歴情報の上記メモリ情報を自装置のメモリにそれぞれ復元するとともに、
上記レジスタ情報が復元されたレジスタ及び上記メモリ情報が復元されたメモリを用いて、上記選択された上記動作履歴情報に対応するステップ以降の上記プログラムコードを実行する動作履歴復元ソフトを有することを特徴とする再現試験システム。 - プログラムコードを実行した時、上記プログラムコードの任意の場所に埋め込まれた動作履歴収集ソフトにより、レジスタ情報及びメモリ情報を動作履歴情報として保存するとともに上記プログラムコードのハッシュ値を保存する対象ユニット、
及びこの対象ユニットから上記動作履歴情報及び上記ハッシュ値を取得し、予め自装置に保存された上記プログラムコードと同じプログラムコードにより上記対象ユニットの実行を再現する再現マシンを備え、
上記再現マシンは、選択された上記動作履歴情報の上記レジスタ情報を自装置のレジスタに、上記動作履歴情報の上記メモリ情報を自装置のメモリにそれぞれ復元する動作履歴復元ソフトを有し、
上記動作履歴復元ソフトは、上記レジスタ情報が復元されたレジスタ及び上記メモリ情報が復元されたメモリを用いて、上記自装置に保存された上記プログラムコードのハッシュ値が上記対象ユニットから取得したハッシュ値と一致することを確認した上で、上記自装置に保存された上記プログラムコードの上記選択された上記動作履歴情報に対応するステップ以降の部分を実行することを特徴とする再現試験システム。 - 上記動作履歴復元ソフトは、上記プログラムコードをステップごとに実行することを特徴とする請求項1または請求項2記載の再現試験システム。
- 上記動作履歴収集ソフトは、上記動作履歴情報の収集に当たって、上記動作履歴情報に対応する上記プログラムコードのプログラムコード名を保存するとともに、上記動作履歴復元ソフトは、上記動作履歴情報の復元に当たって上記プログラムコード名が選択され、この選択されたプログラムコード名に対応する動作履歴情報を復元することを特徴とする請求項1〜請求項3のいずれかに記載の再現試験システム。
- 上記動作履歴復元ソフトによって実行が再現されるプログラムコードは、修正により変更されたものと、変更前のものとが選択されることを特徴とする請求項1〜請求項4のいずれかに記載の再現試験システム。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012026035A1 (ja) * | 2010-08-27 | 2012-03-01 | 富士通株式会社 | 障害処理方法,障害処理システム,障害処理装置及び障害処理プログラム |
JP5534209B2 (ja) * | 2010-09-06 | 2014-06-25 | 日本電気株式会社 | データベースの共有メモリの状態を別環境に再現するシステム及び方法 |
Family Cites Families (5)
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 | プログラムディバッガ |
-
2007
- 2007-12-05 JP JP2007314427A patent/JP4897654B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009140136A (ja) | 2009-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5509568B2 (ja) | コンピュータ装置、プロセッサ診断方法、及びプロセッサ診断制御プログラム | |
JP5026046B2 (ja) | ホームドア動作異常検出システム | |
JPH11134235A (ja) | 外部記憶装置故障時の回復支援方法 | |
JP2011215814A (ja) | プログラマブルコントローラ、設定値バックアップ・リストアシステム、及び設定値バックアップ・リストアユニット | |
JP4897654B2 (ja) | 再現試験システム | |
JP5293062B2 (ja) | コンピュータ装置、メモリ診断方法、及びメモリ診断制御プログラム | |
CN107516546B (zh) | 一种随机存储器的在线检测装置及方法 | |
JP2010102454A (ja) | 情報処理装置、情報処理プログラム | |
JP2009223714A (ja) | 演算回路及び演算回路の異常解析方法 | |
JPH08227372A (ja) | データ処理装置 | |
JP3206096B2 (ja) | 入力データ処理装置 | |
JP2007108846A (ja) | データ出力装置及びデータ出力方法 | |
CN105760264A (zh) | 一种检测服务器故障硬件设备的方法及装置 | |
CN105700976A (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) | 情報処理装置、及び情報処理装置のダンプ管理方法 | |
JP5142877B2 (ja) | ディジタル保護制御装置の試験支援装置 | |
JP2009048403A (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 |