JPH01130234A - 障害探索方式 - Google Patents

障害探索方式

Info

Publication number
JPH01130234A
JPH01130234A JP62288924A JP28892487A JPH01130234A JP H01130234 A JPH01130234 A JP H01130234A JP 62288924 A JP62288924 A JP 62288924A JP 28892487 A JP28892487 A JP 28892487A JP H01130234 A JPH01130234 A JP H01130234A
Authority
JP
Japan
Prior art keywords
subroutine
external
external subroutine
area
memory
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
JP62288924A
Other languages
English (en)
Inventor
Kenichi Akamatsu
赤松 賢一
Yuji Hirayama
平山 雄司
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.)
Fujitsu Dai Ichi Communications Software Ltd
Fujitsu Ltd
Original Assignee
Fujitsu Dai Ichi Communications Software Ltd
Fujitsu 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 Fujitsu Dai Ichi Communications Software Ltd, Fujitsu Ltd filed Critical Fujitsu Dai Ichi Communications Software Ltd
Priority to JP62288924A priority Critical patent/JPH01130234A/ja
Publication of JPH01130234A publication Critical patent/JPH01130234A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 計算機にて、外部サブルーチンにジャンプする命令を持
つプログラム実行時、暴走を発生する外部サブルーチン
を探索する障害探索方式に関し、暴走が発生した時、ど
の外部サブルーチンが不良か又はどの外部サブルーチン
の入力情報が間違っているかが、手間がかからず早く検
索出来る障害探索方式の提供を目的とし、 外部サブルーチンにジャンプ直前の入力情報をメモリの
第1領域に格納し又外部サブルーチンからの戻り直後の
出力情報をメモリの第2 fief域に格納する格納手
段を設ける構成とする。
〔産業上の利用分野〕
本発明は、計算機にて、外部サブルーチンにジャンプす
る命令を持つプログラム実行時、暴走を発生する外部サ
ブルーチンを探索する障害探索方式の改良に関する。
計算機は通常第4図に示す如く、少なくともプロセッサ
4.ROM5.・メモリ6にて構成され、プログラムは
ROM5に格納しておき、プログラムを実行する時は、
プロセッサ4がこれを読み出し、メモリ6の領域を使用
する等して実行する。
ROM5に格納されている、外部サブルーチンにジャン
プする命令を持つプログラムを、プロセッサ4が実行時
、暴走が発生すると障害を発生する外部サブルーチンを
見つけ、更に、外部サブルーチンが不良か、該外部サブ
ルーチンにジャンプする直前のレジスタに記憶している
入力情報が不良かの判定を行うが、この障害探索は手間
がかからず早く出来ることが望ましい。
〔従来の技術〕
第5図は1例の外部サブルーチンにジャンプする命令を
持つ主プログラム及び従来例の主プログラムを解析する
為のプログラムを示す図で、(A)は主プログラム、 
(B)は主プログラムを解析する為のプログラム、 (
C)はメモリ領域を示す。第6図は1例の、外部サブル
ーチンにジャンプする命令を複数持っているプログラム
を示す図である。
外部サブルーチンにジャンプする命令関連が、例えば第
5図(A)に示す如く、メモリ5000番地−5002
番地に書き込んであり、内容は夫々、データ500をレ
ジスタR1に設定、データ1000をレジスタR2に設
定、ラベルDGMSGEDの外部サブルーチンにジャン
プし戻り先番地(次の番地5003番地)をレジスタR
7に設定、とする。
又ラベルDGMSGEDの外部サブルーチンは、レジス
タR1の内容をメモリ領域AAAに格納2、レジスタR
2の内容をメモリ領域BBHに格納であったとする。
すると、このプログラムを実行する時は、レジスタR1
,R2に設定したデータ500.1000を入力情報と
し、5002番地の命令にてラベルDGMSGEDの外
部サブルーチンにジャンプし、この例のラベルDC,M
SGEDの外部サブルーチンは、レジスタR1の内容を
メモリ領域AAAに格納、レジスタR2の内容をメモリ
領域BBBに格納するコピー命令の為に、サブルーチン
を実行しても出力情報としてのレジスタR1,R2の内
容はd化せず、サブルーチンを実行完了す着と5003
番地に戻り、この番地の命令を実行する。
この時、プログラムに不良が有ると、暴走が発生ずるが
、この不良箇所を見つける為に、(B)に示す、主プロ
グラムを解析する為のプログラムを持っており、現在実
行中の命令をメモリ領域irに格納し、現在実行中の命
令のアドレスをメモリ領域pswに格納するようにして
いる。
暴走が発生すると、プログラムの不良を見つける為に、
命令実行をストップし、再度主プログラムをスタートさ
せ、上記メモリ領域pswに格納される実行中の命令の
アドレスが、指示した番地と等しくなつたら命令実行を
ストップさせるプログラムを用い、第5図(A)の如く
外部サブルーチンにジャンプする命令が1個の場合なら
、外部サブルーチン実行後の戻り先の5003番地を指
示する。
暴走が外部サブルーチン関連で発生していれば命令実行
は5003番地に帰ってこないので、外部サブルーチン
関連に不良があることが判る。
この場合、障害の原因としては、外部サブルーチンにジ
ャンプする直前の、レジスタR1,R2゜(通常はレジ
スタは10個位ある)に格納した入力情報が間違ってい
る場合と、外部サブルーチン自身が不良の場合とがある
そこで、再度命令実行をストップし、再度主プログラム
をスタートさせ、外部サブルーチンにジャンプする直前
の5001番地を指示し、ここで命令をストップさせ、
レジスタR1,R2に格納している内容を見る。   
   ゛ この内容が間違っていればこれが暴走の原因であり、間
