JPH03256137A - 未設定変数検査、認識処理方法および装置 - Google Patents

未設定変数検査、認識処理方法および装置

Info

Publication number
JPH03256137A
JPH03256137A JP2055498A JP5549890A JPH03256137A JP H03256137 A JPH03256137 A JP H03256137A JP 2055498 A JP2055498 A JP 2055498A JP 5549890 A JP5549890 A JP 5549890A JP H03256137 A JPH03256137 A JP H03256137A
Authority
JP
Japan
Prior art keywords
variable
unset
value
instruction
program
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
JP2055498A
Other languages
English (en)
Inventor
Kaoru Miyata
薫 宮田
Shunichi Takahashi
俊一 高橋
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
NEC Solution Innovators Ltd
Original Assignee
NEC Corp
NEC Solution Innovators 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 NEC Corp, NEC Solution Innovators Ltd filed Critical NEC Corp
Priority to JP2055498A priority Critical patent/JPH03256137A/ja
Publication of JPH03256137A publication Critical patent/JPH03256137A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、インタプリタによるプログラム実行時に、
参照、更新する変数について誤って値を設定せずに実行
しているか否かを検査、認識し、かつ、その命令を認識
する方法および装置に関する。
〔従来の技術〕
プログラム中て値の未設定の変数を誤って参照して実行
している時、その変数及び、命令の認識は、プログラム
中の各命令の間に変数の内容表示を行うデバッグ用の命
令を組み込み、プログラムを実行させて変数の内容表示
を行った後、目視てその内容検査を行い、未設定変数及
び命令の認識を行う方式である。
〔発明が解決しようとする課題〕
プログラムとは、変数を利用して目的とする処理である
データ値の計算、移送、加工等を正しく実行する所にそ
の有効性がある。ところが、実際のプログラムに於いて
は、作成銀りによって変数に値の設定を行わずに、無意
味な値の変数を利用して、処理を実行してしまう場合が
あり、プログラムの誤動作やシステム全体の異常を引き
起こすという問題や、プログラムのデバッグ時に、従来
のように、プログラムの本来の処理とは別に、デバッグ
用に各命令の間に特別な命令を組み込み、変数値の目視
検査を行うという不用な手続きを必要とする問題がある
〔課題を解決するための手段〕
本発明の未設定変数検査、認識装置の構成は、1命令ご
とにプログラムを読み込みプログラムの変数の内容を参
照、更新して実行を進める、インタプリタのデバッグツ
ールで、デバッグ対象となるプログラム(以下、プログ
ラムと略す)の参照する変数の値が設定されているか否
かを調べる未設定変数検査、認識処理装置において、前
記プログラムの参照、更新する変数の1バイトごとに1
ビットを対応させ、初期値の指定されていない変数につ
いては値未設定の意味で対応するビットを全て0にして
未設定変数管理領域として確保する未設定変数確保部と
、前記プログラムを1命令ごとに読み込み実行するプロ
グラム実行部と、その命令の実行内容に対応して参照、
更新する変数の位置、長さを決定する変数決定部と、そ
の変数を更新する場合に、その変数に対応する位置、長
さ分の未設定変数管理領域のビット列を値設定済みの意
味で1にする手段と、前記変数の値を参照する時に、そ
の変数に対応する位置、長さ分の未設定変数管理領域の
ビット列を調べ、値未設定の意味のOであるビットがあ
るかを検査する変数検査部と、その検査結果、値を設定
していない変数を利用している場合、命令実行を中断し
、その状況を利用者に通知する機能を備えたことを特徴
とする。
〔実施例〕
次に、本発明の実施例について図面を参照して説明する
第1図は、本発明の一実施例のインタプリタ、デバッグ
対象プログラム、及び未設定変数管理領域の関係を示し
た図であり、1はデバッグ対象プログラム、2は未設定
変数管理領域、3はインタプリタである。
デバッグ対象プログラム中のイ、口、ハは変数A、B、
Cのメモリ上での領域であり、それぞれ3.2.3バイ
トの領域を持っている。■、■、■、■はプログラムの
命令であり、■から順に実 5 行される。■、■はそれぞれA、Cに125.226と
いう値を設定する命令、■は変数AとCを加算して結果
をAに格納する命令、■は変数AとBを加算して結果を
Aに格納する命令である。
未設定変数領域2中のビット列a、b、cは、変数A、
B、Cの位置、長さ(バイト数)に対応して3.2.3
ビットづつ確保されており、変数A、B、Cは初期値が
設定されていないので、全て値未設定という意味て、a
、b+、cは全ビットOに設定されて確保されている。
この状態で、このプログラムを対象としてデパックツー
ルであるインタプリタ3が1命令づつ実行していく過程
で、未設定変数検査、認識処理方式を具体的に説明する
インタプリタ3は、■命令を読みだし、変数Aに125
を設定する命令であると認識して実行する。Aは変数で
あるが、Aの値は参照しないので、未設定変数検査処理
は実行されず、Aに125の値を格納する。この時、変
数Aに値を設定したのて、Aに対応する未設定変数領域
aの3ビットを値設定済みの意味で第2図に示すように
1にする。同様に■を実行すると変数Cに値が226と
設定されるので、第3図に示すように、未設定変数管理
領域Cの領域は3ビット分が1に設定される。
次に、■を実行すると、AとCの変数の値を参照するの
で、未設定変数検査処理が実行されるが、AとCに対応
するaとCの未設定変数管理領域は全ピッ1〜1なので
、値設定されていると認識され、検査は正常となる。
同様に、■を実行すると、変数AとBの値を参照するが
、Bの対応する未設定変数管理領域2のbは、0のピッ
トが存在するので値設定されていないと認識され、検査
は異常となる。ここで、変数Bの値が未設定であること
と、変数Bの参照が■の命令で発生した事か認識され、
利用者に通知される。このようにして、未設定変数検査
、認識処理が行われる。
〔発明の効果〕
この発明は、プログラムの実行において、誤って変数に
値を設定しないで参照利用しようとした場合に、その命
令の実行を中断し、未設定変数及び、その参照した命令
を自動的に利用者に通知するので、命令実行を継続した
場合に発生する計算結果の異常、プログラムの誤動作、
システムの異常を事前に回避することが可能となる。ま
た、プログラムのデバッグ時に、デバッグ用の変数表示
用の命令の組み込みと表示、変数値の目視検査という無
駄な工数を削減する効果が得られる。
【図面の簡単な説明】
第1図は本発明の一実施例のインタプリタ、デバッグ対
象プロクラム、未設定変数管理領域の関連図、第2図は
変数Aに値を設定したときの変数と未設定変数領域の状
態図、第3図は変数Aに値を設定したときの変数と未設
定変数領域の状態図である。 1・・・デバッグ対象プログラム、2・・・未設定変数
管理領域、3・・・インタプリタ。

