JP2000155677A - プログラムの暴走防止方法、そのためのコンピューターシステムと暴走防止プログラムを記録した記録媒体 - Google Patents

プログラムの暴走防止方法、そのためのコンピューターシステムと暴走防止プログラムを記録した記録媒体

Info

Publication number
JP2000155677A
JP2000155677A JP10329875A JP32987598A JP2000155677A JP 2000155677 A JP2000155677 A JP 2000155677A JP 10329875 A JP10329875 A JP 10329875A JP 32987598 A JP32987598 A JP 32987598A JP 2000155677 A JP2000155677 A JP 2000155677A
Authority
JP
Japan
Prior art keywords
area
stack
program
overflow
variable
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
JP10329875A
Other languages
English (en)
Inventor
Yoshihisa Sugano
喜久 菅野
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP10329875A priority Critical patent/JP2000155677A/ja
Publication of JP2000155677A publication Critical patent/JP2000155677A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 スタックオーバーフローによるプログラムの
暴走を防止することができるプログラムの暴走防止方法
及び暴走防止プログラムを記録した記録媒体並びにメモ
リ装置を提供する。 【解決手段】 RAM1上の割込み処理後の復帰先アド
レスを記憶するのスタック領域と、プログラムで使用さ
れる変数値を記憶する変数領域との間にスタックオーバ
ーフロー検出領域を設け、スタックオーバーフロー検出
領域に復帰先アドレスの書込みが行われた場合には、変
数領域の変数の分解能を変換して変数領域を縮小し、変
数領域を縮小した分だけ変数領域を開放するとともに、
開放された領域を新たなスタック領域及びスタックオー
バーフロー検出領域とすることで、変数領域の変数値の
書替えを阻止するようにする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、スタックオーバー
フローによるプログラムの暴走を防止することができる
コンピューターシステム、そのための暴走防止方法及び
暴走防止プログラムを記録した記録媒体に関する。
【0002】
【従来の技術】CPU(中央演算部)によるプログラム
の実行処理において、複数の割込みにより、割込み処理
後の実行アドレスが記憶されるRAM(ランダムアクセ
スメモリ)上のスタック領域の大きさが変動する。
【0003】この状態を、図10〜図12に示す。CP
Uは、図10(a)に示すように、ROMのプログラム
の実行アドレスの先頭から順次命令コードを読出し、命
令コードに応じた処理を実行する。プログラムで使用さ
れる変数は、図10(b)に示すように、RAMの変数
領域に記憶される。ここで、CPUがプログラムの実行
中、図11(a)に示すように、何らかの特定事象(割
込み)を検出したとすると、図11(b)に示すよう
に、CPUはそれまでの処理を中断し、処理を中断する
前の次の実行アドレス(m+1)をRAMに記憶する。
その後、割込み検出時に必要とされる特定の処理の実行
アドレスから処理(割込み処理A)を実行する。
【0004】割込み処理Aの実行後は、CPUがRAM
に記憶させた実行アドレス(m+1)を読出し、読出し
た実行アドレスから、割込み処理実行前に中断してある
処理を再開する。
【0005】同様に、図12(a)に示すように、ある
割込み処理Aの処理中に別の割込みが検出され、新たに
検出された割込みが、既に実行中の割込みよりも優先順
位が高い場合には、図12(b),(c)に示すよう
に、割込み処理Aを中断する。次に、割込み処理Aの処
理を中断する前の次の実行アドレス(n+1)をRAM
に保管して、新たな割込みに応じた特定の処理(割込み
処理B)を実行する。割込み処理Bの実行終了後は、R
AMに保管しておいた割込み処理Aの実行アドレス(n
+1)を読出し、割込み処理Aを再開する。
【0006】以降、割込み処理中に、更に優先順位の高
い割込みが発生した場合の処理についても同様である。
したがって、図11(c)及び図12(c)のように、
複数の割込みが発生したとき、割込み処理後の実行アド
レスが記憶されるRAM上の領域(スタック領域)の大
きさは増加し、使用可能な領域(未使用領域)は、RA
Mの全体領域から、変数領域と既にスタックのために既
に使用されている領域を除いた部分となる。
【0007】
【発明が解決しようとする課題】このように、使用可能
なRAMの領域が、本来必要とされる領域の大きさに対
して余裕がない場合、複数の割込みの発生によってスタ
ック領域が拡大すると、RAMの変数領域の一部がスタ
ック領域として使用されてしまうことがある。
【0008】このような場合、スタック領域として使用
された変数領域の変数値が、割込み処理中に書替えられ
てしまい、割込み終了後に復帰すべき実行アドレスが異
常な値に書替えられることになるので、プログラムが暴
走してしまうという問題がある。
【0009】そのような問題を解決するため、本発明
は、RAM上のスタック領域と変数領域との間に、スタ
ックオーバーフロー検出領域が設けられ、スタックオー
バーフローによるプログラムの暴走を防止することがで
きるコンピューターシステム、そのためのプログラムの
暴走防止方法及び暴走防止プログラムを記録した記録媒
体を提供することを目的としている。
【0010】
【課題を解決するための手段】本発明の第1の観点を達
成するために、プログラムの暴走を防止する方法は、割
込み処理に応答して復帰先アドレスを格納するスタック
処理において、オーバーフローが発生したか否かを判定
する判定ステップと、前記スタック領域のオーバーフロ
ーが発生したと判定されたとき、変数領域の一部を前記
スタック処理のために開放する開放ステップとを具備す
ることを特徴とする。
【0011】前記判定ステップは、スタック領域とは別
に設けられたオーバーフロー検出領域への前記復帰先ア
ドレスの格納であるか否かに基づいて判定することを特
徴とする。ここで、前記判定ステップは、前記オーバー
フロー検出領域に予め定められたデータを書き込むステ
ップと、前記割り込み処理に応答して、前記オーバーフ
ロー検出領域からデータを読み出すステップと、前記読
み出されたデータが前記予め定められたデータと一致す
るか否かを判定するステップとを具備しても良い。ある
いは、前記割り込み処理において、前記復帰先アドレス
が、前記スタック領域あるいは前記オーバーフロー検出
領域に格納されるとき、前記判定ステップは、前記オー
バーフロー検出領域に予め定められたデータを書き込む
ステップと、前記割り込み処理に応答して、前記オーバ
ーフロー検出領域からデータを読み出すステップと、前
記読み出されたデータが前記予め定められたデータと一
致するか否かを判定するステップとを具備してもよい。
【0012】この場合、前記開放ステップは、前記変数
領域の変数の分解能を変換する変換ステップを含むこと
を特徴とする。より具体的には、前記開放ステップは、
前記変換ステップにより開放された前記変数領域の一部
を新たなスタック領域及びスタックオーバーフロー検出
領域として設定する設定ステップを含むことを特徴とす
るプログラムの暴走を防止する方法。
【0013】本発明の第2の観点を実現するために、コ
ンピューターに実行可能な記録媒体には、割込み処理に
応答して復帰先アドレスを格納するスタック処理におい
て、オーバーフローが発生したか否かを判定する判定ス
テップと、前記スタック領域のオーバーフローが発生し
たと判定されたとき、変数領域の一部を前記スタック処
理のために開放する開放ステップとからなる処理のため
のプログラムが記録されている。前記記録媒体におい
て、前記判定ステップは、スタック領域とは別に設けら
れたオーバーフロー検出領域への前記復帰先アドレスの
格納であるか否かに基づいて判定することを特徴とす
る。
【0014】ここで、前記判定ステップは、前記オーバ
ーフロー検出領域に予め定められたデータを書き込むス
テップと、前記割り込み処理に応答して、前記オーバー
フロー検出領域からデータを読み出すステップと、前記
読み出されたデータが前記予め定められたデータと一致
するか否かを判定するステップとを具備することが望ま
しい。あるいは、前記割り込み処理において、前記復帰
先アドレスが、前記スタック領域あるいは前記オーバー
フロー検出領域に格納されるとき、前記判定ステップ
は、前記オーバーフロー検出領域に予め定められたデー
タを書き込むステップと、前記割り込み処理に応答し
て、前記オーバーフロー検出領域からデータを読み出す
ステップと、前記読み出されたデータが前記予め定めら
れたデータと一致するか否かを判定するステップとを具
備してもよい。
【0015】上記の場合、前記開放ステップは、前記変
数領域の変数の分解能を変換する変換ステップを含むこ
とを特徴とする。また、前記開放ステップは、前記変換
ステップにより開放された前記変数領域の一部を新たな
スタック領域及びスタックオーバーフロー検出領域とし
て設定する設定ステップを含むことを特徴とする。
【0016】本発明の第3の観点を実現するために、コ
ンピューターシステムは、アプリケーションプログラム
と制御プログラムを実行するCPUと、前記アプリケー
ションプログラムで使用される変数を格納する変数領域
と、スタック領域と、オーバーフロー検出領域を有する
メモリとを具備し、前記CPUは、割り込み事象に応答
して前記アプリケーションプログラムの実行を中断する
とき、前記制御プログラムに基づいて、次に実行される
べき実行アドレスを前記スタック領域と前記オーバーフ
ロー検出領域のいずれかに格納するスタック処理を実行
し、前記スタック領域のオーバーフローが発生したか否
かを判定し、前記スタック領域のオーバーフローが発生
したと判定されたとき、前記変数領域の一部を前記スタ
ック処理のために開放することを特徴とする。
【0017】
【発明の実施の形態】以下に添付図面を参照して、本発
明によるプログラム暴走防止方法ついて詳細に説明す
る。
【0018】図1は、本発明のプログラム暴走防止方法
の一実施の形態に係るコンピューターシステムを示す
図、図2は、図1のRAMの使用状態を示す図、図3〜
図8は、プログラム暴走防止方法を説明するためのフロ
ーチャート、図9は、プログラム暴走防止方法による分
解能を変換して領域を開放する処理を示す概念図であ
る。
【0019】図1に示すように、コンピューターシステ
ムは、RAM(ランダム・アクセス・メモリ)1、RO
M(リード・オンリー・メモリ)2及びCPU(中央演
算処理部)3を備えている。RAM1は、プログラムで
使用される変数を格納するための変数領域、割込み処理
を行う場合の復帰先アドレスを記憶するスタック領域、
オーバーフロー検出領域を有する。ROM2は、CPU
3により実行されるプログラムと制御プログラムを記憶
している。
【0020】次に、本実施の形態のプログラム暴走防止
方法の概念を、図2を用いて説明する。本実施の形態で
は、図2の(a)に示すように、メモリ装置であるRA
M1の未使用領域と変数領域との間に、スタックオーバ
ーフロー検出領域が設けられている。図2の(b)に示
すように、複数の割込みが発生して、スタック領域が大
きくなり、予め設定されていたスタックオーバーフロー
検出領域までスタック領域として使用されたと判断され
た場合には、図2の(c)に示すように、変数領域の変
数の分解能を変換して変数領域を縮小し、変数領域を縮
小した分だけスタックのための未使用領域として開放す
る。これにより、開放された領域を、新たにスタック領
域及びスタックオーバーフロー検出領域として使用する
ことができる。
【0021】次に、本実施の形態のプログラム暴走防止
方法について、図3〜図9を用いて説明する。
【0022】図3は、プログラム全体の流れを示すフロ
ーチャートである。CPU3は、ROM2に格納された
アプリケーションプログラムの実行が指示されたとき、
まず制御プログラムを実行してイニシャライズ処理(ス
テップS1)し、その後、メイン処理としてアプリケー
ションプログラムを実行する(ステップS2)。イニシ
ャライズ処理(ステップS1)は、CPU3の起動直後
にのみ実行される。
【0023】図4は、図3のイニシャライズ処理(ステ
ップS1)の詳細を示すフローチャートである。図4の
イニシャライズ処理は、本実施の形態に関わるスタック
オーバーフロー検出領域のイニシャライズ処理(ステッ
プS3)と、スタックオーバーフロー検出領域以外のイ
ニシャライズ処理(ステップS4)とからなる。
【0024】図5は、図4のスタックオーバーフロー検
出領域のイニシャライズ処理(ステップS3)の詳細を
示すフローチャートである。ここでは、割込み処理発生
によるスタックが、スタックオーバーフロー検出領域内
まで積まれたかどうか検出するための準備として、CP
U3は、制御プログラムに従って、スタックオーバーフ
ロー検出領域にオーバーフローチェックデータをセット
する(ステップS5)。
【0025】図6は、図3のメイン処理(ステップS
2)の中で割り込み事象が発生したときの処理の詳細を
示すフローチャートである。ここでは、スタックオーバ
ーフロー検出処理(ステップS6)と、スタックオーバ
ーフロー検出処理以外の処理(ステップS7)とが実行
される。
【0026】図7は、図6のスタックオーバーフロー検
出処理(ステップS6)の詳細を示すフローチャートで
ある。
【0027】割り込み事象が発生したときには、制御プ
ログラムが実行され、スタック処理が行われる。すなわ
ち、割り込み処理を実行する前の次の実行アドレスを復
帰先アドレスとしてスタック領域あるいはオーバーフロ
ー検出領域のアドレスに書き込む。このアドレスは、今
までに発生した割り込み事象等に基づいて決定される。
【0028】次に、スタックオーバーフロー検出処理で
は、スタックオーバーフロー検出領域からデータが読み
出され、読み出されたスタックオーバーフロー検出領域
のデータがオーバーフローチェックデータと一致するか
確認される(ステップS8)。ここで、スタックオーバ
ーフロー検出領域がスタック領域として使用された場
合、すなわちスタックオーバーフローが発生した場合に
は、スタック領域として使用された部分には前記実行ア
ドレスが書き込まれているので、オーバーフローチェッ
クデータと一致しない。しかしながら、スタックオーバ
ーフロー検出領域がスタック領域として使用されていな
い場合、すなわちスタックオーバーフローが発生してい
ない場合には、オーバーフローチェックデータと一致す
る。
【0029】したがって、(ステップS8)において、
スタックオーバーフロー検出領域のデータが、オーバー
フローチェックデータと一致している場合には、スタッ
クオーバーフローの発生は無いとして、識別のための処
理(たとえばスタックオーバーフロー発生フラグをクリ
アする等)を行い(ステップS9)、スタックオーバー
フロー検出領域のデータが、オーバーフローチェックデ
ータと一致していない場合には、スタックオーバーフロ
ー発生があったとして、識別のための処理(たとえばス
タックオーバーフローフラグをセットする等)を行う
(ステップS10)。
【0030】図8は、図6のスタックオーバーフロー検
出処理以外の処理(ステップS7)の処理の流れを示す
フローチャートである。ここでは、まずスタックオーバ
ーフロー検出処理の結果により、スタックオーバーフロ
ーが発生したか否かが判定される(ステップS11)。
この判定は、たとえばスタックオーバーフローフラグが
セットされているか否かにより行われる。
【0031】もしスタックオーバーフローの発生が無か
った場合(すなわち、スタックオーバーフローフラグが
クリアされていた場合)には、分解能を変換しなかった
場合の変数を用いた処理が実行される(ステップS1
2)。スタックオーバーフローの発生が有った場合(す
なわち、スタックオーバーフローフラグがセットされて
いた場合)には、分解能を変換して変数領域を開放する
処理(ステップS13)、新たなスタックオーバーフロ
ー検出領域の設定及びオーバーフローチェックデータの
セット(ステップS14)が実行された後、分解能を変
換した場合の変数を用いた処理が実行される(ステップ
S15)。
【0032】図9は、分解能を変換して変数領域の一部
を未使用領域として開放する処理を示す概念図である。
【0033】図9(a)のように、今、2バイト長の変
数Aの領域が、メモリ上に確保されていたとする。たと
えば、変数Aが0〜200までの10進数を取りうるも
のとし、分解能1/256でメモリに記憶されていたと
する。この場合、記憶されている値は、最大で200×
256=51200である。この値は、16進数でC8
00となる。従って、図9(c)のようにメモリ上に記
憶される。
【0034】上記の(ステップS11)において、スタ
ックオーバーフローの発生が有ったと判断された場合に
は、図9(b)のように、分解能1/256の値512
00を1/256倍することで、現在のAの値の分解能
を1に変換する。これにより、変換されたAは最大で2
00(16進数でC8)までの1バイト長で足りること
となり、図9(d)のようにそれまで使用していた1バ
イトを開放できる。
【0035】同様にして、他の変数についても分解能の
変換を行うことにより、変数の領域を縮小させ、メモリ
を開放することが出来る。
【0036】このようにして開放されたメモリは、新た
なスタック領域として使用することができる。なお、こ
の開放された領域の一部を、新たにスタックオーバーフ
ロー検出領域としてオーバーフローチェックデータをセ
ットしておくことで、さらにスタックが積まれてオーバ
ーフローが発生する場合にも、同様の処理でプログラム
の暴走を回避することができる。
【0037】このように、本実施の形態では、RAM1
上の割込み処理後の復帰先アドレスを記憶するのスタッ
ク領域と、プログラムで使用される変数値を記憶する変
数領域との間にスタックオーバーフロー検出領域を設
け、スタックオーバーフロー検出領域に復帰先アドレス
の書込みが行われた場合には、変数領域の変数の分解能
を変換して変数領域を縮小し、変数領域を縮小した分だ
け変数領域を開放するとともに、開放された領域を新た
なスタック領域及びスタックオーバーフロー検出領域と
することで、変数領域の変数値の書替えにより復帰先ア
ドレスが異常値に書き換えられるのを阻止するようにし
た。よって、複数の割込みの発生によってスタック領域
が拡大しても、変数領域の変数値の書替えにより復帰先
アドレスが異常値に書き換えられる事がないので、割込
み終了後に復帰すべき実行アドレスが正常値に保持され
ることから、プログラムの暴走が発生しない。
【0038】尚、上記の例における制御プログラムはオ
ペレーティングシステム(OS)であっても良い。
【0039】また、アプリケーションプログラムが制御
プログラムをライブラリーとして持つことにより、上記
処理が行われても良い。
【0040】
【発明の効果】本発明によるプログラムの暴走防止方法
及び暴走防止プログラムを記録した記録媒体並びにメモ
リ装置は、変数領域の変数の分解能を変換して変数領域
を縮小し、変数領域を縮小した分だけ変数領域を開放す
るとともに、開放された領域を新たなスタック領域及び
スタックオーバーフロー検出領域として変数領域の変数
値の書替えにより復帰先アドレスが異常値に書き換えら
れるのを阻止するようにしたので、スタックオーバーフ
ローによるプログラムの暴走を防止することができる。
【図面の簡単な説明】
【図1】図1は、本発明のプログラム暴走防止方法の一
実施の形態に係るICチップを示す図である。
【図2】図2は、図1のRAM(ランダムアクセスメモ
リ)の使用状態を示す図である。
【図3】図3は、プログラム全体の流れを示すフローチ
ャートである。
【図4】図4は、図3のイニシャライズ処理の流れを示
すフローチャートである。
【図5】図5は、図4のスタックオーバーフロー検出領
域のイニシャライズ処理の流れを示すフローチャートで
ある。
【図6】図6は、図3のメイン処理の流れを示すフロー
チャートである。
【図7】図7は、図6のスタックオーバーフロー検出処
理の流れれを示すフローチャートである。
【図8】図8は、図6のスタックオーバーフロー検出処
理以外の処理の流れを示すフローチャートである。
【図9】図9は、分解能を変換して領域を開放する処理
を示す概念図である。
【図10】図10は、従来のCPUによるプログラムの
実行処理において、RAM上のスタック領域の大きさが
変動する状態を示す図である。
【図11】図11は、従来のCPUによるプログラムの
実行処理において、RAM上のスタック領域の大きさが
変動する状態を示す図である。
【図12】図12は、従来のCPUによるプログラムの
実行処理において、RAM上のスタック領域の大きさが
変動する状態を示す図である。
【符号の説明】
1 RAM 2 ROM 3 CPU

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】割込み処理に応答して復帰先アドレスを格
    納するスタック処理において、オーバーフローが発生し
    たか否かを判定する判定ステップと、 前記スタック領域のオーバーフローが発生したと判定さ
    れたとき、変数領域の一部を前記スタック処理のために
    開放する開放ステップとを具備することを特徴とするプ
    ログラムの暴走を防止する方法。
  2. 【請求項2】請求項1に記載のプログラムの暴走を防止
    する方法において、 前記判定ステップは、スタック領域とは別に設けられた
    オーバーフロー検出領域への前記復帰先アドレスの格納
    であるか否かに基づいて判定することを特徴とするプロ
    グラムの暴走を防止する方法。
  3. 【請求項3】請求項2に記載のプログラムの暴走を防止
    する方法において、 前記判定ステップは、 前記オーバーフロー検出領域に予め定められたデータを
    書き込むステップと、 前記割り込み処理に応答して、前記オーバーフロー検出
    領域からデータを読み出すステップと、 前記読み出されたデータが前記予め定められたデータと
    一致するか否かを判定するステップとを具備するプログ
    ラムの暴走を防止する方法。
  4. 【請求項4】請求項2に記載のプログラムの暴走を防止
    する方法において、 前記割り込み処理において、前記復帰先アドレスは、前
    記スタック領域あるいは前記オーバーフロー検出領域に
    格納され、 前記判定ステップは、 前記オーバーフロー検出領域に予め定められたデータを
    書き込むステップと、 前記割り込み処理に応答して、前記オーバーフロー検出
    領域からデータを読み出すステップと、 前記読み出されたデータが前記予め定められたデータと
    一致するか否かを判定するステップとを具備するプログ
    ラムの暴走を防止する方法。
  5. 【請求項5】請求項1乃至4のいずれかに記載のプログ
    ラムの暴走を防止する方法において、 前記開放ステップは、前記変数領域の変数の分解能を変
    換する変換ステップを含むことを特徴とするプログラム
    の暴走を防止する方法。
  6. 【請求項6】請求項5に記載のプログラムの暴走を防止
    する方法において、 前記開放ステップは、前記変換ステップにより開放され
    た前記変数領域の一部を新たなスタック領域及びスタッ
    クオーバーフロー検出領域として設定する設定ステップ
    を含むことを特徴とするプログラムの暴走を防止する方
    法。
  7. 【請求項7】割込み処理に応答して復帰先アドレスを格
    納するスタック処理において、オーバーフローが発生し
    たか否かを判定する判定ステップと、 前記スタック領域のオーバーフローが発生したと判定さ
    れたとき、変数領域の一部を前記スタック処理のために
    開放する開放ステップとからなる処理のためのプログラ
    ムを記録した、コンピューターに実行可能な記録媒体。
  8. 【請求項8】請求項7に記載の記録媒体において、 前記判定ステップは、スタック領域とは別に設けられた
    オーバーフロー検出領域への前記復帰先アドレスの格納
    であるか否かに基づいて判定することを特徴とするプロ
    グラムを記録した、コンピューターに実行可能な記録媒
    体。
  9. 【請求項9】請求項8に記載の記録媒体において、 前記判定ステップは、 前記オーバーフロー検出領域に予め定められたデータを
    書き込むステップと、 前記割り込み処理に応答して、前記オーバーフロー検出
    領域からデータを読み出すステップと、 前記読み出されたデータが前記予め定められたデータと
    一致するか否かを判定するステップとを具備するプログ
    ラムを記録した、コンピューターに実行可能な記録媒
    体。
  10. 【請求項10】請求項8に記載の記録媒体において、 前記割り込み処理において、前記復帰先アドレスは、前
    記スタック領域あるいは前記オーバーフロー検出領域に
    格納され、 前記判定ステップは、 前記オーバーフロー検出領域に予め定められたデータを
    書き込むステップと、 前記割り込み処理に応答して、前記オーバーフロー検出
    領域からデータを読み出すステップと、 前記読み出されたデータが前記予め定められたデータと
    一致するか否かを判定するステップとを具備するプログ
    ラムを記録した、コンピューターに実行可能な記録媒
    体。
  11. 【請求項11】請求項7乃至10のいずれかに記載の記
    録媒体において、 前記開放ステップは、前記変数領域の変数の分解能を変
    換する変換ステップを含むことを特徴とするプログラム
    を記録した、コンピューターに実行可能な記録媒体。
  12. 【請求項12】請求項11に記載の記録媒体において、 前記開放ステップは、前記変換ステップにより開放され
    た前記変数領域の一部を新たなスタック領域及びスタッ
    クオーバーフロー検出領域として設定する設定ステップ
    を含むことを特徴とするプログラムを記録した、コンピ
    ューターに実行可能な記録媒体。
  13. 【請求項13】アプリケーションプログラムと制御プロ
    グラムを実行するCPUと、 前記アプリケーションプログラムで使用される変数を格
    納する変数領域と、スタック領域と、オーバーフロー検
    出領域を有するメモリとを具備し、 前記CPUは、割り込み事象に応答して前記アプリケー
    ションプログラムの実行を中断するとき、前記制御プロ
    グラムに基づいて、中断後に実行されるべき実行アドレ
    スを前記スタック領域と前記オーバーフロー検出領域の
    いずれかに格納するスタック処理を実行し、前記スタッ
    ク領域のオーバーフローが発生したか否かを判定し、前
    記スタック領域のオーバーフローが発生したと判定され
    たとき、前記変数領域の一部を前記スタック処理のため
    に開放することを特徴とするコンピューターシステム。
