JPS62166444A - プログラムデバツグ装置 - Google Patents
プログラムデバツグ装置Info
- Publication number
- JPS62166444A JPS62166444A JP61007890A JP789086A JPS62166444A JP S62166444 A JPS62166444 A JP S62166444A JP 61007890 A JP61007890 A JP 61007890A JP 789086 A JP789086 A JP 789086A JP S62166444 A JPS62166444 A JP S62166444A
- Authority
- JP
- Japan
- Prior art keywords
- program
- area
- instruction
- cpu
- stack
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
この発明は、電子計算機におけるプログラムの命令をト
レースする際のオーバヘッドを軽減したプログラムデバ
ッグ装置に関するものである。
レースする際のオーバヘッドを軽減したプログラムデバ
ッグ装置に関するものである。
[従来の技術]
第2図は従来のプログラムデバッグ装置を示ずブロック
図である。図において、(1〉は主メモリ、(2)は主
メモリ(1)上に設けられたマシンシミュレータ、(3
)はマシンシミュレータ(2)に設けられた擬似主メモ
リ、(4)は擬似主メモリ(3)にロードされたトレー
ス対象となるプログラム、(5)はマシンシミュレータ
(2)によりトレースされたプログラム(4)の実行ト
レース出力である。
図である。図において、(1〉は主メモリ、(2)は主
メモリ(1)上に設けられたマシンシミュレータ、(3
)はマシンシミュレータ(2)に設けられた擬似主メモ
リ、(4)は擬似主メモリ(3)にロードされたトレー
ス対象となるプログラム、(5)はマシンシミュレータ
(2)によりトレースされたプログラム(4)の実行ト
レース出力である。
従来のプログラムデバッグ装置は上記のように構成され
ており、まず、本プログラムをプログラム(4)として
マシンシミュレータ(2)の擬似主メモリ(3)にロー
ドする。次に、マシンシミュレータ(2)が、プログラ
ム(4)内の命令を逐次取り出して、その命令がCPU
(図示せず)で実行されたときの動作を擬似的に実現す
ることによってトレースを実行する。そして、この処理
をプログラム(4)内の各命令毎に逐次行い、実行トレ
ース出力(5)を出力するようになっている。
ており、まず、本プログラムをプログラム(4)として
マシンシミュレータ(2)の擬似主メモリ(3)にロー
ドする。次に、マシンシミュレータ(2)が、プログラ
ム(4)内の命令を逐次取り出して、その命令がCPU
(図示せず)で実行されたときの動作を擬似的に実現す
ることによってトレースを実行する。そして、この処理
をプログラム(4)内の各命令毎に逐次行い、実行トレ
ース出力(5)を出力するようになっている。
[発明が解決しようとする問題点コ
従来のプログラムデバッグ装置は以上のように、プログ
ラム(4)内の各命令をCPUで直接実行せずに、マシ
ンシミュレータにより擬似的に実行させるので、オーバ
ヘッドが膨大となり、又、シミュレーションの限界によ
りシステムコールの使用や常駐データのアクセス等に制
限が加わったり、システムの中核プログラムのデバッグ
に使用するには装置が大規模になるという問題点があっ
た。
ラム(4)内の各命令をCPUで直接実行せずに、マシ
ンシミュレータにより擬似的に実行させるので、オーバ
ヘッドが膨大となり、又、シミュレーションの限界によ
りシステムコールの使用や常駐データのアクセス等に制
限が加わったり、システムの中核プログラムのデバッグ
に使用するには装置が大規模になるという問題点があっ
た。
この発明は上記のような問題点を解決するためになされ
たもので、オーバヘッドが少なく且つシステムコールや
常駐データアクセスなどの制限のない命令トレースが可
能なプログラムデバッグ装置を得ることを目的とする。
たもので、オーバヘッドが少なく且つシステムコールや
常駐データアクセスなどの制限のない命令トレースが可
能なプログラムデバッグ装置を得ることを目的とする。
[問題点を解決するための手段]
この発明に係るプログラムデバッグ装置は、主メモリ上
に、cpuで実行される命令を逐次スタックするための
命令トレース機構を設けたものである。
に、cpuで実行される命令を逐次スタックするための
命令トレース機構を設けたものである。
[作用]
この発明においては、CPUで実行される命令を、命令
トレース機構がハードウェア機能により自動的にスタッ
クしてトレースする。
トレース機構がハードウェア機能により自動的にスタッ
クしてトレースする。
[実施例]
以下、この発明の一実施例を図について説明する。第1
図はこの発明の実施例を示すブロック図である。図にお
いて、(11)は主メモリ、(12)はCPUである。
図はこの発明の実施例を示すブロック図である。図にお
いて、(11)は主メモリ、(12)はCPUである。
(13)は主メモリ(11)上に設けられた命令コード
スタック領域、(14)は主メモリ(11)上に設けら
れた実行アドレススタック領域、(15)は各スタック
領域(13)及び(14)が満杯になると 「1」が−
3= 立つスタックビジーフラグであり、これらは、cpu(
12)で実行される命令をハードウェア機能で逐次スタ
ックする命令トレース機構を構成している。
スタック領域、(14)は主メモリ(11)上に設けら
れた実行アドレススタック領域、(15)は各スタック
領域(13)及び(14)が満杯になると 「1」が−
3= 立つスタックビジーフラグであり、これらは、cpu(
12)で実行される命令をハードウェア機能で逐次スタ
ックする命令トレース機構を構成している。
(16)はトレース領域を指定するための一対のレジス
タ、(1))はCPU(12)で実行される命令を含み
、トレース対象となるプログラムである。
タ、(1))はCPU(12)で実行される命令を含み
、トレース対象となるプログラムである。
次に、第1図に示したこの発明の一実施例の動作につい
て説明する。
て説明する。
まず、プログラム(17)を動作させる前に、予めトレ
ースを取りたい領域(17a)(ハツチングで示す)の
開始/終了アドレスを、それぞれレジスタ(16)に設
定しておく。
ースを取りたい領域(17a)(ハツチングで示す)の
開始/終了アドレスを、それぞれレジスタ(16)に設
定しておく。
そして、プログラム(17)が起動して各レジスタ(1
6)で指定された領域(1)a)が実行されると、CP
U(12)が実行されると同時に、ハードウェア機能に
より逐次自動的に、その命令コードが命令コードスタッ
ク領域(13)にスタックされ、又、その実行アドレス
が実行アドレススタック領域(14)にスタックされる
。
6)で指定された領域(1)a)が実行されると、CP
U(12)が実行されると同時に、ハードウェア機能に
より逐次自動的に、その命令コードが命令コードスタッ
ク領域(13)にスタックされ、又、その実行アドレス
が実行アドレススタック領域(14)にスタックされる
。
各スタック領域(13)及び(14)が満杯になると、
ハードウェアからソフトウェアに「領域フル」の割込み
を入力し、スタックビジーフラグ(15)にビジーフラ
グ「1」を立てる。
ハードウェアからソフトウェアに「領域フル」の割込み
を入力し、スタックビジーフラグ(15)にビジーフラ
グ「1」を立てる。
このビジーフラグ「1」が立っている間は、各スタック
領域(13)及び(14)へのスタックは抑止されてい
る。一方、割込みを受けたソフトウェア側は、プログラ
ム(17)の実行を停止させるなどして、各スタック領
域(13)及び(14)からトレース情報を他の記憶装
置(図示せず)に巻き上げる。こうして、満杯になった
トレース情報を巻き上げ終わるとスタックビジーフラグ
(15)はオフとなり、プログラム(17)の実行が再
開される。
領域(13)及び(14)へのスタックは抑止されてい
る。一方、割込みを受けたソフトウェア側は、プログラ
ム(17)の実行を停止させるなどして、各スタック領
域(13)及び(14)からトレース情報を他の記憶装
置(図示せず)に巻き上げる。こうして、満杯になった
トレース情報を巻き上げ終わるとスタックビジーフラグ
(15)はオフとなり、プログラム(17)の実行が再
開される。
以上の処理を繰り返すことにより、各レジスタ(16)
で指定した領域(17a>の命令実行トレースは全て収
集される。
で指定した領域(17a>の命令実行トレースは全て収
集される。
尚、上記実施例では、命令コードスタック領域(13)
及び実行アドレススタック領域(14)をそれぞれ1つ
として示したが、これらの領域をそれぞれ2つにして、
ダブルバッファリングを行うことは適宜なし得ることで
あり、同様の効果が得られることは言うまてもない。
及び実行アドレススタック領域(14)をそれぞれ1つ
として示したが、これらの領域をそれぞれ2つにして、
ダブルバッファリングを行うことは適宜なし得ることで
あり、同様の効果が得られることは言うまてもない。
[発明の効果]
以上のようにこの発明によれば、主メモリ上に、CPU
で実行される命令を逐次スタックするための命令トレー
ス機構を設け、CPUで実行される命令を、命令トレー
ス機構がハードウェア機能により自動的にスタックして
トレースするので、オーバヘッドが小さく且つシステム
プログラムにも適用可能なプログラムデバッグ装置が得
られる効果がある。
で実行される命令を逐次スタックするための命令トレー
ス機構を設け、CPUで実行される命令を、命令トレー
ス機構がハードウェア機能により自動的にスタックして
トレースするので、オーバヘッドが小さく且つシステム
プログラムにも適用可能なプログラムデバッグ装置が得
られる効果がある。
第1図はこの発明の一実施例を示すブロック図、第2図
は従来のプログラムデバッグ装置を示すブロック図であ
る。 (11)・・・主メモリ (12)・・・CP
U(13)・・・命令コードスタック領域〈14)・・
・実行アドレススタック領域(15)・・・スタックビ
ジーフラグ (16)・・・レジスタ (17)・・・プログ
ラム壓1図
は従来のプログラムデバッグ装置を示すブロック図であ
る。 (11)・・・主メモリ (12)・・・CP
U(13)・・・命令コードスタック領域〈14)・・
・実行アドレススタック領域(15)・・・スタックビ
ジーフラグ (16)・・・レジスタ (17)・・・プログ
ラム壓1図
Claims (4)
- (1)主メモリと、CPUと、このCPUで実行される
命令を含むプログラムと、前記主メモリ上に設けられ、
前記CPUで実行される命令を逐次スタックするための
命令トレース機構とを備えたことを特徴とするプログラ
ムデバッグ装置。 - (2)命令トレース機構は、CPUで実行される命令の
命令コードをスタックする命令コードスタック領域と、
前記命令の実行アドレスをスタックする実行アドレスス
タック領域と、前記命令コードスタック領域及び前記実
行アドレススタック領域が満杯になったときに立ち上が
るスタックビジーフラグからなることを特徴とする特許
請求の範囲第1項記載のプログラムデバッグ装置。 - (3)命令コードスタック領域及び実行アドレススタッ
ク領域はそれぞれ2つ設けられ、命令トレースをダブル
バッファリングで行うことを特徴とする特許請求の範囲
第2項記載のプログラムデバッグ装置。 - (4)トレースを取りたい領域をプログラム内に指定す
るためのレジスタを一対設けたことを特徴とする特許請
求の範囲第1項乃至第3項のいずれかに記載のプログラ
ムデバッグ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61007890A JPS62166444A (ja) | 1986-01-20 | 1986-01-20 | プログラムデバツグ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61007890A JPS62166444A (ja) | 1986-01-20 | 1986-01-20 | プログラムデバツグ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS62166444A true JPS62166444A (ja) | 1987-07-22 |
Family
ID=11678178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61007890A Pending JPS62166444A (ja) | 1986-01-20 | 1986-01-20 | プログラムデバツグ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS62166444A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1994027213A2 (en) * | 1993-05-10 | 1994-11-24 | Shapiro Benjamin V | Method for minimizing uncertainty in computer software processes allowing for automatic identification of faults locations and locations for modifications due to new system requirements with introduction of an alternative form of the target process object code allowing for less recompilation and re-linkage processing |
-
1986
- 1986-01-20 JP JP61007890A patent/JPS62166444A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1994027213A2 (en) * | 1993-05-10 | 1994-11-24 | Shapiro Benjamin V | Method for minimizing uncertainty in computer software processes allowing for automatic identification of faults locations and locations for modifications due to new system requirements with introduction of an alternative form of the target process object code allowing for less recompilation and re-linkage processing |
WO1994027213A3 (en) * | 1993-05-10 | 1995-01-05 | Benjamin V Shapiro | Method for minimizing uncertainty in computer software processes allowing for automatic identification of faults locations and locations for modifications due to new system requirements with introduction of an alternative form of the target process object code allowing for less recompilation and re-linkage processing |
US5522036A (en) * | 1993-05-10 | 1996-05-28 | Benjamin V. Shapiro | Method and apparatus for the automatic analysis of computer software |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS62166444A (ja) | プログラムデバツグ装置 | |
JP2659366B2 (ja) | デバッグ方法及びその装置 | |
JPH1165884A (ja) | マイクロコンピュータ及びそのデバッグ方法 | |
JPS62133533A (ja) | 電子計算機システムにおけるosの切換方式 | |
JPS62219032A (ja) | 初期診断方式 | |
JPH0232651B2 (ja) | ||
JPS61180344A (ja) | 高級言語のステツプ実行システム | |
KR100243814B1 (ko) | 에물레이터를 이용한 프로토콜 시뮬레이터 | |
JP3104684B2 (ja) | デバッグ方法 | |
JPS63635A (ja) | Svcモ−ドで動作するモジユ−ルの作成方法 | |
JPH04266126A (ja) | サブルーチンコール制御方式 | |
JPH02300943A (ja) | デバッグサポート方式 | |
JPS6214240A (ja) | プログラム検査方式 | |
JPH0816431A (ja) | 利用者プログラムのデバッグ処理システム | |
JPH0433135A (ja) | プログラムのデバッグ方式 | |
JPS58113149U (ja) | 電子計算機の処理装置 | |
JPH05241896A (ja) | ソフトウェアデバッグ装置 | |
JPS62290942A (ja) | デバツガ起動方式 | |
JPH01185733A (ja) | 入出力エミュレーション方式 | |
JPS61259342A (ja) | 仮想計算機システムにおける特権命令のシミユレ−シヨン方式 | |
JPH01320547A (ja) | プログラム実行情報の収集方式 | |
JPS6373336A (ja) | 特権プログラム呼出し方式 | |
JPH0772874B2 (ja) | 割込み受取り装置 | |
JPH06214828A (ja) | 対話型デバッグ制御装置 | |
JPH05204710A (ja) | イベントトレース装置 |