Claims (2)

    【特許請求の範囲】
  1. (1)1命令ごとにプログラムを読み込み、そのプログ
    ラムの変数の内容を参照、更新して実行を進めるインタ
    プリタのデバッグツールで、そのデバッグ対象となるプ
    ログラム(以下、プログラムと略す)の参照する変数の
    値が設定されているか否かを調べる未設定変数検査、認
    識処理方法において、前記プログラムの参照、更新する
    変数の1バイトごとに1ビットを対応させ、初期値の指
    定されていない変数については値未設定の意味で対応す
    るビットを全て0にして未設定変数管理領域として確保
    し、前記プログラムを1命令ごとに読み込み実行し、そ
    の命令の実行内容に対応して参照、更新する変数の位置
    、長さを決定し、前記変数を更新する場合に、その変数
    に対応する位置、長さ分の未設定変数管理領域のビット
    列を値設定済みの意味で1にし、前記変数の値を参照す
    る時に、その変数に対応する位置、長さ分の未設定変数
    管理領域のビット列を調べ、値未設定の意味の0である
    ビットが存在するかを検査し、その検査結果、値を設定
    していない変数を利用している場合、命令実行を中断し
    、その状況を利用者に通知することを特徴とする未設定
    変数検査、認識処理方法。
  2. (2)1命令ごとにプログラムを読み込みプログラムの
    変数の内容を参照、更新して実行を進める、インタプリ
    タのデバッグツールで、デバッグ対象となるプログラム
    (以下、プログラムと略す)の参照する変数の値が設定
    されているか否かを調べる未設定変数検査、認識処理装
    置において、前記プログラムの参照、更新する変数の1
    バイトごとに1ビットを対応させ、初期値の指定されて
    いない変数については値未設定の意味で対応するビット
    を全て0にして未設定変数管理領域として確保する未設
    定変数確保部と、前記プログラムを1命令ごとに読み込
    み実行するプログラム実行部と、その命令の実行内容に
    対応して参照、更新する変数の位置、長さを決定する変
    数決定部と、その変数を更新する場合に、その変数に対
    応する位置、長さ分の未設定変数管理領域のビット列を
    値設定済みの意味で1にする手段と、前記変数の値を参
    照する時に、その変数に対応する位置、長さ分の未設定
    変数管理領域のビット列を調べ、値未設定の意味の0で
    あるビットがあるかを検査する変数検査部と、その検査
    結果、値を設定していない変数を利用している場合、命
    令実行を中断し、その状況を利用者に通知する機能を備
    えたことを特徴とする未設定変数検査、認識処理装置。
JP2055498A 1990-03-06 1990-03-06 未設定変数検査、認識処理方法および装置 Pending JPH03256137A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2055498A JPH03256137A (ja) 1990-03-06 1990-03-06 未設定変数検査、認識処理方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2055498A JPH03256137A (ja) 1990-03-06 1990-03-06 未設定変数検査、認識処理方法および装置

Publications (1)

Publication Number Publication Date
JPH03256137A true JPH03256137A (ja) 1991-11-14

Family

ID=13000310

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2055498A Pending JPH03256137A (ja) 1990-03-06 1990-03-06 未設定変数検査、認識処理方法および装置

Country Status (1)

Country Link
JP (1) JPH03256137A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011113126A (ja) * 2009-11-24 2011-06-09 Fujitsu Ltd プログラムの解析装置及び解析方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011113126A (ja) * 2009-11-24 2011-06-09 Fujitsu Ltd プログラムの解析装置及び解析方法

Similar Documents

Publication Publication Date Title
US6308318B2 (en) Method and apparatus for handling asynchronous exceptions in a dynamic translation system
ATE113399T1 (de) Verfahren und gerät zur fehlererkennung und - korrektur in einem nach dem überlappten steuerungsverfahren arbeitenden rechnersystem.
US6470493B1 (en) Computer method and apparatus for safe instrumentation of reverse executable program modules
US20050015579A1 (en) Handling exceptions
JPH03256137A (ja) 未設定変数検査、認識処理方法および装置
JPH0581070A (ja) プログラマブルコントローラ、およびプログラマブルコントローラにおけるユーザプログラム実行方法
JPH03113648A (ja) プログラムデバツグ方式
JPS57164347A (en) Undefined instruction detector for one chip microcomputer
JPS61141047A (ja) 障害情報の退避方式
JPH11102294A (ja) エレベーターの制御装置
JPH0410139A (ja) 知識ベースを利用した動的バグ検出方式
JPS63150732A (ja) プログラム走行監視装置
JPS60179847A (ja) 実配列および仮配列間の整合性チエツク方式
JPH01123344A (ja) 記録媒体のチェック方法
JPS61223952A (ja) デ−タ処理装置のリトライ機能確認方式
JPH01152505A (ja) Pcのプログラムデバッグ方式
JPH0469744A (ja) マイクロコンピュータの暴走検知装置
JP2002215427A (ja) システム暴走検出方法および装置
JPH02263243A (ja) コンピュータの暴走処理装置
JPS60120443A (ja) 未定義命令検出回路
JPS63226745A (ja) プロセツサシステム
JPS6298435A (ja) コンピユ−タの異常検出方法
JPS6365538A (ja) マイクロコンピユ−タインサ−キツトエミユレ−タ
JPH0287237A (ja) Execute命令制御方式
JPS6132701B2 (ja)