違っていなければ、外部サブルーチン自身が不良である
ことが判る。
第6図に示す如く外部サブルーチンにジャンプする命令
が複数で例えばNo、1〜NO4と4個ある場合は、上
記の動作を、No、1よりNO64迄順次繰り返し、ど
の外部サブルーチンへの入力情報が間違っているか、ど
の外部サブルーチン自身が不良であるかを探索する。
〔発明が解決しようとする問題点〕
しかしながら、上記従来の障害探索方式では、暴走が発
生すると、外部サブルーチンにジャンプする命令の数に
よって多くなるが、命令実行を少なくとも3回繰り返し
て行うので、手間がかかり又時間がかかる問題点がある
。  。
本発明は、外部サブルーチンにジャンプする命令を持つ
プログラムを実行し、暴走が発生した時、どの外部サブ
ルーチンが不良か又はどの外部サブルーチンの入力情報
が間違っているかが、手間がかからず早く検索出来る障
害探索方式の提供を目的としている。
〔問題点を解決するための手段〕
第1図は本発明の原理ブロック図である。
第1図に示す如く、計算機にて、外部サブルーチンにジ
ャンプする命令を持つプログラムを実行するに際し、 外部サブルーチンにジャンプ直前の入力情報をメモリの
第1領域1に格納し又外部サブルーチンからの戻り直後
の出力情報をメモリの第2領域2に格納する格納手段3
を設けた構成とする。
〔作用〕
本発明によれば、格納手段3にて、外部サブルーチンに
ジャンプ直前の入力情報〔使用可能なレジスタ全てに格
納しである内容〕をメモリの第1・領域lに格納し、又
外部サブルーチンからの戻り直後の出力情報(外部サブ
ルーチンにて使用可能なレジスタ全てに格納しである内
容)をメモリの第2領域2に格納するようにしている。
このようにすれば、外部サブルーチン関連で暴走が発生
すると、第2領域2には何も記憶されないので、外部サ
ブルーチン関連で暴走が発生したことが判り、第1領域
1の内容を見ることで入力情報が間違っているかどうか
が判り、これにより入力情報かまたは外部サブルーチン
が不良かが判る。
尚外部サブルーチンにジャンプする命令が複数ある場合
は、この命令が来る度にメモリの第1゜第2領域1.2
の内容は書き替えられるが、第1゜第2領域1.2の内
容を見れば、例えば、第1領域には、N002の外部サ
ブルーチンへの入力情報が有り、第2領域2にはNo、
1の外部サブルーチンの出力情報が記憶されていれば、
No、2の外部サブルーチンにより暴走が発生しており
、この場合第1領域の内容が間違っていれば、N022
の外部サブルーチンへの入°力情報が間違っていて暴走
していることが判る。
従って、との゛外部サブルーチンが不良か又はどの外部
サブルーチンの入力情報が間違っているかが判る。
即ち、特にプログラム実行をストップさせることもせず
に障害探索が出来るので、手間もかからず早く障害探索
が出来る。
〔実施例〕
第2図は本発明の実施例の障害探索のプログラムのフロ
ーチャートであり、(A)にメモリ領域を示す。
本発明の場合は、外部サブルーチンにジャンプする命令
を含むプログラムを実行させる時は、第2図のプログラ
ムもスタートさせる。
以下第2図のプログラムに従って、第5図(A)の主プ
ログラムの場合を対象にしてまず説明する。
従来と同じ(、ステップ1にて、現在実行中の命令をメ
モリ領域irに格納し、ステップ2にて現在実行中の命
令のアドレスをメモリ領域pswに格納する。
次に、ステップ3にて、外部サブルーチンにジャンプし
ろとの命令かを判定し、そうであれば、ステップ4にて
、レジスタR7のリターンアドレスをメモリ領域r7に
格納し、ステップ5にて、外部サブルーチンにジャンプ
する直前の入力情報(使用可能なレジスタ全ての内容)
を、メモリ領域Aに格納してステップ1に帰り、ステッ
プ1゜2にて上記と同じことを実行し、ステップ3にて
、外部サブルーチンにジャンプしろとの命令かを判定す
る。
この時、そうでなければ(通常はそうでない)、ステッ
プ6に進み、現在実行中の命令のアドレスとメモリ領域
r7に格納したリターンアドレスと等しいかを見、等し
くない場合はステップ1に帰り上記のことを繰り返し、
等しければステップ7に進み、外部サブルーチンよりリ
ターン時の出力情報(外部サブルーチンにて使用可能な
レジスタ全ての内容)をメモリ領域Bに格納させる。
このようにすれば、暴走が発生すると、メモリ領域Bに
は何も格納されないので、外部サブルーチン関連の暴走
であることが判り、又メモリ領域Aの内容を見ることで
、入力情報が間違っているかが判り、間違っていれば入
力情報が原因であり、間違っていなければ外部サブルー
チンが不良であることが判る。
第6図に示す如く、外部サブルーチンにジャンプする命
令が複数有る場合は、メモリ領域A、 Bに書き込まれ
る内容は、外部サブルーチンにジャンプする命令が来る
度に書き替えられるが、メモリ領域A、Bを見ていれば
、例えば、メモリ領域Aには、No、2の外部サブルー
チンへの入力情報が有り、メモリ領域BにはNO,1の
外部サブルーチンの出力情報が記憶されていれば、N0
02の外部サブルーチンにより暴走が発生しており、こ
の場合メモリ領域Aの内容が間違っていれば、No、2
の外部サブルーチンへの入力情報が間違っていて暴走し
ていることが判る。
従って、どの外部サブルーチンが不良か又はどの外部サ
ブルーチンの入力情報が間違っているかが判る。
第3図は本発明の他の実施例の障害探索のプログラムの
フローチャートで(A)にメモリ領域を示しである。
第3図のプログラムは、第6図に示す如く外部サブルー
チンにジャンプする命令が複数有る場合に適用するもの
で、第2図の場合と異なるのは、ステップ5,6.8で
、ステップ7は、第2図のステップ6に等しい。
従って異なる点につき説明する。
この場合は、外部サブルーチンにジャンプしろとの命令
が来て、ステップ4にて、レジスタR7のリターンアド
レスをメモリ領域r7に格納する度に、カウンタを1つ
カウントアンプし、ステップ6にて、外部サブルーチン
にジャンプする直前の入力情報を、メモリ領域Aにカウ
ント値を加えたアドレスの領域A+1.A+2.  ・
・・に格納するようにした点と、現在実行中の命令のア
ドレスが、メモリ領域r7に格納しているリターンアド
レスと等しい時は、ステップ8にて、外部サブルーチン
よりリターン時の出力情報を、メモリ領域Bにカウント
値を加えたアドレスの領域B+1゜8+2.・・・に格
納するようにした点である。
このようにすると、(A)に示す如(、外部サブルーチ
ンにジャンプしろとの命令毎に順次、直前の入力情報は
、メモリ領域A、A+1.A+2゜・・・に、又リター
ン直後の出力情報は、メモリ領域B、B+1.B+2.
  ・・・に格納される。
従って、暴走を発生している外部サブルーチン対応の出
力情報格納領域例えばB+3には何も書き込まれないの
で、N004の命令の所の外部サブルーチン関連の所が
不良であることが判り、メモリ領域A+3の入力情報を
見ることで入力情報が間違って−いるかがわかるので、
どの外部サブルーチンが不良か又はどの外部サブルーチ
ンの入力情報が間違っているかが判る。
第6図の場合は、No、1とN004の命令は、入力情
報は異なるも同じ外部サブルーチンを使うようにしてい
るので、第2図の方法では、どの外部サブルーチンが不
良か又はどの外部サブルーチンの入力情報が間違ってい
るかが検索しにくいも第3図の場合では夫々側々のメモ
リ領域に記憶されているので明確に検索出来る。
〔発明の効果〕
以上詳細に説明せる如く本発明によれば、外部サブルー
チンにジャンプする命令を持つプログラムを実行し、暴
走が発生した時、どの外部サブルーチンが不良か又はど
の外部サブルーチンの入力情報が間違っているかが、手
間がかからず早く検索出来る効果がある。
【図面の簡単な説明】
第1図は本発明の原理ブロック図、 第2図は本発明の実施例の障害探索のプログラムのフロ
ーチャート、 第3図は本発明の他の実施例の障害探索のプログラムの
フローチャート、 第4図は1例の計算機のブロック図、 第5図は1例の外部サブルーチンにジャンプする命令を
持つ主プログラム及び従来例の主プログラムを解析する
為のプログラムを示す図、第6図は1例の、外部サブル
ーチンにジャンプする命令を複数持っているプログラム
を示す図である。 図において、 1はメモリの第1 fii域、 2はメモリの第2領域、 3は格納手段、 4はプロセッサ、 5はROM。 1例の計算機のブロック図 第4図

Claims (1)

  1. 【特許請求の範囲】 計算機にて、外部サブルーチンにジャンプする命令を持
    つプログラムを実行するに際し、 外部サブルーチンにジャンプ直前の入力情報をメモリの
    第1領域(1)に格納し又外部サブルーチンからの戻り
    直後の出力情報をメモリの第2領域(2)に格納する格
    納手段(3)を設けたことを特徴とする障害探索方式。
JP62288924A 1987-11-16 1987-11-16 障害探索方式 Pending JPH01130234A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62288924A JPH01130234A (ja) 1987-11-16 1987-11-16 障害探索方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62288924A JPH01130234A (ja) 1987-11-16 1987-11-16 障害探索方式

Publications (1)

Publication Number Publication Date
JPH01130234A true JPH01130234A (ja) 1989-05-23

Family

ID=17736562

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62288924A Pending JPH01130234A (ja) 1987-11-16 1987-11-16 障害探索方式

Country Status (1)

Country Link
JP (1) JPH01130234A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7878082B2 (en) 2004-05-13 2011-02-01 Nippon Thompson Co., Ltd. Sliding device for use in confined spaces

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7878082B2 (en) 2004-05-13 2011-02-01 Nippon Thompson Co., Ltd. Sliding device for use in confined spaces

Similar Documents

Publication Publication Date Title
JPH01130234A (ja) 障害探索方式
JP2552738B2 (ja) データ処理装置
JP2671160B2 (ja) 例外処理方式
JPS62262146A (ja) 処理装置
JP3021697B2 (ja) プログラミング言語における例外処理方法
JPH04342037A (ja) プログラムのオペランドチェック方式
JPS62293434A (ja) 分岐先予測制御方式
JPH04181331A (ja) 命令リトライ方式
JP3012618B1 (ja) 被検査プログラムのデバグ方法とそのデバグ方式
JPS6042968B2 (ja) 情報処理装置
JPH06161516A (ja) シーケンスプログラムのチェック方法
JPH04369727A (ja) 演算装置
JPS61221943A (ja) 演算処理装置
JPS61279949A (ja) プログラムデバツグ方式
JPS59189452A (ja) デ−タ処理装置用キユ−構造
JPH0740226B2 (ja) 分岐命令制御方式
JPH0695868A (ja) ソフトウェア管理方式
JPS62237533A (ja) デ−タ処理装置
JP2001051872A (ja) プログラムデバッグ装置及びプログラムを記録した記録媒体
JPH05143422A (ja) 更新後ジヤーナル管理方式
JPS63639A (ja) プログラムデバツグ方式
JPH06332508A (ja) プログラマブルコントローラ
JPH0227693B2 (ja)
JPH04134535A (ja) マルチタスクプログラムの例外情報採取機構
JPS59220844A (ja) 命令再実行制御方式