JPS61294555A - プログラム暴走検出方法 - Google Patents

プログラム暴走検出方法

Info

Publication number
JPS61294555A
JPS61294555A JP60136017A JP13601785A JPS61294555A JP S61294555 A JPS61294555 A JP S61294555A JP 60136017 A JP60136017 A JP 60136017A JP 13601785 A JP13601785 A JP 13601785A JP S61294555 A JPS61294555 A JP S61294555A
Authority
JP
Japan
Prior art keywords
program
address
runaway
pointers
head
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
JP60136017A
Other languages
English (en)
Inventor
Kazuo Yushimo
和雄 湯下
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 Keiyo Engineering Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Keiyo Engineering Co 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, Hitachi Keiyo Engineering Co Ltd filed Critical Hitachi Ltd
Priority to JP60136017A priority Critical patent/JPS61294555A/ja
Publication of JPS61294555A publication Critical patent/JPS61294555A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は情報処理装置におけるプログラム暴走検出方法
に係り、特にストアードプログラム制御方式のコンピュ
ータに於て任意のプログラムに適用可能なプログラム暴
走検出方法に関する。
〔発明の背景〕
プログラムが暴走する原因は、簡単なミスからタイミン
グの狂いにいたるものまで種々あるが。
これらの原因によってひき起される状態は、命令ではな
いデータ等のアドレスが命令であるかのようにアクセス
されて実行される場合と、ダイナミックルーズと呼ばれ
る永久的に復旧しないループにプログラムが迷い込む場
合に集約される。これらは、いずれの場合も実行中の命
令アドレスをチェックすることにより検出できる。この
種の従来の誤動作検出回路としては、特開昭52−87
886号に開示されたものがある。しかしこれは、電子
計算機本来の回路の他に別口路を用いて実行中アドレス
を読み出さなければ実現できない。またプログラムの分
割数と同数の比較回路を必要とするタメ、パーツナルコ
ンピュータの様に価格、大キさに制限がある場合とても
使用はできない。さらにプログラムが変更になった場合
には、先頭ポインタや終了ポインタが変更される事は必
須であるがその変更方法については配慮されていないな
どの欠点があった。
〔発明の目的〕
本発明の目的は、特別なハードウェアを必要とせず、任
意のプログラムに対して適用可能なプログラム暴走検出
方法を提供するにある。
〔発明の概要〕
本発明は、プログラムの実行前もしくは実行中にプログ
ラムの中で全ての先頭ポインタと終了ポインタを記憶装
置に登録し、さらに定期的に処理が実行できる割込処理
(例えばインターバルタイマーを用いた割込処理)に起
動をかける。そしてその割込処理の中で実行中アドレス
を読込み、そのアドレスが記憶装置に登録された先頭ポ
インタと終了ポインタとの間にあるか否かのチェックを
行い暴走を検出することを特徴とするものである。
さらに割込処理において実行中アドレスを表示する事に
よってダイナミックルーズに入ったか否かを検出するよ
うにしたことを特徴とするものである。
〔発明の実施例〕
以下、本発明のパソコンにおける一実施例を第1図から
第4図を用い説明する。第4図は本発明を適用するため
のコンピュータシステム例を示すもので、中央処理装置
1.クロック発生回路2゜ROMa%RAM4、表示制
御回路5.CRT6.キーボード入力回路7%キーボー
ド8、補助記憶装置制御回路9.補助記憶装置(本実施
例ではフロッピーディスクとする)10から構成されて
いる。
第1図はROM8及びRAM4の中の情報の配置例を示
すもので、ROM8の中には本発明の特徴とする割込処
理プログラム81が格納されておp、RAM4の中には
チェックされるべきプログラムエリア41とそのデータ
エリア42.及び先頭ポインタと終了ポインタの格納エ
リア48が配置されている。
以下で動作を説明する。フロッピーディスクlOに記録
されたチェックされるべきプログラムは。
オペレーティングシステムによってRAM4上のプログ
ラムエリア41にロードされると、その実行が始まる。
但しこの実行開始前に第2図の初期化処理が実行される
。即ちまず、RAMJ上のポインタ格納エリアにチェッ
クされるべきプログラムの先頭ポインタと終了ポインタ
全てを登録する(ステップ100ね次に割込処理を有効
にしくステップ101)本来の処理を開始する。この開
始後は。
第3図に示す割込処理プログラム81が1周期的にタイ
マー割込によって起動される。そうするとまずステップ
110ではマイクロプロセッサは当核割込処理から戻る
時のために、現在実行中のアドレスもしくは次に実行す
べきアドレスをスタックと呼ばれるRAMJ上の記憶エ
リア(第1図では省略)にセットする。続いてステップ
111ではこのスタックにセットされている実行中アド
レスを読み出し、ステップ112では前述したダイナミ
ックルーズにプログラムが入っているかどうかをオペレ
ータがチェックできるように読み出した実行中アドレス
を表示制御回路5経由でCRT6に表示する。次にステ
ップttaでは実行中アドレスが前述した第2図の初期
化処理でポインタ格納エリア43に登録された先頭ポイ
ンタと終了ポインタの範囲内に入っているか否かをチェ
ックし、範囲内に入っている場合は割込処理を終了し。
ステップ114でスタックに記憶された実行中アドレス
を用いて割込処理に入る以前のプログラムの次のステッ
プに制御を戻し本来の処理を続行する。しかし、実行中
アドレスが範囲内に入っていない場合にはプログラムが
存在していないアドレス空間をプログラムは実行してい
る。つまシ暴走しているので暴走検出時の処理(これは
本発明には直接関係なく省略している)へ移る。なお、
チェックされるプログラムの先頭ポインタと終了ポイン
タは1組でなく複数組であってもよい。この場合はプロ
グラムが複数個に分割されておシ、その分割単位毎に先
頭と終了のポインタの組が与えられていて、この各組毎
にプログラムアドレスの範囲が指定され、ステップ11
4の判定はこのいずれかの範囲に実行中アドレスが入っ
て込るか否かをしらべるようにする。
〔発明の効果〕
以上説明したように本発明によれば、情報処理装置に暴
走検出用の特別な装置を付加する事なく。
プログラムの追加及び変更だけで暴走検出ができるよう
になシ、プログラムの誤動作チェックに多大なる効果が
発揮できる。また、マルチタスク等のシステムにおいて
も各タスク毎に先頭ポインタと終了ポインタを必要数登
録し、オペレーティングシステムで割込処理を行う事に
よって本発明を実施できる事は明確である。
【図面の簡単な説明】
第1図はROM及びRAMに格納されるプログラム及び
データの説明図、第2図はプログラム実行時の初期化処
理のフローチャート、第8図は本発明の特徴とする割込
処理のフローチャート、第4図はコンピュータシステム
の例を示すブロック図である。 1・・・マイクロプロセッサ、3・・・ROM、4・・
・RAM、6・・・CRT。 第 1 図 、9 茅2 図 ! (iP−東の処理た開畑寸り、う 第3121 $  4  z

Claims (2)

    【特許請求の範囲】
  1. 1. 検出対象プログラムそのもの又は必要な場合には
    分割した各々を単位プログラムとした時、各単位プログ
    ラムの先頭アドレス及び最後尾アドレスをポインタ対と
    して記憶手段に格納するとともに、周期的に起動される
    割込処理プログラムによつて割込発生直前に実行されて
    いた検出対象プログラム内の実行中アドレスが上記いず
    れかのポインタ対の間にあるか否かをチエツクし、もし
    いずれのポインタ対の間にもない時には検出対象プログ
    ラムが暴走していると判定するようにしたことを特徴と
    するプログラム暴走検出方法。
  2. 2. 前記実行中アドレスを表示手段に表示することに
    よつて検出対象プログラムがダイナミツクループに入つ
    ているか否かをオペレータが判断できるようにする機能
    を前記割込処理プログラムに有せしめたことを特徴とす
    る特許請求の範囲第1項記載のプログラム暴走検出方法
JP60136017A 1985-06-24 1985-06-24 プログラム暴走検出方法 Pending JPS61294555A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60136017A JPS61294555A (ja) 1985-06-24 1985-06-24 プログラム暴走検出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60136017A JPS61294555A (ja) 1985-06-24 1985-06-24 プログラム暴走検出方法

Publications (1)

Publication Number Publication Date
JPS61294555A true JPS61294555A (ja) 1986-12-25

Family

ID=15165234

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60136017A Pending JPS61294555A (ja) 1985-06-24 1985-06-24 プログラム暴走検出方法

Country Status (1)

Country Link
JP (1) JPS61294555A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0251742A (ja) * 1988-08-16 1990-02-21 Nec Corp プログラム暴走防止方式
JPH02132528A (ja) * 1988-11-14 1990-05-22 Nec Corp 二重化処理装置におけるチェック方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0251742A (ja) * 1988-08-16 1990-02-21 Nec Corp プログラム暴走防止方式
JPH02132528A (ja) * 1988-11-14 1990-05-22 Nec Corp 二重化処理装置におけるチェック方法

Similar Documents

Publication Publication Date Title
EP0530816A2 (en) Microprocessor with cache memory and trace analyzer therefor
EP1125199B1 (en) Method of debugging a program thread
JPS61294555A (ja) プログラム暴走検出方法
US6141635A (en) Method of diagnosing faults in an emulated computer system via a heterogeneous diagnostic program
JP2760228B2 (ja) キャッシュメモリを内蔵したマイクロプロセッサとそのトレースアナライザ
JPH0283749A (ja) マイクロプロセッサの内部割込み制御方式
JPS60238948A (ja) 計算機システムの処理時間測定装置
JPH01145740A (ja) マルチプロセス用エミユレータ
JPH074669Y2 (ja) 割込要求処理回路
JPH0258648B2 (ja)
SU1485240A1 (ru) Устройство расширения адресного пространства
JPH0778095A (ja) プログラム異常原因解析装置
JPS6146535A (ja) 擬似エラ−設定制御方式
JPH05173846A (ja) 障害解析情報トレース方法
JPS61213937A (ja) 情報処理システムのトレ−ス方式
JPS58189747A (ja) 実行経緯表示装置
JPH0341528A (ja) 計算機における診断装置
JPS61206052A (ja) 情報処理装置
JPS61141046A (ja) デバツグ割込み制御方式
JP2002055846A (ja) 障害検出システムおよび障害検出方法
JPS60193051A (ja) エラ−解析装置
JPH0375909B2 (ja)
JPS63147236A (ja) 情報処理装置
JPH03139734A (ja) 情報処理装置
JPH0812561B2 (ja) パルス間隔計測装置