JPS59184955A - デバツグ装置 - Google Patents
デバツグ装置Info
- Publication number
- JPS59184955A JPS59184955A JP58060491A JP6049183A JPS59184955A JP S59184955 A JPS59184955 A JP S59184955A JP 58060491 A JP58060491 A JP 58060491A JP 6049183 A JP6049183 A JP 6049183A JP S59184955 A JPS59184955 A JP S59184955A
- Authority
- JP
- Japan
- Prior art keywords
- program
- circuit
- signal
- debugging
- return instruction
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
発明の背景
この発明は、ブ[1グラム中の誤りを見っけて必91+
;/i +’、、言9I゛これを直すためのデバッグ
装置に関りる。1 近11、ブ[1グラムの品質の向上を図るためにしジ1
−ラ・プログラミングと呼ばれるプロゲラl\のN’J
?:l、作成手法が多用されるようになってきた。従
来のプログラミングの手法は、プロゲラ11の開始から
終了まで数千スデツブもある、J、うイ1艮いプログラ
ムを一連のものとして作成lる0の(゛・ある。これに
対して新しいモジコーラ・−:/’L]グラミングはプ
ログラム全体をいくつかの論M]1的な小部分に分割し
、各部分を数十ステツブ程度のまとまりに[ジュール化
するものCある。ぞしてこれらのモジ1−ルは、第1図
に承りように階層的な構造に引立てられ、」−位にd5
るものを親、下位にあるものを子として親子関係を結ん
でいる。たとえば親モジコール・ブロクラムΔの実行中
に了モジュール・プログラム△1のCΔL1−命令があ
ると11−1グラムへ1にジャンプしてこのプログラム
Δ1が実行される。そしてブ[lグラム△1中のRE
T IJ RN余令によって親プログラムAに戻る。
;/i +’、、言9I゛これを直すためのデバッグ
装置に関りる。1 近11、ブ[1グラムの品質の向上を図るためにしジ1
−ラ・プログラミングと呼ばれるプロゲラl\のN’J
?:l、作成手法が多用されるようになってきた。従
来のプログラミングの手法は、プロゲラ11の開始から
終了まで数千スデツブもある、J、うイ1艮いプログラ
ムを一連のものとして作成lる0の(゛・ある。これに
対して新しいモジコーラ・−:/’L]グラミングはプ
ログラム全体をいくつかの論M]1的な小部分に分割し
、各部分を数十ステツブ程度のまとまりに[ジュール化
するものCある。ぞしてこれらのモジ1−ルは、第1図
に承りように階層的な構造に引立てられ、」−位にd5
るものを親、下位にあるものを子として親子関係を結ん
でいる。たとえば親モジコール・ブロクラムΔの実行中
に了モジュール・プログラム△1のCΔL1−命令があ
ると11−1グラムへ1にジャンプしてこのプログラム
Δ1が実行される。そしてブ[lグラム△1中のRE
T IJ RN余令によって親プログラムAに戻る。
ところで従来のデバッキングの一般的な手法は、デバッ
グ対象ブ〔1グラムの所望箇所にブレーク・ポイントを
あらかじめ設定し、この後このプログラムを実(幾(デ
バッグ対象ブ[1グラムを実行するためのc P Uを
含む装置)により実行させ、設定されたブレーク・ポイ
ントに至ったときにプログラムの実行を停止トさせ、こ
のときの実機のメモリやレジスタの内容をリード・ライ
トリ〜ることにより、命令やデータに誤りがあるかどう
かをチェックし、また必要ならばこれらを修正づ゛る、
というしのである。ブレーク・ポイン1−の設定はデパ
ック装協側で行なわれる。従来はデバッグ装置に、ブレ
ーク・ポイン[−(フレークずべきアドレス)をしツ]
〜りるための1ノジスタと、このレジスタにセットされ
たj′ド1ノスと実機のアドレス・バスに出ツノされる
j7ドレスとの一致をとる比較回路とを設置Jていた1
、イして比較回路から出力される一致13号に1.1、
−)で実機のCPUを停止させでいた。
グ対象ブ〔1グラムの所望箇所にブレーク・ポイントを
あらかじめ設定し、この後このプログラムを実(幾(デ
バッグ対象ブ[1グラムを実行するためのc P Uを
含む装置)により実行させ、設定されたブレーク・ポイ
ントに至ったときにプログラムの実行を停止トさせ、こ
のときの実機のメモリやレジスタの内容をリード・ライ
トリ〜ることにより、命令やデータに誤りがあるかどう
かをチェックし、また必要ならばこれらを修正づ゛る、
というしのである。ブレーク・ポイン1−の設定はデパ
ック装協側で行なわれる。従来はデバッグ装置に、ブレ
ーク・ポイン[−(フレークずべきアドレス)をしツ]
〜りるための1ノジスタと、このレジスタにセットされ
たj′ド1ノスと実機のアドレス・バスに出ツノされる
j7ドレスとの一致をとる比較回路とを設置Jていた1
、イして比較回路から出力される一致13号に1.1、
−)で実機のCPUを停止させでいた。
このようなデバッグ装置は、従来のモジコール化c”:
tU ’Uいない開始から終了まで一連に連続()I
Jステップからなるプロゲラ11のデバッキングにはり
「適ではあるが、1ニ述のようなモジコール・ブ[Iグ
ラミングにより作成されたブ【−1グラムの)“バッギ
ングに適用づると不便な点かあっIs 、たどえば゛子
モジュール・ブ[1グラムΔ1のl゛バツグ途中イれ以
降のステップを実行さぜ親モジュール・プログラム八に
戻したいとぎには、親ブ[1グラムΔのリターンづべき
アドレスをその都度上記レジスタに設定しなりればなら
ない。これ番よ、プログラムの構造の変化があるにもか
かわらずそれに対してデバッグ装置の改良がなされてい
ないからである。モジコーラ・プログラミング手法と同
様にデバッグ装置においても各モジコールを1個のまと
まりどして取扱うことが必要である。
tU ’Uいない開始から終了まで一連に連続()I
Jステップからなるプロゲラ11のデバッキングにはり
「適ではあるが、1ニ述のようなモジコール・ブ[Iグ
ラミングにより作成されたブ【−1グラムの)“バッギ
ングに適用づると不便な点かあっIs 、たどえば゛子
モジュール・ブ[1グラムΔ1のl゛バツグ途中イれ以
降のステップを実行さぜ親モジュール・プログラム八に
戻したいとぎには、親ブ[1グラムΔのリターンづべき
アドレスをその都度上記レジスタに設定しなりればなら
ない。これ番よ、プログラムの構造の変化があるにもか
かわらずそれに対してデバッグ装置の改良がなされてい
ないからである。モジコーラ・プログラミング手法と同
様にデバッグ装置においても各モジコールを1個のまと
まりどして取扱うことが必要である。
発明の要点
この発明は、モジューラ・プログラミングにより作成さ
れたプログラムのデバッキングに好適であって、とくに
子モジヨール・プ[1グラムから親モジ〕、−ル・プロ
グラムにきわめで容易に戻づことのできるデバッグ装置
を提供することを目的とする。
れたプログラムのデバッキングに好適であって、とくに
子モジヨール・プ[1グラムから親モジ〕、−ル・プロ
グラムにきわめで容易に戻づことのできるデバッグ装置
を提供することを目的とする。
この発明によるデバッグ装ff’5’は、リターン命令
を検出りる手段、実機のCP Uに1111グラlオを
実?1”さU゛るための信号を入力しかつリターン命令
検出までこれを記憶する手段、およびこの記憶1段に記
憶されている信号に応じて上記CI”) tlのfログ
ラム実行、停止を制ill ?j−る手段、を備え(い
ることを特徴とする。
を検出りる手段、実機のCP Uに1111グラlオを
実?1”さU゛るための信号を入力しかつリターン命令
検出までこれを記憶する手段、およびこの記憶1段に記
憶されている信号に応じて上記CI”) tlのfログ
ラム実行、停止を制ill ?j−る手段、を備え(い
ることを特徴とする。
し1.−がって、子モジュール・プログラムのデバッグ
途中でそれ以降の子ブ1」グラムを実行さt!♀(Jブ
1」グラムに戻したい場合には、従来のよ゛う(、−親
プログラムのアドレスをその都l′11設定づる必9シ
はなく、゛単に子プログラムの実(うを開始さl!るだ
IJ ′c自勅的にリターン命令が検出された1、+r
点て・ゾ【1グラムの実tjが(?止されるので、きわ
めて筒中に親プログラムに戻づことができる。
途中でそれ以降の子ブ1」グラムを実行さt!♀(Jブ
1」グラムに戻したい場合には、従来のよ゛う(、−親
プログラムのアドレスをその都l′11設定づる必9シ
はなく、゛単に子プログラムの実(うを開始さl!るだ
IJ ′c自勅的にリターン命令が検出された1、+r
点て・ゾ【1グラムの実tjが(?止されるので、きわ
めて筒中に親プログラムに戻づことができる。
実施例の説明
第2図において、デバッグ対象プロ、グラムを実行する
実機にはCPU (1)がある。CPU(1)からはア
ドレスバス、データバスおよびコン1へロールバスが引
出されでいる。デバッグ装置にもまたデバッキングを行
なうためのCI〕U(図示18)が備えられ−Cいる。
実機にはCPU (1)がある。CPU(1)からはア
ドレスバス、データバスおよびコン1へロールバスが引
出されでいる。デバッグ装置にもまたデバッキングを行
なうためのCI〕U(図示18)が備えられ−Cいる。
デバッグ装置において、コントロール回路(2)にはC
PU(1)のコン1−ロール信号がパノノしている。こ
のコントロール回路(2)は、CPU(1)の実行く開
始)l113よび停止(RUN/5TOP)の同期信号
を作成するものである。この同期信号は、ステップ実行
回路(3)、ブレーク・ポイント検出回路(4) J3
よびAND回路(14)に入力する。ステップ実行回路
(3)は、ステップ(S T E P )キー(8)か
らのスーツツブ実行要求信号およびノリツブ70ツブ(
6)からの停止要求信号にもとづいてCPLJ(1)の
実行および停止を制御するものである。ステップキー(
8)が押されると実行回路(3)に実す要求信号が入力
するのでCPU(1)のプログラム実行が一〇は行なわ
れるが、この実行要求信号はOR回路(11)を経てフ
リップフロップ(6)をセラ1〜づるので、このフリッ
プフロップ(6〉から停止り要求信号が実行回路(3)
に入力し、CPU(1)の動作を停]1さけるために、
CPU(1)は1命令の実行のみを行なう。ラン< R
u N’ >キー(9)は、停+lyしているCPU
(1)の動作を開始さけプ[]グラムを実行さけ゛るも
のである。づなわちラン4−(9)からの実行信8はO
R回路(12)t IFT ”Cフリップフロップ(6
)をリセットづるので、このフリップフロップ(6)′
b日らの停止要求信号がオフされ、ステップ実行回路(
ご3)によってCPU(1’)のプログラム実行が開始
される。
PU(1)のコン1−ロール信号がパノノしている。こ
のコントロール回路(2)は、CPU(1)の実行く開
始)l113よび停止(RUN/5TOP)の同期信号
を作成するものである。この同期信号は、ステップ実行
回路(3)、ブレーク・ポイント検出回路(4) J3
よびAND回路(14)に入力する。ステップ実行回路
(3)は、ステップ(S T E P )キー(8)か
らのスーツツブ実行要求信号およびノリツブ70ツブ(
6)からの停止要求信号にもとづいてCPLJ(1)の
実行および停止を制御するものである。ステップキー(
8)が押されると実行回路(3)に実す要求信号が入力
するのでCPU(1)のプログラム実行が一〇は行なわ
れるが、この実行要求信号はOR回路(11)を経てフ
リップフロップ(6)をセラ1〜づるので、このフリッ
プフロップ(6〉から停止り要求信号が実行回路(3)
に入力し、CPU(1)の動作を停]1さけるために、
CPU(1)は1命令の実行のみを行なう。ラン< R
u N’ >キー(9)は、停+lyしているCPU
(1)の動作を開始さけプ[]グラムを実行さけ゛るも
のである。づなわちラン4−(9)からの実行信8はO
R回路(12)t IFT ”Cフリップフロップ(6
)をリセットづるので、このフリップフロップ(6)′
b日らの停止要求信号がオフされ、ステップ実行回路(
ご3)によってCPU(1’)のプログラム実行が開始
される。
ブレーク・ポイン1〜検出回路(4)は、ブレーク(停
止)させるべきアドレスを設定し、CI)U(1)がデ
バッグ対象プログラムを実行中に実行または参照したア
ドレスがこの設定アドレスと一致したときに、ブレーク
・ポイント検出信号を出力するものであり、従来から利
用されている回路である。この回路(/I)は、たどえ
ばブレークさせるべきアドレスを設定するレジスタと、
比較回路とからなり、比較回路は、レジスタに設定され
たアドレスどCPU (1)のアドレスバスから入力す
るアドレスとが一致したとぎにブレーク・ポイント検出
信号を出力づる。この検出信号はOR回路(11)を経
てフリツノノ「1ツブ(6)をセットするので、停止要
求信号シによってC1)U(1>が停止づる。
止)させるべきアドレスを設定し、CI)U(1)がデ
バッグ対象プログラムを実行中に実行または参照したア
ドレスがこの設定アドレスと一致したときに、ブレーク
・ポイント検出信号を出力するものであり、従来から利
用されている回路である。この回路(/I)は、たどえ
ばブレークさせるべきアドレスを設定するレジスタと、
比較回路とからなり、比較回路は、レジスタに設定され
たアドレスどCPU (1)のアドレスバスから入力す
るアドレスとが一致したとぎにブレーク・ポイント検出
信号を出力づる。この検出信号はOR回路(11)を経
てフリツノノ「1ツブ(6)をセットするので、停止要
求信号シによってC1)U(1>が停止づる。
)−1−ダ(5)はRETURN(リターン)命令を検
出するためのものであり、その入力側に+、、t、 C
P LJ (1)のデータバスが接続されている。、−
j (Go)キ (10)GtR[E’rURN命令
検11冒1、でCPU(1)をラン(実行)さけるた+
V)の6のである。CPU(1)が停止している状態(
・イーキー(10)が押されると、その信シー3は01
2回路(12)を経てノリツブフロップ(6)をリセッ
トするので停止状態が解除されCPU(1)はプログラ
ム実行を開始する。また−r−=′I−(10)からの
(5、Qによりフリップフロツノ(7)がセラ1−され
、このフリップフロツノ°(7)のセット出力によって
A N l)回路(13)のグー1〜が開かれた状態と
なる。c p u(1)のプログラム実行により、この
プログラムにしたがってデータバス上に実行命令や参照
データが瑣われる。データバス上にRETURN命令が
あるどこれがデコーダ(5)によって検出され、デコー
ダの検出用ツノはフ1ツヂ1ナイクル信号のタイミング
でA N [)回路(14)を通過し、ADN回路(1
3)のゲートは既(J開いているからこの回路(13)
を通り、さらにOR回路(11)を経てフリップ70ツ
ブ(6)をじツ[−するので、フリップフ[」ツブ(6
)から(亭+に要求信号が出力され、実行回路(3)に
よってCPU(1)は実行状態から停止状態に切換えら
れる。このときのアドレスは適当なタイミング信号によ
ってブレーク・ポイント検出回路(4)に一時記憶させ
ることができるので、どこで(づなわちどの−ノアドレ
スで)RFTURN命令が発生したかを知ることができ
る。
出するためのものであり、その入力側に+、、t、 C
P LJ (1)のデータバスが接続されている。、−
j (Go)キ (10)GtR[E’rURN命令
検11冒1、でCPU(1)をラン(実行)さけるた+
V)の6のである。CPU(1)が停止している状態(
・イーキー(10)が押されると、その信シー3は01
2回路(12)を経てノリツブフロップ(6)をリセッ
トするので停止状態が解除されCPU(1)はプログラ
ム実行を開始する。また−r−=′I−(10)からの
(5、Qによりフリップフロツノ(7)がセラ1−され
、このフリップフロツノ°(7)のセット出力によって
A N l)回路(13)のグー1〜が開かれた状態と
なる。c p u(1)のプログラム実行により、この
プログラムにしたがってデータバス上に実行命令や参照
データが瑣われる。データバス上にRETURN命令が
あるどこれがデコーダ(5)によって検出され、デコー
ダの検出用ツノはフ1ツヂ1ナイクル信号のタイミング
でA N [)回路(14)を通過し、ADN回路(1
3)のゲートは既(J開いているからこの回路(13)
を通り、さらにOR回路(11)を経てフリップ70ツ
ブ(6)をじツ[−するので、フリップフ[」ツブ(6
)から(亭+に要求信号が出力され、実行回路(3)に
よってCPU(1)は実行状態から停止状態に切換えら
れる。このときのアドレスは適当なタイミング信号によ
ってブレーク・ポイント検出回路(4)に一時記憶させ
ることができるので、どこで(づなわちどの−ノアドレ
スで)RFTURN命令が発生したかを知ることができ
る。
このようにして、ゴーキー(10)を操作するごとにR
IE T U RN命令の発生時点でブレークを生じさ
せることができる。丈なわら、4ノブルーヂン(子モジ
コール・ブ【−1グラム)のデバッグのためにCPU(
1)を停止させたのら、それ以降のプログラムを実行さ
けて親モジコール・プロゲラ11まで戻したいとぎには
、ゴーキー(10)を押すだけでCPU(1)はりブル
ーヂンを実行し終了したところで停止する。したがって
従来のように、戻すべき親ブ[lグラムのアドレスをブ
レーク・ポイント検出回路(4)に設定りる必要は全く
ない。
IE T U RN命令の発生時点でブレークを生じさ
せることができる。丈なわら、4ノブルーヂン(子モジ
コール・ブ【−1グラム)のデバッグのためにCPU(
1)を停止させたのら、それ以降のプログラムを実行さ
けて親モジコール・プロゲラ11まで戻したいとぎには
、ゴーキー(10)を押すだけでCPU(1)はりブル
ーヂンを実行し終了したところで停止する。したがって
従来のように、戻すべき親ブ[lグラムのアドレスをブ
レーク・ポイント検出回路(4)に設定りる必要は全く
ない。
第1図はプ[1グラムの階層的M造を示す図、第2図は
この発明の実施例を示すもので、デバッグ装置のブロッ
ク図である。 (7〉・・・実機のCPLI、(3〉・・・スデッゾ実
行回路、(5)・・・リターン命令検出用デコーダ、(
6)・・・ノリツブフロップ、(10)・・・ゴー(G
(、)>、:l−。 以 上 外4名
この発明の実施例を示すもので、デバッグ装置のブロッ
ク図である。 (7〉・・・実機のCPLI、(3〉・・・スデッゾ実
行回路、(5)・・・リターン命令検出用デコーダ、(
6)・・・ノリツブフロップ、(10)・・・ゴー(G
(、)>、:l−。 以 上 外4名
Claims (1)
- 【特許請求の範囲】 リターン命令を検出する手段、 デバッグ対象プログラムを実行するCPUにプログラム
を実行さけ・るための信号を入力しかつリターン命令検
出までこれを記憶する手段、および この記憶手段に記憶され−Cいる信用に応じ文上記CP
Uのプログラム実行、停止を制御する手段、 を1翰えでいるデバッグ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58060491A JPS59184955A (ja) | 1983-04-05 | 1983-04-05 | デバツグ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58060491A JPS59184955A (ja) | 1983-04-05 | 1983-04-05 | デバツグ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS59184955A true JPS59184955A (ja) | 1984-10-20 |
Family
ID=13143802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP58060491A Pending JPS59184955A (ja) | 1983-04-05 | 1983-04-05 | デバツグ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS59184955A (ja) |
-
1983
- 1983-04-05 JP JP58060491A patent/JPS59184955A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3659272A (en) | Digital computer with a program-trace facility | |
JPH03204737A (ja) | 信号処理プロセッサのデバッグ回路 | |
JPS59184955A (ja) | デバツグ装置 | |
JPS61213936A (ja) | 高級言語プログラムのステツプ実行方式 | |
JPS5835648A (ja) | プログラム実行制御方式 | |
JPS59202548A (ja) | デバツグ装置 | |
JPH02181236A (ja) | デバッグ装置 | |
JPS62145426A (ja) | マイクロプログラム処理装置 | |
JPH07281924A (ja) | トレース装置及びこれを備えたエミュレータ | |
JPH03175539A (ja) | デバッグ用マイクロプロセッサ | |
JPH04367902A (ja) | プログラマブルコントローラ | |
JPS63111547A (ja) | メモリ制御方式 | |
JPH02103643A (ja) | デバッグ用割込発生回路 | |
JPS61240341A (ja) | マイクロプログラム制御装置 | |
JPH0635694A (ja) | マイクロプログラム走行停止制御装置及び方法 | |
JPS6393051A (ja) | マイクロプログラム制御装置 | |
JPH04107745A (ja) | インサーキット・エミュレータ | |
JPS6273340A (ja) | 中央処理装置 | |
JPS59186055A (ja) | デバツグ装置 | |
JPS6091458A (ja) | マイクロプロセツサのプログラムデバツグ装置 | |
JPS59202550A (ja) | デバツグ装置 | |
JPH05204710A (ja) | イベントトレース装置 | |
JPS63217433A (ja) | プログラム実行制御方式 | |
JPS61131045A (ja) | トレ−ス機能制御装置 | |
JPH04149736A (ja) | 中央処理装置におけるレジスタ書込制御方式 |