JPH02100730A - 解釈実行型プログラムデバッグ方式 - Google Patents

解釈実行型プログラムデバッグ方式

Info

Publication number
JPH02100730A
JPH02100730A JP63253487A JP25348788A JPH02100730A JP H02100730 A JPH02100730 A JP H02100730A JP 63253487 A JP63253487 A JP 63253487A JP 25348788 A JP25348788 A JP 25348788A JP H02100730 A JPH02100730 A JP H02100730A
Authority
JP
Japan
Prior art keywords
instruction
execution
program
interpretation
time
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
JP63253487A
Other languages
English (en)
Inventor
Tsugikazu Shibata
柴田 次一
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 JP63253487A priority Critical patent/JPH02100730A/ja
Publication of JPH02100730A publication Critical patent/JPH02100730A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は情報処理システムにおけるプログラムデバッグ
方式に関し、特に命令の実行を当該命令コードの付近に
存在する他の命令の命令コードとの関係から独立に動作
可能な場合には両命令を同時に実行する先行制御の処理
機能を持つ中央処理装置(以下、CPUと略記する)を
含む情報処理システムで実行されるプログラムのデバッ
グ作業で用いられる解釈実行型プログラムデバソグ方弐
に関する。
〔従来の技術〕
従来、先行制御の処理機能を持っCPUを含む情報処理
システムでは、利用者プログラムのデバッグ作業時に、
CPUが命令コードの前後関係がらある命令とそれ以降
にある複数の命令とを同時に実行しているため、利用者
プログラムの実行中にプログラム例外が発生した場合に
はプログラム例外の発生した時点のインストラクション
カウンタがプログラム例外を発生した命令コードのアド
レスにならないことがあった。
従来は、このような場合に、利用者プログラムを再度起
動してデバッガによって1命令ずつ実行することにより
プログラム例外が発生する命令を捜す方法と、CPUの
プロセスの実行モードを変更して先行制御を全く行わな
いようにVる方法とがあった。
〔発明が解決しようとする課題〕
上述した従来のプログラムデバッグ方式では、デバッガ
で1命令ずつ実行する方法の場合には、利用者プログラ
ムをデバッグする利用者がオブジェクトプログラムとソ
ースプログラムとの対応関係を考えなければならないの
で、ソースプログラム記述レベルでデバッグするという
デバッグ作業の容易性が失われてしまうという欠点があ
る。
一方、CPUのプロセスの実行モードを変更する方法の
場合には、一般に実行モードを動的に変えることができ
ないので、情報処理システムの立上げ時やプロセスの初
期化時点で変更することになり、節単に行うことはでき
ないという欠点がある。また、先行制御を行わないため
に、CPU木来の性能が出ない、利用者プログラム以外
にオペレーティングシステムまでも実行速度が低下して
しまう等の欠点がある。
本発明の目的は、上述の点に鑑み、先行制御の処理機能
を持つCPUでデバッグコマンドによってソースプログ
ラム記述レベルでプログラムの範囲を限定して先行制御
が行われないように指定できるようにして、プログラム
全体の実行速度を低下させずにプログラム例外の発生し
た真の命令の発見を行うことができるようにした解釈実
行型プログラムデバッグ方式を提供することにある。
〔課題を解決するための手段〕
本発明による解釈実行型プログラムデバッグ方式は、命
令の実行を当該命令コードの付近に存在する他の命令の
命令コードとの関係から独立に動作可能な場合には両命
令を同時に実行する先行制御の処理機能を持つCPUを
含む情報処理システムでプログラムのソースプログラム
記述レベルでのデバッグを行うデバッガにおいて、プロ
グラムネームテーブル格納ファイルを参照してラベルや
行番号等のシンボルを対応するコンパイルアドレスに変
換するネームテーブル検索部と、このネームテーブル検
索部により変換されたコンパイルアドレスをコンパイル
時/実行時アドレス変換表格納ファイルを参照して対応
する実行アドレスに変換するコンパイル時/実行時アド
レス変換部と、コマンドを人力するコマンド入力部と、
このコマンド人力部から入力されたコマンドを解析しプ
ログラムの解釈実行を指示するデバッグコマンドであっ
た場合に前記ネームテーブル検索部および前記コンパイ
ル時/実行時アドレス変換部を呼び出してデバッグコマ
ンドで指定された解釈実行開始位置および解釈実行終了
位置を示すシンボルを実行アドレスに変換し変換された
実行アドレスを割込み命令処理部に設定するコマンド処
理部と、このコマンド処理部により設定された実行アド
レスにプログラムの実行が達したときに割込みを発生さ
せる前記割込み命令処理部と、この割込み命令処理部に
より発生された割込みに従ってデバ・ノブコマンドで指
定された解釈実行開始位置および解釈実行終了位置間の
命令コードをCPUのハードウェア・ファームウェアに
よって実行せずに解釈実行する命令コード解釈実行部と
、前記各部を制御する主制御部とを有する。
〔作用〕
本発明の解釈実行型プログラムデバッグ方式では、ネー
ムテーブル検索部がプログラムネームテーブル格納ファ
イルを参照してラベルや行番号等のシンボルを対応する
コンパイルアドレスに変換し、コンパイル時/実行時ア
ドレス変換部がネームテーブル検索部により変換された
コンパイルアドレスをコンパイル時/実行時アドレス変
換表格納ファイルを参照して対応する実行アドレスに変
換し、コマンド入力部がコマンドを入力し、コマンド処
理部がコマンド入力部から入力されたコマンドを解析し
プログラムの解釈実行を指示するデバッグコマンドであ
った場合にネームテーブル検索部およびコンパイル時/
実行時アドレス変換部を呼び出してデバッグコマンドで
指定された解釈実行開始位置および解釈実行終了位置を
示すシンボルを実行アドレスに変換し変換された実行ア
ドレスを割込み命令処理部に設定し、割込み命令処理部
がコマンド処理部により設定された実行アドレスにプロ
グラムの実行が達したときに割込みを発生させ、命令コ
ード解釈実行部が割込み命令処理部により発生された割
込みに従ってデバッグコマンドで指定された解釈実行開
始位置および解釈実行終了位置間の命令コードをCPU
のハードウェア・ファームウェアによって実行せずに解
釈実行し、主制御部が各部を制御する。
〔実施例〕
次に、本発明について図面を参照して詳細に説明する。
第1図は、本発明の一実施例の解釈実行型プログラムデ
バッグ方式の構成を示すブロック図である。本実施例の
解釈実行型プログラムデバッグ方式は、デバッガ1と、
オペレーティングシステム2と、端末袋W3と、システ
ム入力ファイル(以下、5YSINフアイルと略記する
)4と、プログラムネームテーブル格納ファイル5と、
コンパイル時/実行時アドレス変換表格納ファイル6と
、システム出力ファイル(以下、5YSOUTフアイル
と略記する) 7と、利用者プログラム8とから構成さ
れている。
デバッガlは、コマンド入力部11と、ネームテーブル
検索部12と、コンパイル時/実行時アドレス変換部1
3と、コマンド処理部14と、割込み命令処理部15と
、命令コード解釈実行部16と、主制御部17とから構
成されている。
プログラムネームテーブル格納ファイル5には、利用者
プログラム8をコンパイルした際にコンパイラ(図示せ
ず)が出力した変数名や行番号等のシンボルとコンパイ
ルアドレスとの対応を示すネームテーブルが格納されて
いる。
コンパイル時/実行時アドレス変換表格納ファイル6に
は、利用者プログラム8のリンク時にリンカ(図示せず
)が出力したコンパイルアドレスと実行アドレスとの対
応を示すアドレス変換表が格納されている。
次に、このように構成された本実施例の解釈実行型プロ
グラムデバッグ方式の動作について説明する。
オペレーティングシステム2により呼び出されてデバッ
ガ1が起動されると、主制御部17からコマンド入力部
11が呼び出される。
コマンド入力部11は、端末装置3または5YSINフ
アイル4からコマンドを入力し、主制御部17を介して
コマンド処理部14に渡す。
コマンド処理部14は、コマンド入力部11から渡され
たコマンドを解析して、利用者プログラム8の特定の範
囲を解釈実行することを指示するデバッグコマンドであ
った場合には、デバッグコマンドによってソースプログ
ラム記述レベルでラベルや行番号等として指定された解
釈実行開始位置を示すシンボルおよび解釈実行終了位置
を示すシンボルを取り出し、ネームテーブル検索部12
を呼び出す。
ネームテーブル検索部12は、解釈実行開始位置を示す
シンボルおよび解釈実行終了位置を示すシンボルをキー
としてプログラムネームテーブル格納ファイル5を検索
し、対応するコンパイルアドレスをそれぞれ取り出して
、コマンド処理部14に制御を戻す。
次に、コマンド処理部14は、ネームテーブル検索部1
2により取り出された解釈実行開始位置を示すコンパイ
ルアドレスおよび解釈実行終了位置を示すコンパイルア
ドレスを渡してコンパイル時/実行時アドレス変換部1
3を呼び出す。
コンパイル時/実行時アドレス変換部13は、解釈実行
開始位置を示すコンパイルアドレスおよび解釈実行終了
位置を示すコンパイルアドレスをキーとしてコンパイル
時/実行時アドレス変換表格納ファイル6を検索し、対
応する実行アドレスをそれぞれ取り出して、コマンド処
理部14に制御を戻す。
続いて、コマンド処理部14は、コンパイル時/実行時
アドレス変換部13により取り出された解釈実行開始位
置を示す実行アドレス(以下、解釈実行開始アドレスと
いう)および解釈実行終了位置を示す実行アドレス(解
釈実行終了アドレスという)を端末装置3や5YSQU
Tフアイル7に出力するとともに、主制御部17を介し
てv1込み命令処理部15に設定する。
割込み命令処理部15は、利用者プログラム8の実行が
解釈実行開始アドレスおよび解釈実行終了アドレスに達
したときに割込みが発生するように、利用者プログラム
8中の解釈実行開始アドレスおよび解釈実行終了アドレ
スの位置に割込み命令を埋め込む。
この後、オペレーティングシステム2により呼び出され
て利用者プログラム8が起動されると、利用者プログラ
ム8はまずCPU (図示せず)のハードウェア・ファ
ームウェアによって先行制御の処理機能を使用して実行
を開始される。
利用者プログラム8の実行が解釈実行開始アドレスに達
すると、利用者プログラム8に埋め込まれていた割込み
命令によって割込みが発生し、これを受けて割込み命令
処理部15が割込み情報を主′M御部17に渡す。
主制御部17は、割込み命令処理部15から渡された割
込み情報に基づいて命令コード解釈実行部16を呼び出
す。
命令コード解釈実行部16は、主制御部17から呼び出
されて利用者プログラム8の解釈実行開始アドレスにあ
る命令コードから解釈実行を開始する。
すなわち、命令コード解釈実行部16は、命令の種類に
応じてレジスタやメモリの内容を参照および更新する動
作をCPUのハードウェア・ファームウェアに代わって
実行する。なお、命令コード解釈実行部16は、利用者
プログラム8の命令コードを1命令ずつ解釈実行し、利
用者はI命令の解釈実行毎に指示を与えて解釈実行を進
めることができる。よって、利用者は、プログラム例外
を発生する命令を確実に発見することができる。
利用者プログラム8の命令コード解釈実行部16による
解釈実行が解釈実行終了アドレスに達すると、利用者プ
ログラム8に埋め込まれていた割込み命令によって再び
割込みが発生し、これを受けて割込み命令処理部15が
割込み情報を主制御部17に渡す。
主制御部17は、割込み命令処理部15から渡された割
込み情報に基づいて命令コード解釈実行部16による利
用者プログラム8の解釈実行を終了させ、利用者プログ
ラム8がCPUのハードウェア・ファームウェアによっ
て先行制御の処理機能を使用して実行される状態に戻す
〔発明の効果〕
以上説明したように本発明は、先行制御の処理機能を持
つCPUを含む情報処理システムで行うプログラムデバ
ッグ作業において、デバッグコマンドによってソースプ
ログラム記述レベルでプログラムの先行制御を行わない
範囲を設定できるようにしたことにより、デバッグ作業
の容易性を失わずにかつプログラム全体の実行速度を低
下させずにプログラム例外の発生する命令を発見するこ
とができるという効果がある。特に、長時間のCPU時
間を消費するプログラムや、命令の並び替えを行い実行
速度を向上させるように最適化されたプログラムの問題
解決に有効な助けになる。
【図面の簡単な説明】
第1図は本発明の一実施例の解釈実行型プログラムデバ
ッグ方式の構成を示すブロック図である。 図において、 1・・・デバッガ、 2・・・オヘレーティングシステム、 3・・・端末装置、 4・・・SYS INファイル、 5・・・プログラムスームテーブル格納ファイル、 6・・・コンパイル時/実行時アドレス変換表格納ファ
イル、 7・・・5YSOUTフアイル、 8・・・利用者プログラム、 11・・・コマンド入力部、 12・・・ネームテーブル検索部、 13・・・コンパイル時/実行時アドレス変換部、14
・・・コマンド処理部、 15・・・割込み命令処理部、 ・命令コード解釈実行部、 ・主制御部である。

