JPH04306741A - 未定義変数検出装置 - Google Patents

未定義変数検出装置

Info

Publication number
JPH04306741A
JPH04306741A JP3071001A JP7100191A JPH04306741A JP H04306741 A JPH04306741 A JP H04306741A JP 3071001 A JP3071001 A JP 3071001A JP 7100191 A JP7100191 A JP 7100191A JP H04306741 A JPH04306741 A JP H04306741A
Authority
JP
Japan
Prior art keywords
variable
routine
program
value
entry
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
JP3071001A
Other languages
English (en)
Inventor
Mamoru Shinozaki
衛 篠崎
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP3071001A priority Critical patent/JPH04306741A/ja
Publication of JPH04306741A publication Critical patent/JPH04306741A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、プログラムのデバッ
ガの未定義変数の値の使用箇所の検出に関するものであ
る。
【0002】
【従来の技術】図2は従来例の説明図で、図中2は未定
義変数を使用している旨のメッセージを出力するルーチ
ン、3はデバッグルーチンを組み込んだプログラム、3
1はデバッグルーチンを組み込んだプログラム3内の実
行時に変数の値が定義される箇所、32はデバッグルー
チンを組み込んだプログラム3内の実行時に変数の値が
使用される箇所、6は変数のアドレスを定義テーブル8
に登録するルーチンである。7は、定義テーブル8を検
索しある変数のアドレスが定義テーブル8に登録されて
いれば呼び出された箇所戻り、ある変数のアドレスが定
義テーブル8に登録されていなければ未定義変数を使用
している旨メッセージを出力するルーチン2を呼び出す
ルーチン、8は定義テーブルである。
【0003】次に動作を説明する。プログラム3の実行
時に、変数の値が定義される箇所31で定義テーブル8
を検索し、その変数のアドレスが定義テーブル8になけ
ればその変数のアドレスを定義テーブル8に登録するル
ーチン6を呼び出し変数のアドレスを定義テーブル8に
登録する。実行時に変数の値が使用される箇所32で定
義テーブル8を検索し、その変数のアドレスが定義テー
ブル8に登録されていれば呼び出された箇所に戻り、そ
の変数のアドレスが定義テーブル8に登録されていなけ
れば未定義変数を使用している旨メッセージを出力する
ルーチン2を呼び出すルーチン7を呼び出す。このよう
にしてプログラム3の実行時に前記メッセージが出力さ
れれば、未定義変数がプログラム3内で使用されている
ことがわかる。
【0004】
【発明が解決しようとする課題】従来例で以上のように
して未定義変数の検出が行われていたため、変数の値の
定義回数と変数の値の使用回数を加えた回数分、実行時
に定義テーブルの検索が生じるのでプログラムの実行時
間が長くなるという問題があった。
【0005】この発明はこのような問題を解消するため
になされたもので、プログラムの実行時間が短縮できる
未定義変数検出装置を提供することを目的とするもので
ある。
【0006】
【課題を解決するための手段】前記目的を達成するため
、この発明では、変数の値が定義されたか否かの判定を
明示的に行わず、ブランチ・テーブルを実行時に書き換
えることにより従来例と同様の未定義変数の検出を行う
もので、詳しくは未定義変数検出装置を次の(1)のと
おりに構成するものである。
【0007】(1)次のa,bの構成要素を備えた未定
義変数検出装置。 a.各変数に対応する各エントリに、初期値として、未
定義変数を使用している旨のメッセージを出力するルー
チンのアドレスを入れたブランチ・テーブル。 b.デバッグルーチンを組み込んだプログラムの実行中
に、該プログラム内の変数の値が定義される箇所で、そ
の変数に対応する前記ブランチ・テーブルのエントリを
、何も行わず該プログラムを呼び出された箇所に戻すだ
けのルーチンのアドレスに書き換え、また該プログラム
内の変数の値が使用される箇所で、その変数に対応する
前記ブランチ・テーブルのエントリに示されるアドレス
のルーチンを実行させる制御手段。
【0008】
【作用】前記(1)の構成により、デバッグルーチンを
組み込んだプログラムの実行中に、該プログラム内の変
数の値が定義される箇所で、その変数に対応するブラン
チ・テーブルのエントリを、何も行わず前記プログラム
を呼び出された箇所に戻すだけのルーチンのアドレスに
書き換え、前記プログラム内の変数の値が使用される箇
所で、その変数に対応する前記ブランチ・テーブルのエ
ントリに示されるアドレスのルーチンが実行される。即
ち、その変数が未定義であれば、エントリの初期値によ
り、未定義変数を使用している旨のメッセージが出力さ
れ、定義済であれば、何も行われず、プログラムは呼び
出された箇所に戻る。
【0009】
【実施例】以下この発明を実施例により詳しく説明する
。図1はこの発明の一実施例である“未定義変数検出装
置”の説明図である。図1において、1はブランチ・テ
ーブル、11はブランチ・テーブル1のエントリ、2は
未定義変数を使用している旨のメッセージを出力するル
ーチン、3はデバッグルーチンを組み込んだプログラム
、31はデバッグルーチンを組み込んだプログラム3内
の実行時に変数の値が定義される箇所、32はデバッグ
ルーチンを組み込んだプログラム3内の実行時に変数の
値が使用される箇所、4は何も行なわずプログラム3を
呼び出された箇所に戻すだけのルーチンである。5は、
ブランチ・テーブル1のエントリ11をルーチン4のア
ドレスに書き換えるルーチンである。
【0010】次に動作を説明する。ブランチ・テーブル
1の各エントリ11には、初期値として、未定義変数を
使用している旨メッセージを出力するルーチン2のアド
レスが入っている。実行時に変数の値が定義されるプロ
グラム3の箇所31で、ブランチ・テーブル1のその変
数に対応するエントリ11を、ルーチン4のアドレスに
書き換えるルーチン5を呼び出す。実行時に変数の値が
使用されるプログラム3の箇所32では、ブランチ・テ
ーブル1のその変数に対応するエントリ11のアドレス
に制御を移す。従って既にその変数の値が定義されてい
るときは、ルーチン4によりプログラム3は呼び出され
た箇所に戻り、その変数の値が定義されていないときの
み、ルーチン2が実行され未定義変数を使用している旨
のメッセージを出力することになる。
【0011】
【発明の効果】以上説明したように、この発明によれば
、定義テーブルを検索するための時間が全てなくなるの
で、プログラムの実行時間が大幅に短縮できる。
【図面の簡単な説明】
【図1】実施例の説明図
【図2】従来例の説明図
【符号の説明】
1  ブランチ・テーブル 11  ブランチ・テーブルのエントリ2  未定義変
数を使用している旨のメッセージを出力するルーチン 3  プログラム 31  実行時に変数の値が定義されるプログラムの箇
所32  実行時に変数の値が使用されるプログラムの
箇所4  何も行なわずプログラムを呼び出された箇所
に戻すだけのルーチン 5  ブランチ・テーブルのエントリを、何も行なわず
プログラムを呼び出された箇所に戻すだけのルーチのア
ドレスに書き換えるルーチン なお、図中同一符号は同一または相当部分を示す。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  次のa,bの構成要素を備えたことを
    特徴とする未定義変数検出装置。 a.各変数に対応する各エントリに、初期値として、未
    定義変数を使用している旨のメッセージを出力するルー
    チンのアドレスを入れたブランチ・テーブル。 b.デバッグルーチンを組み込んだプログラムの実行中
    に、該プログラム内の変数の値が定義される箇所で、そ
    の変数に対応する前記ブランチ・テーブルのエントリを
    、何も行わず該プログラムを呼び出された箇所に戻すだ
    けのルーチンのアドレスに書き換え、また該プログラム
    内の変数の値が使用される箇所で、その変数に対応する
    前記ブランチ・テーブルのエントリに示されるアドレス
    のルーチンを実行させる制御手段。
