JPH0377140A - コンパイル装置 - Google Patents
コンパイル装置Info
- Publication number
- JPH0377140A JPH0377140A JP1213503A JP21350389A JPH0377140A JP H0377140 A JPH0377140 A JP H0377140A JP 1213503 A JP1213503 A JP 1213503A JP 21350389 A JP21350389 A JP 21350389A JP H0377140 A JPH0377140 A JP H0377140A
- Authority
- JP
- Japan
- Prior art keywords
- program
- mode
- execution
- execution mode
- debugging
- 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.)
- Granted
Links
Landscapes
- Debugging And Monitoring (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概 要〕
計算機における、プログラムの実行デバッグのための実
行モードの切換に関し、 実行モードをプログラムの実行時に指定でき、且つモー
ドを動的に切り換えることができるデバッグモード切換
処理方式を目的とし、コンパイラが、原始プログラムか
ら目的プログラムを生成する場合に、第1及び第2のプ
ログラムを、所与の実行モード指定に従って該目的プロ
グラムに追加挿入し、第1のプログラムによって、該目
的プログラムの実行開始時の実行モードを、該実行モー
ド指定のモードに設定する所定の処理を構成し、第2の
プログラムによって、該目的プログラムから他のプログ
ラムを呼び出すごとに、該実行モードを、実行時に指定
されるモードに設定する所定の処理を構成し、該実行モ
ードによって所定のデバッグ状態及び非デバッグ状態の
何れかを選択し、該目的プログラムの実行状態とするよ
うに構成する。
行モードの切換に関し、 実行モードをプログラムの実行時に指定でき、且つモー
ドを動的に切り換えることができるデバッグモード切換
処理方式を目的とし、コンパイラが、原始プログラムか
ら目的プログラムを生成する場合に、第1及び第2のプ
ログラムを、所与の実行モード指定に従って該目的プロ
グラムに追加挿入し、第1のプログラムによって、該目
的プログラムの実行開始時の実行モードを、該実行モー
ド指定のモードに設定する所定の処理を構成し、第2の
プログラムによって、該目的プログラムから他のプログ
ラムを呼び出すごとに、該実行モードを、実行時に指定
されるモードに設定する所定の処理を構成し、該実行モ
ードによって所定のデバッグ状態及び非デバッグ状態の
何れかを選択し、該目的プログラムの実行状態とするよ
うに構成する。
本発明は、計算機において、プログラムの実行デバッグ
のために実行モードを切り換えるためのデバッグモード
切換処理方式に関する。
のために実行モードを切り換えるためのデバッグモード
切換処理方式に関する。
〔従来の技術と発明が解決しようとする課題〕計算機の
プログラム開発における、プログラムのいわゆるデバッ
グに際し、当該プログラムを実行させて実行結果をチエ
ツクする実行デバッグが行われるが、その際計算機が高
度の並行処理機能を有する場合に、デバッグ中はその機
能を抑止してシーケンシャルに実行を進めること等が必
要な場合がある。
プログラム開発における、プログラムのいわゆるデバッ
グに際し、当該プログラムを実行させて実行結果をチエ
ツクする実行デバッグが行われるが、その際計算機が高
度の並行処理機能を有する場合に、デバッグ中はその機
能を抑止してシーケンシャルに実行を進めること等が必
要な場合がある。
そのために、そのような高速化機能を持つ計算機には、
必要な機能を抑止する機能が設けられ、例えば実行モー
ドとしてデバッグモードと非デバッグモードを設け、実
行モードを設定することによって、非デバッグモードで
は高速化機能を生かして高速にプログラムを実行するが
、デバッグモードに設定されたときは、高速化機能を抑
止するようにし、それらのモード設定は例えば一定の制
御レジスタに設けるモードピットのリセットによって切
り換えるようにされる。
必要な機能を抑止する機能が設けられ、例えば実行モー
ドとしてデバッグモードと非デバッグモードを設け、実
行モードを設定することによって、非デバッグモードで
は高速化機能を生かして高速にプログラムを実行するが
、デバッグモードに設定されたときは、高速化機能を抑
止するようにし、それらのモード設定は例えば一定の制
御レジスタに設けるモードピットのリセットによって切
り換えるようにされる。
FORTIIAN等のプログラミング言語で記述された
プログラムのデバッグにおいて、前記の実行モードを利
用できるようにするために、そのようなプログラミング
言語で記述された原始プログラムを処理するコンパイラ
には、いわゆるコンパイルオプションとして、翻訳処理
要求時に実行モード指定ができるようにし、その指定が
あった場合にコンパイラは、翻訳して生成する目的プロ
グラムに、指定された実行モードで実行するための処理
を行うプログラムを挿入するようになっている。
プログラムのデバッグにおいて、前記の実行モードを利
用できるようにするために、そのようなプログラミング
言語で記述された原始プログラムを処理するコンパイラ
には、いわゆるコンパイルオプションとして、翻訳処理
要求時に実行モード指定ができるようにし、その指定が
あった場合にコンパイラは、翻訳して生成する目的プロ
グラムに、指定された実行モードで実行するための処理
を行うプログラムを挿入するようになっている。
第3図(a)は、このようにして実行モード切換処理が
挿入されたプログラムを、説明のために原始プログラム
のイメージで示す図であり、図におい7 rMODE=
NOADVANCED J ニより、その位置に挿入さ
れるプログラムによって所定の制御レジスタのモートビ
・ントを非デバ・ングモード(ADVANCEDモード
)からデバッグモード(NOADVANCED−E −
)’) ニ設定することを示すものとする。なお、プロ
グラムの実行開始時はシステムの管理プログラムによっ
て非デバッグモードに設定される。
挿入されたプログラムを、説明のために原始プログラム
のイメージで示す図であり、図におい7 rMODE=
NOADVANCED J ニより、その位置に挿入さ
れるプログラムによって所定の制御レジスタのモートビ
・ントを非デバ・ングモード(ADVANCEDモード
)からデバッグモード(NOADVANCED−E −
)’) ニ設定することを示すものとする。なお、プロ
グラムの実行開始時はシステムの管理プログラムによっ
て非デバッグモードに設定される。
この構成により、開発中のサブルーチン5tlB1プロ
グラムがMAINプログラムから呼ばれて実行開始する
と、実行モードがデバッグモードに設定され、5UBI
プログラムがデバッグモードで実行されることになる。
グラムがMAINプログラムから呼ばれて実行開始する
と、実行モードがデバッグモードに設定され、5UBI
プログラムがデバッグモードで実行されることになる。
その結果、その後に5UBIプログラムから呼ばれるサ
ブルーチン5tlB2プログラムもデバッグモードで実
行されるが、そのために例えばサブルーチン5UB2が
既存のデバッグ済のサブルーチンであり、従って5UB
2については高速の非デバッグモードで実行させたいと
いうような場合等にも、サブルーチン5UBI以後に実
行するプログラムをすべてデバッグモードで実行させざ
るを得ないという問題がある。
ブルーチン5tlB2プログラムもデバッグモードで実
行されるが、そのために例えばサブルーチン5UB2が
既存のデバッグ済のサブルーチンであり、従って5UB
2については高速の非デバッグモードで実行させたいと
いうような場合等にも、サブルーチン5UBI以後に実
行するプログラムをすべてデバッグモードで実行させざ
るを得ないという問題がある。
本発明は、実行モードをプログラムの実行時に指定でき
、且つモードを動的に切り換えることができるデバッグ
モード切換処理方式を目的とする。
、且つモードを動的に切り換えることができるデバッグ
モード切換処理方式を目的とする。
第1図は、本発明の構成を示すブロック図である。
図はデバッグモード切換処理方式の構成を示し、コンパ
イラ1が、原始プログラム2から目的プログラム5を生
成する場合に、実行モード制御のための第1のプログラ
ム3及び第2のプログラム4を、所与の実行モード指定
6に従って目的プログラム5に追加挿入し、第1のプロ
グラム3によって、目的プログラム5の実行開始時の実
行モード7を、実行モード指定6のモードに設定する所
定の処理を構成し、第2のプログラム4によって、目的
プログラム5から他のプログラムを呼び出すごとに、実
行モード7を、実行時に指定されるモード8に設定する
所定の処理を構成し、実行モード7によって、所定のデ
バッグ状態及び非デバッグ状態の何れかを選択して、目
的プログラム5の実行状態とする。
イラ1が、原始プログラム2から目的プログラム5を生
成する場合に、実行モード制御のための第1のプログラ
ム3及び第2のプログラム4を、所与の実行モード指定
6に従って目的プログラム5に追加挿入し、第1のプロ
グラム3によって、目的プログラム5の実行開始時の実
行モード7を、実行モード指定6のモードに設定する所
定の処理を構成し、第2のプログラム4によって、目的
プログラム5から他のプログラムを呼び出すごとに、実
行モード7を、実行時に指定されるモード8に設定する
所定の処理を構成し、実行モード7によって、所定のデ
バッグ状態及び非デバッグ状態の何れかを選択して、目
的プログラム5の実行状態とする。
前記の処理方式により、被デバツグプログラムの実行時
に実行モードを指定して、当該プログラムが呼出元にな
って実行させるプログラムの実行モードを、呼出元の実
行モードに関わらず動的に切り換えるようにすることが
できるので、デバッグ対象のプログラムのみを選択的に
デバッグモードとし、他を非デバッグモードで実行させ
て、効率よくデバッグを進めることができる。
に実行モードを指定して、当該プログラムが呼出元にな
って実行させるプログラムの実行モードを、呼出元の実
行モードに関わらず動的に切り換えるようにすることが
できるので、デバッグ対象のプログラムのみを選択的に
デバッグモードとし、他を非デバッグモードで実行させ
て、効率よくデバッグを進めることができる。
第2図は第1図のコンパイラ1によって、実行モード制
御のためのプログラムを挿入する処理の流れの一例を示
し、処理ステップ10でコンパイルオプションにデバッ
グモードを指定する実行モード指定のrMODE=IJ
OADVANcED Jがあるか識別し、指定があれば
処理ステップ11で目的プログラムの実行命令文の先頭
にデバッグモードを設定するプログラム(第1図におけ
る第1のプログラム3)を挿入する。
御のためのプログラムを挿入する処理の流れの一例を示
し、処理ステップ10でコンパイルオプションにデバッ
グモードを指定する実行モード指定のrMODE=IJ
OADVANcED Jがあるか識別し、指定があれば
処理ステップ11で目的プログラムの実行命令文の先頭
にデバッグモードを設定するプログラム(第1図におけ
る第1のプログラム3)を挿入する。
次に処理ステップ12でこの翻訳対象のプログラムにサ
ブルーチン呼出及び関数呼出等の他のプログラムの呼出
及び呼出元への復帰命令文があるか走査し、呼出及び復
帰命令文がある場合には、処理ステップ13でそれらの
各命令文の直前に実行モードを実行時モード指定に従っ
て設定するプログラム(第1図における第2のプログラ
ム4)を挿入する。又それらの呼出文の直後、即ち呼出
先からの復帰時には、元のデバッグモードに戻すプログ
ラムを置く。
ブルーチン呼出及び関数呼出等の他のプログラムの呼出
及び呼出元への復帰命令文があるか走査し、呼出及び復
帰命令文がある場合には、処理ステップ13でそれらの
各命令文の直前に実行モードを実行時モード指定に従っ
て設定するプログラム(第1図における第2のプログラ
ム4)を挿入する。又それらの呼出文の直後、即ち呼出
先からの復帰時には、元のデバッグモードに戻すプログ
ラムを置く。
こ覧で第1のプログラム3であるデバッグモード設定の
プログラムは、所定の制御レジスタにデバッグモードを
示す定数をセットするように構成したプログラムである
。又、第2のプログラム4である実行時モード指定設定
のプログラムは、その制御レジスタに例えば一定の制御
情報記憶領域に設定されている内容をセットするプログ
ラムとする。その制御情報記憶領域の内容は、プログラ
ムの実行開始時に例えばシステムの管理プログラムが実
行時モード指定を識別して指定の非デバッグ又はデバッ
グモードを示す内容に設定しておくものとする。
プログラムは、所定の制御レジスタにデバッグモードを
示す定数をセットするように構成したプログラムである
。又、第2のプログラム4である実行時モード指定設定
のプログラムは、その制御レジスタに例えば一定の制御
情報記憶領域に設定されている内容をセットするプログ
ラムとする。その制御情報記憶領域の内容は、プログラ
ムの実行開始時に例えばシステムの管理プログラムが実
行時モード指定を識別して指定の非デバッグ又はデバッ
グモードを示す内容に設定しておくものとする。
第3図(b)は以上の処理の結果生成されるプログラム
の構成を説明する図であり、前記第3図(a)と同じプ
ログラムについて、サブルーチン5UBIをデバッグす
るために、5LIBIをコンパイルオプション’ MO
DE=NOADVANCED J ”?l”:J ンハ
イルシタ場合ヲ示し、r MODE=P Jが実行時モ
ード指定によって実行モードを設定するプログラムの挿
入位置を示す。
の構成を説明する図であり、前記第3図(a)と同じプ
ログラムについて、サブルーチン5UBIをデバッグす
るために、5LIBIをコンパイルオプション’ MO
DE=NOADVANCED J ”?l”:J ンハ
イルシタ場合ヲ示し、r MODE=P Jが実行時モ
ード指定によって実行モードを設定するプログラムの挿
入位置を示す。
このプログラムの実行時に、実行時モード指定rMOD
E=ADVANcED Jが指定されたとすると、図か
ら明らかなように、MAINから5UBIが呼ばれたと
き、最初のrMO[)E−NOADVANCEII J
テデハッグモートが設定されて実行を開始するが、r
CALL 5UB2 Jの前のr MODE、、P J
の実行で、実行時モード指定の非デバッグモードに切り
換えられるので、呼び出される5LIB2は非デバッグ
モードで高速に実行されることになる。
E=ADVANcED Jが指定されたとすると、図か
ら明らかなように、MAINから5UBIが呼ばれたと
き、最初のrMO[)E−NOADVANCEII J
テデハッグモートが設定されて実行を開始するが、r
CALL 5UB2 Jの前のr MODE、、P J
の実行で、実行時モード指定の非デバッグモードに切り
換えられるので、呼び出される5LIB2は非デバッグ
モードで高速に実行されることになる。
次に5UB2から5UBIへ復帰したときは、CALL
命令文直後のモード設定によって、デバッグモードに戻
って5UBIの実行が継続し、最後にMAINに復帰す
る直前に再びモードを実行時モード指定で指定された非
デバッグモードに切り換える。
命令文直後のモード設定によって、デバッグモードに戻
って5UBIの実行が継続し、最後にMAINに復帰す
る直前に再びモードを実行時モード指定で指定された非
デバッグモードに切り換える。
又5UB2もデバッグモードで実行したい場合には、実
行時ニrMODE=NOADVANCED Jを指定す
れば、rMODE=PJの位置でのモード設定でデバッ
グモードが設定されるので、従来と同様に5UBI、5
UB2共にデバッグモードで実行することができる。
行時ニrMODE=NOADVANCED Jを指定す
れば、rMODE=PJの位置でのモード設定でデバッ
グモードが設定されるので、従来と同様に5UBI、5
UB2共にデバッグモードで実行することができる。
以上の説明から明らかなように本発明によれば、計算機
における、プログラムの実行デバッグにおいて、実行モ
ードをプログラムの実行時に指定でき、且つモードを動
的に切り換えることができるので、デバッグ対象のプロ
グラムのみを選択的にデバッグモードとし、他を非デバ
ッグモードで実行させて、デバッグ効率を向上すること
ができるという著しい工業的効果がある。
における、プログラムの実行デバッグにおいて、実行モ
ードをプログラムの実行時に指定でき、且つモードを動
的に切り換えることができるので、デバッグ対象のプロ
グラムのみを選択的にデバッグモードとし、他を非デバ
ッグモードで実行させて、デバッグ効率を向上すること
ができるという著しい工業的効果がある。
第1図は本発明の構成を示すブロック図、第2図は本発
明の処理の流れ図、 第3図はプログラム例の説明図 である。 図において、 1はコンパイラ、 2は原始プログラム、3は第
1のプログラム、4は第2のプログラム、5は目的プロ
グラム、 6は実行モード指定、7は実行モード、
8は実行時モード指定、10〜13は処理ステップ 本発明の構成を示すプロ〉り図 第1図 本発明の処理の流れ図 第 2 図
明の処理の流れ図、 第3図はプログラム例の説明図 である。 図において、 1はコンパイラ、 2は原始プログラム、3は第
1のプログラム、4は第2のプログラム、5は目的プロ
グラム、 6は実行モード指定、7は実行モード、
8は実行時モード指定、10〜13は処理ステップ 本発明の構成を示すプロ〉り図 第1図 本発明の処理の流れ図 第 2 図
Claims (1)
- 【特許請求の範囲】 コンパイラ(1)が、原始プログラム(2)から目的プ
ログラム(5)を生成する場合に、第1及び第2のプロ
グラムを、所与の実行モード指定(6)に従って該目的
プログラムに追加挿入し、 第1のプログラム(3)によって、該目的プログラム(
5)の実行開始時の実行モードを、該実行モード指定(
6)のモードに設定する所定の処理を構成し、第2のプ
ログラム(4)によって、該目的プログラム(5)から
他のプログラムを呼び出すごとに、該実行モードを、実
行時に指定されるモード(8)に設定する所定の処理を
構成し、 該実行モード(7)によって所定のデバッグ状態及び非
デバッグ状態の何れかを選択し、該目的プログラム(5
)の実行状態とするように構成されていることを特徴と
するデバッグモード切換処理方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1213503A JP3019330B2 (ja) | 1989-08-18 | 1989-08-18 | コンパイル装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1213503A JP3019330B2 (ja) | 1989-08-18 | 1989-08-18 | コンパイル装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0377140A true JPH0377140A (ja) | 1991-04-02 |
| JP3019330B2 JP3019330B2 (ja) | 2000-03-13 |
Family
ID=16640278
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1213503A Expired - Fee Related JP3019330B2 (ja) | 1989-08-18 | 1989-08-18 | コンパイル装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3019330B2 (ja) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63259736A (ja) * | 1987-04-17 | 1988-10-26 | Nec Corp | デバツグ用セグメント分割方式 |
-
1989
- 1989-08-18 JP JP1213503A patent/JP3019330B2/ja not_active Expired - Fee Related
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63259736A (ja) * | 1987-04-17 | 1988-10-26 | Nec Corp | デバツグ用セグメント分割方式 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3019330B2 (ja) | 2000-03-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3508775B2 (ja) | 一つのプログラムの中でまたは1つのプロセッサ環境に於て、夫々のオブジェクトコードタイプが異なる複数のプログラムセグメントを実行するための装置 | |
| US5729748A (en) | Call template builder and method | |
| JP2001147819A (ja) | 最適化装置および記録媒体 | |
| EP0595540A1 (en) | Debugging/modifying of software in ROM | |
| JP2001184218A (ja) | Mpiプログラムのコンパイルにおける最適化方法 | |
| JP2919302B2 (ja) | Cpuシミュレーション方法 | |
| US5150474A (en) | Method for transferring arguments between object programs by switching address modes according to mode identifying flag | |
| JPH0377140A (ja) | コンパイル装置 | |
| JPS62113244A (ja) | プログラムテスト装置 | |
| EP0417916B1 (en) | Procedure state descriptor system for digital data processors | |
| JPS60159948A (ja) | 命令例外処理方式 | |
| JPH0581069A (ja) | プログラムのデバツグ方法 | |
| JP3372387B2 (ja) | プログラム検査方法 | |
| JPS626260B2 (ja) | ||
| JPH03240831A (ja) | 割り込み処理方式 | |
| JPH05241889A (ja) | 機械語命令のステップ実行方式 | |
| JPH1021067A (ja) | プログラムの動的修正方法 | |
| JPS63269237A (ja) | マイクロコンピユ−タの開発装置 | |
| JP2591818B2 (ja) | 補助機能の選択制御方法 | |
| JPH03164835A (ja) | インタプリタ型言語処理系における大域変数処理のコンパイル方法 | |
| JPH05250221A (ja) | シミュレータ実行方式 | |
| CN114035920A (zh) | 一种dsp程序对称加载运行的方法及其装置 | |
| JPS6292032A (ja) | プログラムテスト方法 | |
| JP2003271207A (ja) | プログラムの実行方式及びプログラム開発支援装置 | |
| JPH0588934A (ja) | デバツグ方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |