JPH0863375A - 障害診断装置 - Google Patents

障害診断装置

Info

Publication number
JPH0863375A
JPH0863375A JP6198835A JP19883594A JPH0863375A JP H0863375 A JPH0863375 A JP H0863375A JP 6198835 A JP6198835 A JP 6198835A JP 19883594 A JP19883594 A JP 19883594A JP H0863375 A JPH0863375 A JP H0863375A
Authority
JP
Japan
Prior art keywords
pointer
computer
bus
address
contents
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.)
Pending
Application number
JP6198835A
Other languages
English (en)
Inventor
Yasuo Ikegami
泰生 池上
Takeshi Shiobara
毅 塩原
Masashi Isozaki
政志 磯崎
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
Hitachi Advanced Digital Inc
Original Assignee
Hitachi Ltd
Hitachi Video and Information System Inc
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, Hitachi Video and Information System Inc filed Critical Hitachi Ltd
Priority to JP6198835A priority Critical patent/JPH0863375A/ja
Publication of JPH0863375A publication Critical patent/JPH0863375A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 障害が発生したコンピュータのハードウェア
の動作内容を参照して障害の発生に至る状態を記録し解
析する障害診断装置を提供する。 【構成】 開始レジスタ14あるいは終了レジスタ15
に値が設定されていない通常時には、比較回路16は常
にバス20の動作内容をポインタ13の示すアドレスの
RAM12に逐次記録しポインタ13の値を順次移動さ
せていく。コンピュータ30の動作に障害が発生し、動
作が停止してしまうと、リードライト制御回路17はR
AM12およびポインタ13の保持内容を破壊しないよ
うに、書き込み禁止の制御を行う。コンピュータ30を
リセットするか、電源切断・再投入を行うと、コンピュ
ータ30の復帰後に、ポインタ13が示すアドレスから
遡ってRAM12の内容がリードライト制御回路17に
より読み出される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、障害診断装置に係り、
特に、コンピュータのハードウェアやソフトウェア開発
時に不具合原因を解析するため、あるいは、他メーカの
拡張ボードを接続した時に発生し易い障害を診断するた
めの障害診断装置に関する。
【0002】
【従来の技術】コンピュータのハードウェアやそのコン
ピュータの製造メーカ以外のメーカにより製造された拡
張ボードを接続した時に発生し易い障害や、ソフトウェ
ア開発時に不具合原因を解析するなどのために、コンピ
ュータのバスに接続されて動作する障害診断装置が知ら
れている。
【0003】従来のこの種の障害診断装置では、コンピ
ュータが電源投入された時に、あるいは、電源投入時
に、イニシャルキーを押し続けて通常の起動とは異なっ
たモードになった時だけ、コンピュータの中にもつ自己
診断のためのプログラムを実行して、起動時の異常を診
断するようにしている(例えば、株式会社日立製作所製
のパーソナルコンピュータB32GX、1990年6月
「ご活用マニュアル」第341ページ〜第361ペー
ジ)。
【0004】
【発明が解決しようとする課題】しかし、上記の従来装
置では、コンピュータの電源投入時に行われる自己診断
はプログラムによって診断しており、ハードウェア的に
診断するための手段を持ち合わせていないため、コンピ
ュータ本体をリセットするか、あるいは、電源を切断す
ると、コンピュータ本体中のメモリの内容がすべて失わ
れてしまう。そのため、従来装置では、コンピュータの
動作中に障害が発生した時に、自己診断プログラムを実
行するために、一旦、電源を切断して、再度電源を投入
しても、メモリの内容が失われているために、その障害
を診断するための不具合原因を解析できない。
【0005】本発明は、以上の点に鑑みなされたもの
で、障害が発生したコンピュータのハードウェアの動作
内容を参照して障害の発生に至る状態を記録し解析する
ことができて、これにより、診断を迅速に実現すること
ができる障害診断装置を提供することを目的とする。
【0006】
【課題を解決するための手段】本発明は、上記の目的を
達成するため、診断するコンピュータのバスに接続さ
れ、バスのデータ内容からコンピュータの障害を診断す
る障害診断装置において、コンピュータ本体のリセット
および電源切断に関係なくデータ内容を保持するメモリ
手段と、コンピュータ本体のリセットおよび電源切断に
関係なく内容を保持する、メモリ手段のアドレスを指示
するためのポインタと、バスのデータ内容をポインタの
指示するメモリ手段のアドレスに書込むと共に、書込み
毎にポインタの示すアドレスを移動する第1の手段と、
コンピュータの障害発生時にメモリ手段への書込み動作
を禁止すると共に、ポインタの移動を停止する第2の手
段と、コンピュータ本体をリセットあるいは電源切断後
に再投入することにより、メモリ手段の記憶内容をポイ
ンタの示すアドレスから順次読み出す読み出し手段とを
有する構成としたものである。
【0007】また、本発明では、少なくともプログラム
の実行開始アドレスおよびデータ値を保持している開始
レジスタと、少なくともプログラムの実行終了アドレス
およびデータ値を保持している終了レジスタと、開始レ
ジスタの設定値と前記バスのデータ内容を逐一比較し、
両者が一致した時より第1の手段による動作を実行さ
せ、終了レジスタの設定値とバスのデータ内容を逐一比
較し、両者が一致した時に第2の手段による動作を実行
させる比較回路とをさらに有する構成としたものであ
る。
【0008】
【作用】本発明では、コンピュータが障害発生するまで
は前記メモリ手段にバスの内容を順次に書込み、障害発
生時にポインタの移動とメモリ手段への書込み動作とを
禁止することにより、メモリ手段のポインタの示すアド
レスには障害が発生する直前のバスの動作内容を保持さ
せることができる。
【0009】また、本発明では、開始レジスタにはソフ
トウェアの無限ループに陥る直前に実行されると考えら
れるプログラムのアドレスを格納し、終了レジスタには
無限ループ実行時に発生するアドレスを格納しておき、
これらのアドレスを変更しながら解析を行うことによ
り、無限ループに陥る原因を解析することができる。
【0010】
【実施例】次に、本発明の実施例について説明する。図
1は本発明の障害診断装置の一実施例のブロック図を示
す。
【0011】本実施例は、拡張ボードをコンピュータの
拡張スロットに接続した例である。障害診断装置10
は、拡張スロットのバス20を介してコンピュータ30
に接続されている。障害診断装置10は、電池11と、
電池11でバックアップされているランダム・アクセス
・メモリ(RAM)12と、RAM12への書き込みア
ドレスを電池11でバックアップしているポインタ13
と、ポインタ13が示すアドレスのRAM12に記録す
る動作を開始および終了させる条件を格納しておく開始
レジスタ14および終了レジスタ15とを備え、さら
に、開始レジスタ14および終了レジスタ15とバス2
0の動作内容とを比較する比較回路16と、RAM12
へのバスの動作内容の書き込みあるいはコンピュータ3
0への読み出しを制御する外部バス18に接続されたリ
ードライト制御回路17とを備えて構成されている。
【0012】次に、本実施例の動作について、図2乃至
図5を併せて参照して説明する。通常、開始レジスタ1
4あるいは終了レジスタ15は、値が設定されておら
ず、この場合は、開始レジスタ14および終了レジスタ
15とポインタ13との比較は行わず、比較回路16
は、常に、バス20の動作内容をポインタ13の示すア
ドレスのRAM12に逐次記録し、ポインタ13の値を
順次移動させていく(ステップ41、42)。このとき
のバス20のデータを、図3(A)に、また、RAM1
2に書き込まれるデータを図3(B)に、さらに、ポイ
ンタ13の内容を図3(C)に示す。
【0013】ここで、何らかの原因でコンピュータ30
の動作に障害が発生し、動作が停止してしまうと(ステ
ップ43)、RAM12への書き込みおよびポインタ1
3の移動も停止する(ステップ44)。図3(A)に示
すバス20のデータのNGの部分が障害発生を示す。
【0014】この状態でポインタ13は、障害が発生す
る直前のRAM12への書き込みアドレスを保持してい
るため、RAM12のポインタ13が示すアドレス(図
3(C)にはn+2で示す)には、障害が発生する直前
のバス20の動作内容が記録されていることになる。
【0015】このときは、リードライト制御回路17
は、RAM12およびポインタ13の保持内容を破壊し
ないように、書き込み禁止の制御を行う(ステップ4
5)。図3(D)のハイレベルは、書き込み禁止を模式
的に示す。
【0016】次に、コンピュータ30の停止状態を抜け
出して、復帰させるため、コンピュータ30をリセット
するか、リセットが効かない状態では、電源切断・再投
入を行う(ステップ46)。図3(E)のハイレベル
は、リセット状態を模式的に示す。これにより、コンピ
ュータ30の復帰後に、ポインタ13が示すアドレスか
ら遡ってRAM12の内容がリードライト制御回路17
により読み出される(ステップ47)。
【0017】この時のRAM12の読み出しデータを図
5(A)に、ポインタ13の値を同図(B)に、リセッ
ト信号の変化を同図(D)に示す。この時、RAM12
は、図5(C)に模式的に示すように書込み禁止状態に
保持されている。これにより、コンピュータ30の障害
発生に至るまでのデータ内容をトレースすることでコン
ピュータ30の解析が可能となる。
【0018】一方、コンピュータ30の障害発生時に、
動作の停止ではなくソフトウェアの無限ループ実行状態
となることもあるため、その無限ループに陥る原因を追
及する場合には、開始レジスタ14に、無限ループに陥
る直前に実行されると考えられるプログラムの実行アド
レスおよびデータ値、必要に応じて他のバス信号の条件
があらかじめ設定される。同様に、終了レジスタ15に
も無限ループ実行時に発生するであろうアドレスおよび
データ値、必要に応じて他のバス信号の条件が設定され
る。
【0019】これにより、比較回路16は、開始レジス
タ14および終了レジスタ15にアドレス等が設定され
ていると判断した時は(ステップ41)、バス内容が開
始レジスタ14の設定値と同一かどうか逐一判定する
(ステップ48)。図4(A)はこの場合のバス20の
データ、同図(B)はRAM12のデータ、同図(C)
はポインタ13の値、同図(D)は開始レジスタ14の
設定値がA、同図(E)は終了レジスタ15の設定値が
Bであることを示す。
【0020】バス20のデータ内容が開始レジスタ14
の設定値Aに一致すると、比較回路16は、図4(A)
に示す、そのときのバス20のデータ内容Aを、リード
ライト制御回路17により、同図(B)に示すように、
RAM12へ書き込ませると共に、一致した時点からポ
インタ13の移動をリードライト制御回路17に許可す
る(ステップ49)。
【0021】その後、比較回路16は、コンピュータ3
0のバス20のデータ内容と終了レジスタ15の設定値
Bとを逐一比較し、両者が一致するまで、RAM12へ
のデータ書込みを継続する(ステップ50、49)。両
者が一致すると、直ちに、あるいは、必要に応じて、あ
る設定回数以上一致した時点で、比較回路16は、リー
ドライト制御回路にRAM12へのバスの動作内容の書
込みおよびポインタ13の移動を禁止させる(ステップ
51)。図4(F)はハイレベルが書込み禁止状態であ
ることを模式的に示す。また、図4(G)はリセット信
号を示す。
【0022】その後、比較回路16は、RAM12に書
込んだデータを開始レジスタ14と終了レジスタ15の
内容を参照しながら読み出し、コンピュータ30に読み
出し終えた時終了と判断し(ステップ52)、自己診断
動作を完了する。
【0023】この場合、開始レジスタ14や終了レジス
タ15の設定内容を変えながら解析を行うことで、無限
ループに陥る原因を追及することができる。これによ
り、本実施例によれば、ソフトウェア開発時における不
良原因を解析するデバッグ装置としても使用し得る。
【0024】なお、RAM12の記憶容量には限界があ
るため、ポインタ13は、RAM12の全アドレス分移
動した時は、元に戻ってまた移動を開始するようにす
る。また、開始レジスタ14および終了レジスタ15の
それぞれにアドレスやデータ値、バス信号の条件を設定
した時において、上記のステップ51の書込み禁止動作
後は、開始レジスタ14および終了レジスタ15のそれ
ぞれにアドレス等を設定しない時と同様に、図5と同じ
タイムチャートに従い動作する。
【0025】なお、本実施例では、RAM12およびポ
インタ13の内容を外部バス18を介して読み出すこと
もできる。
【0026】つぎに、上記実施例による障害診断の具体
例について説明する。ここでは、例えば、コンピュータ
30が、表1のような一連の動作を行い、番号1から始
まり番号7で障害が発生したとする。この場合バス20
の動作内容は、アドレス、データ、コマンドである。
【0027】
【表1】
【0028】まず、開始レジスタ14あるいは終了レジ
スタ15に、値が設定されていない場合で、開始レジス
タ14および終了レジスタ15とポインタ13との比較
を行わず、比較回路16が、常に、バス20の動作内容
をポインタ13の示すアドレスのRAM12に逐次記録
し、ポインタ13の値を順次移動させて行く場合につい
て説明する。
【0029】比較回路16は、番号1のバス20の動作
内容から番号6まで、RAM12に記録する。番号7を
記録したところ、次に起こるはずの番号8の動作が行わ
れないので、リードライト制御回路17は、RAM12
およびポインタ13の保持内容を破壊しないように、書
き込み禁止の制御を行う。これから、RAM12の内容
を調べて、そのバス20の動作によって、診断を行い、
障害個所を特定することができる。
【0030】一方、ソフトウェアの無限ループによる場
合、開始レジスタ14に、アドレス0000、データ0
1を設定しておき、終了レジスタ15に、アドレスを0
003、データを89と設定しておけば、RAM12に
番号1から記録し始め、番号5のところでRAM12に
記録することをやめる。この動作を繰り返せば、無限ル
ープを解析して行くことができる。
【0031】
【発明の効果】以上説明したように、本発明によれば、
メモリ手段のポインタの示すアドレスに、障害が発生す
る直前のバスの動作内容を保持させ、このアドレスから
遡ってメモリ手段の記憶内容を読み出すことができるよ
うにしたため、動作の停止に至る障害発生の状態を迅速
に解析することができる。
【0032】また、本発明では、開始レジスタと終了レ
ジスタの記憶アドレスを変更しながら解析を行うことに
より、無限ループに陥る原因を解析することができるよ
うにしたため、動作の停止を伴わないソフトウェアの不
具合原因を、バスの動作内容を特定しながら解析するこ
とができる。
【図面の簡単な説明】
【図1】本発明の一実施例のブロック図である。
【図2】図1の動作説明用フローチャートである。
【図3】図1の開始レジスタおよび終了レジスタに値を
設定しない時の動作説明用タイムチャートである。
【図4】図1の開始レジスタおよび終了レジスタに値を
設定した時の動作説明用タイムチャートである。
【図5】書込み禁止後の図1の動作説明用タイムチャー
トである。
【符号の説明】
10…障害診断装置、11…電池、12…ランダム・ア
クセス・メモリ(RAM)、13…ポインタ、14…開
始レジスタ、15…終了レジスタ、16…比較回路、1
7…リードライト制御回路、18…外部バス。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 磯崎 政志 神奈川県海老名市下今泉810番地 株式会 社日立製作所オフィスシステム事業部内

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 診断するコンピュータのバスに接続さ
    れ、該バスのデータ内容から該コンピュータの障害を診
    断する障害診断装置において、 前記コンピュータ本体のリセットおよび電源切断に関係
    なくデータ内容を保持するメモリ手段と、 前記コンピュータ本体のリセットおよび電源切断に関係
    なく内容を保持する、該メモリ手段のアドレスを指示す
    るためのポインタと、 前記バスのデータ内容を該ポインタの指示する前記メモ
    リ手段のアドレスに書込むと共に、該書込み毎に該ポイ
    ンタの示すアドレスを移動する第1の手段と、 前記コンピュータの障害発生時に前記メモリ手段への書
    込み動作を禁止すると共に、該ポインタの移動を停止す
    る第2の手段と、 該コンピュータ本体をリセットあるいは電源切断後に再
    投入することにより、前記メモリ手段の記憶内容を前記
    ポインタの示すアドレスから順次読み出す読み出し手段
    とを有することを特徴とする障害診断装置。
  2. 【請求項2】 少なくともプログラムの実行開始アドレ
    スおよびデータ値を保持している開始レジスタと、 少なくともプログラムの実行終了アドレスおよびデータ
    値を保持している終了レジスタと、 該開始レジスタの設定値と前記バスのデータ内容を逐一
    比較し、両者が一致した時より前記第1の手段により該
    バスのデータ内容を前記ポインタの指示する前記メモリ
    手段のアドレスに書込ませると共に、該書込み毎に該ポ
    インタの示すアドレスを移動させ、該終了レジスタの設
    定値と前記バスのデータ内容を逐一比較し、両者が一致
    した時に前記第2の手段により前記メモリ手段への書込
    み動作を禁止すると共に、該ポインタの移動を停止させ
    る比較回路とをさらに有することを特徴とする請求項2
    記載の障害診断装置。