JP3071001A 1991-04-03 1991-04-03 未定義変数検出装置 Pending JPH04306741A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3071001A JPH04306741A (ja) 1991-04-03 1991-04-03 未定義変数検出装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3071001A JPH04306741A (ja) 1991-04-03 1991-04-03 未定義変数検出装置

Publications (1)

Publication Number Publication Date
JPH04306741A true JPH04306741A (ja) 1992-10-29

Family

ID=13447829

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3071001A Pending JPH04306741A (ja) 1991-04-03 1991-04-03 未定義変数検出装置

Country Status (1)

Country Link
JP (1) JPH04306741A (ja)

Similar Documents

Publication Publication Date Title
JP2749528B2 (ja) エラー解析用のトレーサシステム
US8443343B2 (en) Context-sensitive slicing for dynamically parallelizing binary programs
US8448152B2 (en) High-level language, architecture-independent probe program compiler
CN114625660B (zh) 调试方法及装置
JPH04306741A (ja) 未定義変数検出装置
CN105988811B (zh) 获取操作系统的内核控制流程图的方法和装置
JPH05216721A (ja) 電子計算機
JPH0520093A (ja) モジユールのコンパイル方法およびコンパイル装置
JP3120434B2 (ja) プログラム動作解析方法
JP3012618B1 (ja) 被検査プログラムのデバグ方法とそのデバグ方式
JPH11167500A (ja) エミュレータ装置のイベント回路及びデバッグシステム
JPS6152747A (ja) マイクロプロセツサ
JPH03246734A (ja) デバッガのジャンプ先アドレスチェック方法および装置
JPS6010665B2 (ja) マイクロコンピユ−タ
CN121579122A (zh) 基于Vue自定义指令的节流实现方法、装置、介质及设备
JPS63163543A (ja) 情報処理装置
JPH04140851A (ja) 情報処理装置の診断方式
JPH02100730A (ja) 解釈実行型プログラムデバッグ方式
JPH04310138A (ja) データ伝送装置のデバッグ方法
JPH03154132A (ja) インサーキットエミュレータ
JPH0340039A (ja) ファームウェア診断装置
JPH03290739A (ja) プログラムの動的解析方式
JPS6349846A (ja) 演算処理装置
JPH0253146A (ja) プログラム・トレース方法
JPH05100896A (ja) デバツグ支援機構