Claims (1)

  1. 【特許請求の範囲】 命令の実行を当該命令コードの付近に存在する他の命令
    の命令コードとの関係から独立に動作可能な場合には両
    命令を同時に実行する先行制御の処理機能を持つCPU
    を含む情報処理システムでプログラムのソースプログラ
    ム記述レベルでのデバッグを行うデバッガにおいて、 プログラムネームテーブル格納ファイルを参照してラベ
    ルや行番号等のシンボルを対応するコンパイルアドレス
    に変換するネームテーブル検索部と、 このネームテーブル検索部により変換されたコンパイル
    アドレスをコンパイル時/実行時アドレス変換表格納フ
    ァイルを参照して対応する実行アドレスに変換するコン
    パイル時/実行時アドレス変換部と、 コマンドを入力するコマンド入力部と、 このコマンド入力部から入力されたコマンドを解析しプ
    ログラムの解釈実行を指示するデバッグコマンドであっ
    た場合に前記ネームテーブル検索部および前記コンパイ
    ル時/実行時アドレス変換部を呼び出してデバッグコマ
    ンドで指定された解釈実行開始位置および解釈実行終了
    位置を示すシンボルを実行アドレスに変換し変換された
    実行アドレスを割込み命令処理部に設定するコマンド処
    理部と、 このコマンド処理部により設定された実行アドレスにプ
    ログラムの実行が達したときに割込みを発生させる前記
    割込み命令処理部と、 この割込み命令処理部により発生された割込みに従って
    デバッグコマンドで指定された解釈実行開始位置および
    解釈実行終了位置間の命令コードをCPUのハードウェ
    ア・ファームウェアによって実行せずに解釈実行する命
    令コード解釈実行部と、 前記各部を制御する主制御部と を有することを特徴とする解釈実行型プログラムデバッ
    グ方式。