JP10329875A 1998-11-19 1998-11-19 プログラムの暴走防止方法、そのためのコンピューターシステムと暴走防止プログラムを記録した記録媒体 Pending JP2000155677A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10329875A JP2000155677A (ja) 1998-11-19 1998-11-19 プログラムの暴走防止方法、そのためのコンピューターシステムと暴走防止プログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10329875A JP2000155677A (ja) 1998-11-19 1998-11-19 プログラムの暴走防止方法、そのためのコンピューターシステムと暴走防止プログラムを記録した記録媒体

Publications (1)

Publication Number Publication Date
JP2000155677A true JP2000155677A (ja) 2000-06-06

Family

ID=18226231

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10329875A Pending JP2000155677A (ja) 1998-11-19 1998-11-19 プログラムの暴走防止方法、そのためのコンピューターシステムと暴走防止プログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP2000155677A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007148529A (ja) * 2005-11-24 2007-06-14 Nippon Telegr & Teleph Corp <Ntt> バッファオーバーフロー検知装置、バッファオーバーフロー検知方法およびバッファオーバーフロー検知プログラム
KR20080036733A (ko) * 2006-10-24 2008-04-29 한국오므론전장주식회사 오동작을 방지하기 위한 임베디드 시스템에서의마이크로컨트롤유닛 및 그 저장공간에서의 스택관리방법
JP2009157542A (ja) * 2007-12-26 2009-07-16 Nec Electronics Corp 情報処理装置及びそのスタックポインタ更新方法
JP7414667B2 (ja) 2020-08-27 2024-01-16 日立Astemo株式会社 電子制御装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0293730A (ja) * 1988-09-29 1990-04-04 Fuji Xerox Co Ltd 情報処理装置
JPH07281912A (ja) * 1994-04-07 1995-10-27 Nippondenso Co Ltd スタック異常検出装置
JPH10257422A (ja) * 1997-03-13 1998-09-25 Canon Inc 画像記録再生装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0293730A (ja) * 1988-09-29 1990-04-04 Fuji Xerox Co Ltd 情報処理装置
JPH07281912A (ja) * 1994-04-07 1995-10-27 Nippondenso Co Ltd スタック異常検出装置
JPH10257422A (ja) * 1997-03-13 1998-09-25 Canon Inc 画像記録再生装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007148529A (ja) * 2005-11-24 2007-06-14 Nippon Telegr & Teleph Corp <Ntt> バッファオーバーフロー検知装置、バッファオーバーフロー検知方法およびバッファオーバーフロー検知プログラム
KR20080036733A (ko) * 2006-10-24 2008-04-29 한국오므론전장주식회사 오동작을 방지하기 위한 임베디드 시스템에서의마이크로컨트롤유닛 및 그 저장공간에서의 스택관리방법
JP2009157542A (ja) * 2007-12-26 2009-07-16 Nec Electronics Corp 情報処理装置及びそのスタックポインタ更新方法
US8234476B2 (en) 2007-12-26 2012-07-31 Renesas Electronics Corporation Information processing apparatus and method of updating stack pointer
JP7414667B2 (ja) 2020-08-27 2024-01-16 日立Astemo株式会社 電子制御装置

