JPH05189255A - Program runaway detection method - Google Patents
Program runaway detection methodInfo
- Publication number
- JPH05189255A JPH05189255A JP4004506A JP450692A JPH05189255A JP H05189255 A JPH05189255 A JP H05189255A JP 4004506 A JP4004506 A JP 4004506A JP 450692 A JP450692 A JP 450692A JP H05189255 A JPH05189255 A JP H05189255A
- Authority
- JP
- Japan
- Prior art keywords
- module
- program
- address
- executed
- module number
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、計算機システム等に使
用するプログラム暴走の検知方法に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a program runaway detection method used in a computer system or the like.
【0002】[0002]
【従来の技術】従来の計算機システムでは、プログラム
の暴走を検知する機構を持たない。2. Description of the Related Art A conventional computer system has no mechanism for detecting runaway of a program.
【0003】[0003]
【発明が解決しようとする課題】上記従来の計算機シス
テムでは、プログラムの暴走を検知する機構を持たない
ため、異常なアドレスの実行によりシステムが停止した
り、システムが応答不能になるといった、致命的かつ回
復不可能な状態に陥るまでプログラムの暴走を検知する
ことができない。Since the above-mentioned conventional computer system does not have a mechanism for detecting a program runaway, it is fatal that the system is stopped due to execution of an abnormal address or the system becomes unresponsive. And the runaway of the program cannot be detected until it falls into the unrecoverable state.
【0004】本発明は、このような従来の問題を解決す
るものであり、システムが致命的かつ回復不可能な状態
に陥る前にプログラムの暴走を検知し、システムの状態
を回復できるような優れたプログラム暴走検知方法を提
供することである。The present invention solves such a conventional problem and is excellent in that it can detect a program runaway and recover the system state before the system falls into a fatal and unrecoverable state. It is to provide a program runaway detection method.
【0005】[0005]
【課題を解決するための手段】本発明は、上記目的を達
成するために、各モジュールに固有のモジュール番号を
付加し、現在実行中のモジュールのモジュール番号を記
憶する部分と、モジュール番号とモジュールがメモリ上
で占める領域の開始アドレスと領域の大きさの対応を検
索するための対応表をもち、一定時間毎に現在実行中の
アドレスが現在実行中のモジュールのモジュール番号と
上記対応表より求めたメモリ領域に含まれているかどう
かの判定を行ない、プログラムが暴走しているか否かを
検知するようにしたものである。In order to achieve the above-mentioned object, the present invention adds a unique module number to each module and stores the module number of the module currently being executed, the module number and the module. Has a correspondence table for searching the correspondence between the start address of the area occupied in the memory and the size of the area, and the address currently being executed is obtained at regular intervals from the module number of the module currently being executed and the above correspondence table. It is determined whether or not it is included in the memory area and whether or not the program is out of control.
【0006】[0006]
【作用】したがって、本発明によれば、一定時間毎にプ
ログラムが暴走状態に陥っているか否かを検知すること
ができるので、プログラムが致命的な状態に陥る前に障
害復旧処理を行なうことができるという効果を有する。Therefore, according to the present invention, it is possible to detect whether or not the program is in a runaway state at regular time intervals, so that the failure recovery processing can be performed before the program is in a fatal state. It has the effect of being able to.
【0007】[0007]
【実施例】図2は本発明の第1の実施例に適用される計
算機システムの構成図である。図2において、21は中
央処理装置(以下、CPUという)であり、22はCP
U21中の汎用レジスタ(以下、R1 ,R2 ,R3 と呼
ぶ)であり、23はCPU21中のプログラムカウンタ
であり、24はスタック領域であり、25はメモリ領域
である。26はメモリ領域25に含まれるモジュール群
27のモジュール番号とモジュールの格納されているメ
モリ領域の開始アドレスと領域の大きさとの対応表であ
る。1 is a block diagram of a computer system applied to a first embodiment of the present invention. In FIG. 2, 21 is a central processing unit (hereinafter referred to as CPU), and 22 is a CP.
U21 is a general-purpose register (hereinafter referred to as R 1 , R 2 , R 3 ), 23 is a program counter in the CPU 21, 24 is a stack area, and 25 is a memory area. Reference numeral 26 is a correspondence table of the module number of the module group 27 included in the memory area 25, the start address of the memory area in which the modules are stored, and the area size.
【0008】図3の12は図2における対応の具体例を
示した図であり、モジュール番号、モジュール開始アド
レス、モジュールサイズ対応表を示している。また、図
4の13は実行中モジュール番号保存領域を示してい
る。Reference numeral 12 in FIG. 3 is a diagram showing a specific example of the correspondence in FIG. 2, showing a module number, a module start address, and a module size correspondence table. Reference numeral 13 in FIG. 4 indicates a running module number storage area.
【0009】図5および図6は本発明の第1の実施例に
おけるプログラムのフローチャートである。図5におい
て、31は暴走中であるか否かを判定されるモジュール
であり、図6の32はモジュール31が暴走中であるか
否かを判定するモジュールである。FIG. 5 and FIG. 6 are flow charts of a program in the first embodiment of the present invention. In FIG. 5, reference numeral 31 is a module for determining whether or not a runaway is occurring, and 32 in FIG. 6 is a module for determining whether or not the module 31 is under a runaway.
【0010】次に、上記第1の実施例の動作について説
明する。上記第1の実施例において、図1はこの第1の
実施例の動作原理を説明するためのフローチャートであ
り、まず、図1におけるステップS1で実行中のアドレ
スの読み出しを行い、ステップS2で図4に示す実行中
のモジュール番号13の読み出しを行い、ステップS3
で図3に示すモジュール番号、モジュール開始アドレ
ス、モジュールサイズ対応表12より実行開始アドレス
とモジュールのサイズを検索する。Next, the operation of the first embodiment will be described. In the first embodiment, FIG. 1 is a flow chart for explaining the operation principle of the first embodiment. First, the address being executed is read in step S1 in FIG. The module number 13 being executed shown in 4 is read out, and step S3
Then, the execution start address and the module size are searched from the module number, module start address, and module size correspondence table 12 shown in FIG.
【0011】このサイズの検索の結果、ステップS4で
実行中アドレスが範囲内にあるか否かの判断を行う。こ
の判断の結果、実行中アドレスが範囲内にある場合に
は、ステップS4のYES側からステップS5に進み、
正常とする。また、ステップS4で実行中アドレスが範
囲内になければ、ステップS4のNO側からステップS
6に進み、計算機システムのプログラムが異常であると
判定する。As a result of this size search, it is determined in step S4 whether or not the address being executed is within the range. If the result of this determination is that the address being executed is within the range, the operation proceeds from the YES side of step S4 to step S5,
Normal. If the address being executed is not within the range in step S4, the NO side of step S4 is followed by step S
Proceeding to step 6, it is determined that the computer system program is abnormal.
【0012】次に、図5,図6により第1の実施例をさ
らに具体的に説明する。図5において、ステップS11
で他のモジュールより呼び出されたモジュールは、実行
中モジュール番号格納域中の呼び出し元のモジュール番
号をスタック24に保存し、ステップS12で自分のモ
ジュール番号を実行中モジュール番号格納域に格納し、
その後ステップS13で本来の処理を行なう。Next, the first embodiment will be described more specifically with reference to FIGS. In FIG. 5, step S11
The module called by another module in step S12 stores the module number of the calling source in the running module number storage area in the stack 24, and stores its own module number in the execution module number storage area in step S12.
After that, the original processing is performed in step S13.
【0013】本来の処理を行なっている部分の全般にわ
たって、ステップS14で一定時間毎に暴走検知のため
の割り込み処理を行ない、本来の処理が終了した後、ス
タックに保存した呼び出し元のモジュールのモジュール
番号を実行中モジュール番号格納域に格納してステップ
S15で呼び出し元のモジュールに制御を戻す。In step S14, an interrupt process for detecting runaway is performed at regular intervals throughout the portion where the original process is performed, and after the original process is completed, the module of the calling module saved in the stack. The number is stored in the executing module number storage area, and control is returned to the calling module in step S15.
【0014】また、図6に示す暴走検知のための割り込
み処理では、ステップS21で現在実行中のアドレスを
求め、汎用レジスタR1 に読み出し、ステップS22で
実行中モジュール番号格納域の値と上記対応表26より
求めたプログラム開始番地をレジスタR2 に代入し、プ
ログラム領域の大きさをR3 に代入する。In the interrupt process for detecting runaway shown in FIG. 6, the address currently being executed is obtained in step S21, read out to the general-purpose register R 1 , and in step S22, the value of the module number storage area being executed and the above correspondence. The program start address obtained from Table 26 is substituted into the register R 2, and the size of the program area is substituted into R 3 .
【0015】その後、ステップS23でレジスタR1 の
値からレジスタR2 の値を減算したものが負の値である
か、レジスタR3 以上である場合にはプログラムが暴走
していると判断し、ステップS23のNO側から分岐し
て、障害復帰処理を行ない、それ以外の場合はステップ
S23のYES側から抜けて割り込み処理を終了する。
このように、上記実施例によれば、プログラムが暴走
し、不正なアドレスを実行していることを、一定時間毎
に検知できるため、プログラムが致命的な状態に陥る前
にプログラムの暴走を検知することができ、障害復旧処
理等を実行することができるという利点を有する。Thereafter, in step S23, if the value obtained by subtracting the value of the register R 2 from the value of the register R 1 is a negative value or is greater than or equal to the register R 3, it is determined that the program is out of control, The process branches from the NO side of step S23 to perform the failure recovery process, and otherwise, exits from the YES side of step S23 and ends the interrupt process.
As described above, according to the above-described embodiment, since it is possible to detect that the program is out of control and is executing an illegal address at regular intervals, it is possible to detect the out of control of the program before it falls into a fatal state. Therefore, there is an advantage that the failure recovery processing and the like can be performed.
【0016】[0016]
【発明の効果】本発明は、上記実施例よりも明らかなよ
うに、モジュール番号とモジュールがメモリ上で占める
領域の開始アドレスと、領域の大きさの対応を検索する
ための対応表より求めたメモリ領域に、一定時間毎に現
在実行中のアドレスが現在実行中のモジュールのモジュ
ール番号に含まれているか否かの判定を行うようにし
て、プログラムが暴走し、異常なアドレスを実行してい
ることを検知できるようにして、プログラムが致命的な
状態に陥る前にプログラムの暴走を検知することができ
るため、障害復旧処理を実行することができるという効
果を有する。As is apparent from the above embodiment, the present invention is obtained from a correspondence table for searching the correspondence between the module number, the start address of the area occupied by the module in the memory, and the size of the area. In the memory area, it is determined whether or not the address currently being executed is included in the module number of the module currently being executed at regular intervals, and the program is running out of control and executing an abnormal address. Since it is possible to detect such a situation, it is possible to detect runaway of the program before the program falls into a fatal state. Therefore, it is possible to execute the failure recovery processing.
【図1】本発明の第1の実施例におけるプログラム暴走
検知方法の動作原理を説明するためのフローチャートFIG. 1 is a flow chart for explaining the operation principle of a program runaway detection method according to a first embodiment of the present invention.
【図2】本発明の第1の実施例が適用される計算機シス
テムの構成図FIG. 2 is a configuration diagram of a computer system to which the first embodiment of the present invention is applied.
【図3】本発明の第1の実施例に適用されるモジュール
番号、モジュール開始アドレス、モジュールサイズ対応
表を示す説明図FIG. 3 is an explanatory diagram showing a module number, a module start address, and a module size correspondence table applied to the first embodiment of the present invention.
【図4】本発明の第1の実施例に適用される実行中モジ
ュール番号保存領域を示す説明図FIG. 4 is an explanatory diagram showing a module number storage area under execution applied to the first embodiment of the present invention.
【図5】本発明の第1の実施例を説明するための被暴走
判定モジュールのためのフローチャートFIG. 5 is a flowchart for a runaway determination module for explaining the first embodiment of the present invention.
【図6】本発明の第1の実施例を説明するための暴走判
定モジュールのためのフローチャートFIG. 6 is a flow chart for a runaway determination module for explaining the first embodiment of the present invention.
11 暴走判定ルーチン 12 モジュール番号、モジュール開始アドレス、モジ
ュールサイズ対応表 13 実行中モジュール番号保存領域 21 CPU 22 汎用レジスタ 23 プログラムカウンタ 24 スタック 25 メモリ 26 モジュール番号、モジュール開始アドレス、モジ
ュールサイズ対応図 27 実行中モジュール番号格納領域 28 モジュール群 31 被暴走判定モジュールのフローチャート 32 暴走判定モジュールのフローチャート11 Runaway Judgment Routine 12 Module Number, Module Start Address, Module Size Correspondence Table 13 Running Module Number Storage Area 21 CPU 22 General-purpose Register 23 Program Counter 24 Stack 25 Memory 26 Module Number, Module Start Address, Module Size Correspondence Diagram 27 Running Module number storage area 28 Module group 31 Flow chart of runaway judgment module 32 Flow chart of runaway judgment module
Claims (1)
まるモジュール番号を付加し、現在実行中のモジュール
のモジュール番号を記憶し、モジュール番号に対応する
各モジュールが占めるメモリ上の領域の開始アドレスと
領域の大きさを対応表で記憶しておき、一定時間毎に現
在実行中のアドレスが現在実行中のモジュール番号と上
記対応表より求めたアドレスの範囲内に入っていない場
合は、プログラムが暴走中であると判断することを特徴
としたプログラム暴走検知方法。1. A start address and an area of an area on the memory occupied by each module corresponding to the module number by adding a module number uniquely determined to each module in the program and storing the module number of the module currently being executed. The size of is stored in the correspondence table, and if the address currently being executed is not within the range of the module number currently being executed and the address obtained from the above correspondence table at regular intervals, the program is running out of control. A program runaway detection method characterized by determining that
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4004506A JPH05189255A (en) | 1992-01-14 | 1992-01-14 | Program runaway detection method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4004506A JPH05189255A (en) | 1992-01-14 | 1992-01-14 | Program runaway detection method |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05189255A true JPH05189255A (en) | 1993-07-30 |
Family
ID=11585943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4004506A Pending JPH05189255A (en) | 1992-01-14 | 1992-01-14 | Program runaway detection method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05189255A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008033890A (en) * | 2006-06-30 | 2008-02-14 | Denso Corp | Microcomputer system |
WO2010055562A1 (en) * | 2008-11-13 | 2010-05-20 | 富士通マイクロエレクトロニクス株式会社 | Microcomputer |
JP2012194786A (en) * | 2011-03-16 | 2012-10-11 | Denso Corp | Program execution state monitoring device, and execution state monitoring program |
-
1992
- 1992-01-14 JP JP4004506A patent/JPH05189255A/en active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008033890A (en) * | 2006-06-30 | 2008-02-14 | Denso Corp | Microcomputer system |
US8127183B2 (en) | 2006-06-30 | 2012-02-28 | Denso Corporation | Microcomputer system |
WO2010055562A1 (en) * | 2008-11-13 | 2010-05-20 | 富士通マイクロエレクトロニクス株式会社 | Microcomputer |
JP5115628B2 (en) * | 2008-11-13 | 2013-01-09 | 富士通セミコンダクター株式会社 | Microcomputer |
US8522081B2 (en) | 2008-11-13 | 2013-08-27 | Fujitsu Semiconductor Limited | Microcomputer outputting failure detection result |
JP2012194786A (en) * | 2011-03-16 | 2012-10-11 | Denso Corp | Program execution state monitoring device, and execution state monitoring program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR970002637A (en) | Multiprocessor system | |
US4839895A (en) | Early failure detection system for multiprocessor system | |
JPH05189255A (en) | Program runaway detection method | |
JPH02294739A (en) | Fault detecting system | |
JPH04332055A (en) | Method for detecting program runaway | |
JPH01286029A (en) | Microprogram patching system | |
JP2001005693A (en) | System and method for automatically restoring fault and recording medium recording automatic fault restoration program | |
JPH05158804A (en) | Ram checking method | |
JP2870202B2 (en) | Method and apparatus for mutual monitoring between processors | |
JPH01286028A (en) | Microprogram patching system | |
JP2004046310A (en) | Fault repair program application method, execution device of the same, and processing program of the same | |
JPS63285656A (en) | Method for detecting memory abnormality | |
JPH04242832A (en) | Information processor | |
JPS62175834A (en) | Detecting circuit for runaway of central processing unit | |
JPS59212959A (en) | Instruction control system | |
JPH01161547A (en) | Operating state storing method | |
JPH02159643A (en) | Cpu monitoring circuit | |
JPH02310753A (en) | Microprogram controller | |
JPH01147728A (en) | Parity rom preparation supporting system | |
JPH0564933U (en) | Electronic computer | |
JPH02171939A (en) | Method for detecting abnormality of program | |
JPH02280235A (en) | Method for interrupting computer system | |
JPH08235075A (en) | Arithmetic processor | |
JPS59140699A (en) | Checking system of memory contents | |
JPH03252735A (en) | Detecting method for runaway of program |