JP63253487A 1988-10-07 1988-10-07 解釈実行型プログラムデバッグ方式 Pending JPH02100730A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63253487A JPH02100730A (ja) 1988-10-07 1988-10-07 解釈実行型プログラムデバッグ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63253487A JPH02100730A (ja) 1988-10-07 1988-10-07 解釈実行型プログラムデバッグ方式

Publications (1)

Publication Number Publication Date
JPH02100730A true JPH02100730A (ja) 1990-04-12

Family

ID=17252067

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63253487A Pending JPH02100730A (ja) 1988-10-07 1988-10-07 解釈実行型プログラムデバッグ方式

Country Status (1)

Country Link
JP (1) JPH02100730A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006297521A (ja) * 2005-04-19 2006-11-02 Kawamura Seiki Kk 板材の溝加工装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006297521A (ja) * 2005-04-19 2006-11-02 Kawamura Seiki Kk 板材の溝加工装置

Similar Documents

Publication Publication Date Title
KR920001319A (ko) 처리기 및 처리기의 처리방법
US7739674B2 (en) Method and apparatus for selectively optimizing interpreted language code
JPH0728670A (ja) 情報処理装置
JP2817786B2 (ja) シミュレーション装置及びシミュレーション方法
JPH02100730A (ja) 解釈実行型プログラムデバッグ方式
US6785806B1 (en) Bios having macro/effector pairs for hardware initialization
JP3114686B2 (ja) プログラム・ディバグ方法
JP2001222447A (ja) 実動作環境下のデバッグ方法及びデバッグ対象装置
JP2658982B2 (ja) 特定命令実行検出方式
JPH06103109A (ja) データプロセッサ、及びこれを用いるデバッグ装置
JPH11110250A (ja) ソフトウェア実行モード切替方法
JP3381253B2 (ja) シミュレーション装置
KR20020049789A (ko) 파워피시 마이크로프로세서에서 실행되는 병행 프로그램디버깅을 위한 스태핑 제어방법
JPH02181236A (ja) デバッグ装置
JP3019330B2 (ja) コンパイル装置
JP2751423B2 (ja) プログラムデバッグ処理方式
JPS6349941A (ja) 演算処理装置
JPH08185326A (ja) インタープリタ言語処理装置
JPH01274253A (ja) ソフトウェアブレーク方式
JPH03175539A (ja) デバッグ用マイクロプロセッサ
JPS63158632A (ja) インタプリタシステムにおけるシステムプログラム実行方式
JPS61211746A (ja) プログラム実行制御方式
JPH0239332A (ja) ソフトウェアブレーク方式
JPH06214828A (ja) 対話型デバッグ制御装置
JPH03246734A (ja) デバッガのジャンプ先アドレスチェック方法および装置