Similar Documents

Publication Publication Date Title
US6205561B1 (en) Tracking and managing failure-susceptible operations in a computer system
US20040243986A1 (en) Interpreter and native code execution method
JP3830867B2 (ja) シングルチップマイクロコンピュータおよびそのブート領域切り替え方法
JP2005316599A (ja) 割込制御装置
JPH0877075A (ja) 情報処理装置
JP2000155677A (ja) プログラムの暴走防止方法、そのためのコンピューターシステムと暴走防止プログラムを記録した記録媒体
JP4275451B2 (ja) 不正メモリアクセス検知方法及びそのプログラム
WO2000054133A1 (fr) Dispositif de traitement de donnees, procede de sauvegarde/chargement de donnees et support de memorisation de donnees
JPH09128267A (ja) データ処理装置およびデータ処理方法
JPS599937B2 (ja) 情報処理装置
JPH09198258A (ja) タスクスタックオーバーフロー検出回路
JP2001117791A (ja) 割込命令チェック装置及び記録媒体
JP2004287618A (ja) オペレーティングシステム起動制御方法、およびその方法をコンピュータに実行させるプログラム、ならびにオペレーティングシステム起動制御装置
JP2723821B2 (ja) ダンプ採取制御方式
JPH09330253A (ja) メモリダンプ方法及びそれを適用したメモリダンプシステム
JPS61141047A (ja) 障害情報の退避方式
JPH0675957A (ja) 編集中障害の復旧機構
JPH11134202A (ja) タスク切替え装置
JP2003108398A (ja) プログラム書換方法およびプログラム書換装置並びに情報処理装置
JP2574938B2 (ja) システム起動方式
JP2812037B2 (ja) 業務処理プログラムの再起動制御方式
JP2004062547A (ja) 記録媒体
JP2005284925A (ja) コンピュータシステムおよびプログラム更新方法
JP2000259452A (ja) 記憶領域管理方法及び装置
JPH096709A (ja) 拡張スロット付電子装置の制御方法とその装置、及び拡張媒体

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20011203