JP6198835A 1994-08-23 1994-08-23 障害診断装置 Pending JPH0863375A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6198835A JPH0863375A (ja) 1994-08-23 1994-08-23 障害診断装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6198835A JPH0863375A (ja) 1994-08-23 1994-08-23 障害診断装置

Publications (1)

Publication Number Publication Date
JPH0863375A true JPH0863375A (ja) 1996-03-08

Family

ID=16397713

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6198835A Pending JPH0863375A (ja) 1994-08-23 1994-08-23 障害診断装置

Country Status (1)

Country Link
JP (1) JPH0863375A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115982057A (zh) * 2023-03-02 2023-04-18 杭州协能科技股份有限公司 程序指针故障检测方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115982057A (zh) * 2023-03-02 2023-04-18 杭州协能科技股份有限公司 程序指针故障检测方法
CN115982057B (zh) * 2023-03-02 2023-06-09 杭州协能科技股份有限公司 程序指针故障检测方法

Similar Documents

Publication Publication Date Title
JPH06222952A (ja) デバッグ支援装置
JP4146006B2 (ja) フラッシュメモリを有する電子機器
JPH0863375A (ja) 障害診断装置
JP3192354B2 (ja) コンピュータシステムのリトライ処理装置
JP3171325B2 (ja) メモリ試験装置及び方法及び記録媒体
JP4339269B2 (ja) 携帯電話機のバスモニターシステム及び方法
JPH03105434A (ja) エラーロギングシステム
JPS6045829B2 (ja) フエイルメモリ
JP2517370B2 (ja) インテリジェント計測カ―ドの制御方法
JPH0740235B2 (ja) トレ−ス情報の収集方式
JP2833928B2 (ja) 診断初期化方式
JPS6346461B2 (ja)
JPS5952468B2 (ja) ステ−ジトレ−サ
JP3107015B2 (ja) 間欠障害診断システム
JPS6011400B2 (ja) Ic試験装置
CN114005484A (zh) 机械磁盘自擦除机制测试方法、装置、终端及存储介质
JP2973975B2 (ja) 離散イベントシミュレーション装置及びイベント列の記録方法ならびに制御プログラムを格納した記憶媒体
JP2001202272A (ja) デバッグの方法とこの方法を用いたデバッグ装置及びデバッグの方法を記録した記録媒体
JP2961781B2 (ja) データ処理装置
JPH09325900A (ja) プログラム実行トレース装置
JPH0310331A (ja) データ退避方式
JPS6227421B2 (ja)
JPH0896587A (ja) メモリ制御装置およびメモリ制御方法
JPH0749801A (ja) エラー解析支援回路
JPH02123631U (ja)