JPS6263345A - プログラム・デバツグ装置 - Google Patents
プログラム・デバツグ装置Info
- Publication number
- JPS6263345A JPS6263345A JP60202669A JP20266985A JPS6263345A JP S6263345 A JPS6263345 A JP S6263345A JP 60202669 A JP60202669 A JP 60202669A JP 20266985 A JP20266985 A JP 20266985A JP S6263345 A JPS6263345 A JP S6263345A
- Authority
- JP
- Japan
- Prior art keywords
- program
- address
- stop request
- arithmetic processing
- break
- 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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[発明の技術分野]
この発明は例えばマイクロコンピュータ等の演算処理装
置のプログラム開発を支援するプログラム開発支援装置
に係り、特にプログラムの実行と中断およびプログラム
の実行過程を調べるのに使用されるプログラム・デバッ
グ装置に関する。
置のプログラム開発を支援するプログラム開発支援装置
に係り、特にプログラムの実行と中断およびプログラム
の実行過程を調べるのに使用されるプログラム・デバッ
グ装置に関する。
[発明の技術的背景コ
マイクロコンピュータ等、演算処理装置のプログラム開
発は、エミュレーションCPUで実際のプログラムを実
行させ、エミュレーションCPtJが期待通りに動作す
るか否かを調べることにより行われている。そしてプロ
グラムに存在する欠陥部分くプログラムのバグ)は、こ
のプログラム実行過程で検出され、しかる後これを取り
除くようにしている。プログラムに存在するバグを検出
するためのデバッグ装置としては従来から種々のものが
知られている。このデバッグ装置は、プログラムの実行
機能として、−命令毎の実行機能および連続実行機能以
外にブレーク機能を持っている。
発は、エミュレーションCPUで実際のプログラムを実
行させ、エミュレーションCPtJが期待通りに動作す
るか否かを調べることにより行われている。そしてプロ
グラムに存在する欠陥部分くプログラムのバグ)は、こ
のプログラム実行過程で検出され、しかる後これを取り
除くようにしている。プログラムに存在するバグを検出
するためのデバッグ装置としては従来から種々のものが
知られている。このデバッグ装置は、プログラムの実行
機能として、−命令毎の実行機能および連続実行機能以
外にブレーク機能を持っている。
このブレーク機能とは、予め設定された条件が成立する
までプログラムを連続的に実行し、この条件が成立した
時にプログラムの実行を停止させるものである。このと
きのブレーク条件としては例えばアドレスとその通過回
数等がある。
までプログラムを連続的に実行し、この条件が成立した
時にプログラムの実行を停止させるものである。このと
きのブレーク条件としては例えばアドレスとその通過回
数等がある。
上記ブレーク機能を実現する従来のプログラム・デバッ
グ装置の構成を第2図のブロック図に示す。このような
装置において、デバッグすべきプログラムの実行前に、
デバッグ動作をIIJtllするコントロールCP L
J 31によりブレークアドレス設定回路32にブレー
クアドレスが、バスカウント設定回路33にこのブレー
クアドレスの通過回数がそれぞれ設定される。その後、
コントロールCP U 31から、プログラムの実行と
停止を制御するプログラム実行制御回路34に対してプ
ログラムの実行要求が出される。この要求が出されると
、プログラム実行制御回路34は、デバッグ対象となる
プログラムを実行するエミュレーションCPU35の動
作状態を検出する動作検出回路36からのタイミング信
号に基づいて、プログラムの実行開始を指示する。エミ
ュレーションCP U 35の動作開始後、アドレス比
較回路37では動作検出回路36からのタイミング信号
に応じて、アドレス・バス上の7ドレスと予めブレーク
アドレス設定回路32で設定されたブレークアドレスと
の比較が行われる。ここで両アドレスの一致が4東出さ
れると、一致信号がアドレス比較回路37からカウンタ
38に出力される。
グ装置の構成を第2図のブロック図に示す。このような
装置において、デバッグすべきプログラムの実行前に、
デバッグ動作をIIJtllするコントロールCP L
J 31によりブレークアドレス設定回路32にブレー
クアドレスが、バスカウント設定回路33にこのブレー
クアドレスの通過回数がそれぞれ設定される。その後、
コントロールCP U 31から、プログラムの実行と
停止を制御するプログラム実行制御回路34に対してプ
ログラムの実行要求が出される。この要求が出されると
、プログラム実行制御回路34は、デバッグ対象となる
プログラムを実行するエミュレーションCPU35の動
作状態を検出する動作検出回路36からのタイミング信
号に基づいて、プログラムの実行開始を指示する。エミ
ュレーションCP U 35の動作開始後、アドレス比
較回路37では動作検出回路36からのタイミング信号
に応じて、アドレス・バス上の7ドレスと予めブレーク
アドレス設定回路32で設定されたブレークアドレスと
の比較が行われる。ここで両アドレスの一致が4東出さ
れると、一致信号がアドレス比較回路37からカウンタ
38に出力される。
そして、このカウンタ38のカウント値が予めバスカウ
ント設定回路33で設定されたブレークアドレスの通過
回数に達すると、プログラムのブレーク条件が成立した
として、カウンタ38からプログラム実行制御回路34
に対してブレーク要求が出力される。プログラム実行制
御回路34はこのブレーク要求が供給されると上記エミ
ュレーションCPU35の動作を停止させる。このよう
にして、予め設定されたブレーク条件が成立することに
より、エミュレーションCP Ll 35の動作がプロ
グラム実行の途中で中断されるものである。
ント設定回路33で設定されたブレークアドレスの通過
回数に達すると、プログラムのブレーク条件が成立した
として、カウンタ38からプログラム実行制御回路34
に対してブレーク要求が出力される。プログラム実行制
御回路34はこのブレーク要求が供給されると上記エミ
ュレーションCPU35の動作を停止させる。このよう
にして、予め設定されたブレーク条件が成立することに
より、エミュレーションCP Ll 35の動作がプロ
グラム実行の途中で中断されるものである。
なお、第2図において、39はアドレス・バス、40は
データ・バス、41はコントロール・バスである。
データ・バス、41はコントロール・バスである。
[背景技術の問題点コ
従来のプログラム・デバッグ装置では、設定アドレスが
設定された回数だけ通過してブレーク条件が成立すると
プログラムの実行が停止される。
設定された回数だけ通過してブレーク条件が成立すると
プログラムの実行が停止される。
このようなブレーク方式では、デバッグ対象となるプロ
グラムがハードウェアや時間に関係しない言語処理や計
算処理等の場合には問題とはならない。ところが、ハー
ドウェアを制御する制御プログラムをデバッグする場合
等に問題が発生する。
グラムがハードウェアや時間に関係しない言語処理や計
算処理等の場合には問題とはならない。ところが、ハー
ドウェアを制御する制御プログラムをデバッグする場合
等に問題が発生する。
例えば、ガスのバルブの開閉を制御する制御プログラム
をデバッグする際に、バルブを開いた時点をブレーク条
件にして実行させると、バルブが開かれた点で制御が停
止し、この後、ガスが流出したままの状態になってしま
う。このような場合にはプログラムを調べるところでは
なくなる。従って、従来の装置ではこのような時点をブ
レーク条件にすることはできない。そこでバルブが開か
れ、次に閉じられる点のアドレスをブレークアドレスと
して指定してブレーク動作を行なわせると、実際にバル
ブが開かれる時点を通過したかどうか不明確になってし
まう。
をデバッグする際に、バルブを開いた時点をブレーク条
件にして実行させると、バルブが開かれた点で制御が停
止し、この後、ガスが流出したままの状態になってしま
う。このような場合にはプログラムを調べるところでは
なくなる。従って、従来の装置ではこのような時点をブ
レーク条件にすることはできない。そこでバルブが開か
れ、次に閉じられる点のアドレスをブレークアドレスと
して指定してブレーク動作を行なわせると、実際にバル
ブが開かれる時点を通過したかどうか不明確になってし
まう。
このように従来装置ではブレークアドレスとして指定で
きないところが発生し、このためプログラム・デバッグ
の効率が低下するという欠点がある。
きないところが発生し、このためプログラム・デバッグ
の効率が低下するという欠点がある。
、さらにブレーク条件が成立してプログラムの実行がい
ったん停止し、その続きを実行する場合、中断した時点
からプログラムを再開したときと、中断せずにそのまま
連続して°実行を行なうときとで動作が同じにならない
ことがある。これは停止しているときに状態が変化する
からである。従って、ブレーク条件に基づいてプログラ
ムの実行を停止させることによりデバッグを行なう方式
では正規の動作状態を確認することができなくなるとい
う欠点がある。
ったん停止し、その続きを実行する場合、中断した時点
からプログラムを再開したときと、中断せずにそのまま
連続して°実行を行なうときとで動作が同じにならない
ことがある。これは停止しているときに状態が変化する
からである。従って、ブレーク条件に基づいてプログラ
ムの実行を停止させることによりデバッグを行なう方式
では正規の動作状態を確認することができなくなるとい
う欠点がある。
[発明の目的]
この発明は上記のような事情を考慮してなされたもので
ありその目的は、ブレークアドレスとして指定できない
ところがなく、従ってプログラム・デバッグの効率を向
上させることができ、かつ正規の動作状態を確認するこ
とができるプログラム・デバッグ装置を提供することに
ある。
ありその目的は、ブレークアドレスとして指定できない
ところがなく、従ってプログラム・デバッグの効率を向
上させることができ、かつ正規の動作状態を確認するこ
とができるプログラム・デバッグ装置を提供することに
ある。
[発明の概要コ
上記目的を達成するためこの発明にあっては、デバッグ
すべきプログラムを実行する演算処理手段の動作をプロ
グラム実行制御手段により制御し、上記プログラムの実
行を中断させる点のアドレスを中断アドレス設定手段で
設定し、アドレス比較手段により上記演算処理手段の動
作アドレスと上記中断アドレス設定手段の設定アドレス
とを比較してその一致検出を行ない、さらに停止要求遅
延手段により上記アドレス比較手段における上記両アド
レスの一致検出回数を計数しその計数値が予め設定され
た値に達した際に停止要求を発生するようにし、さらに
停止要求遅延手段により上記停止要求遅延手段で発生さ
れる停止要求を所定期間遅延して上記プログラム実行制
御手段に供給し、これによって演算処理手段の動作を停
止させるよう、にしている。
すべきプログラムを実行する演算処理手段の動作をプロ
グラム実行制御手段により制御し、上記プログラムの実
行を中断させる点のアドレスを中断アドレス設定手段で
設定し、アドレス比較手段により上記演算処理手段の動
作アドレスと上記中断アドレス設定手段の設定アドレス
とを比較してその一致検出を行ない、さらに停止要求遅
延手段により上記アドレス比較手段における上記両アド
レスの一致検出回数を計数しその計数値が予め設定され
た値に達した際に停止要求を発生するようにし、さらに
停止要求遅延手段により上記停止要求遅延手段で発生さ
れる停止要求を所定期間遅延して上記プログラム実行制
御手段に供給し、これによって演算処理手段の動作を停
止させるよう、にしている。
またこの発明にあっては、デバッグすべきプログラムを
実行する演算処理手段の動作状態に対応した情報を格納
する記憶手段を設け、この記憶手段に記憶された情報を
後に読み出すことにより、正規の動作状態が確認できる
ようにしている。
実行する演算処理手段の動作状態に対応した情報を格納
する記憶手段を設け、この記憶手段に記憶された情報を
後に読み出すことにより、正規の動作状態が確認できる
ようにしている。
[発明の実施例j 。
以下、図面を参照してこの発明の一実施例を説明する。
第1図はこの発明に係るプログラム・デバッグ装置の一
実施例の構成を示すブロック図である。
実施例の構成を示すブロック図である。
この実施例回路は、デバッグすべきプログラムを実行す
るエミュレーションCP U 11、このエミュレーシ
ョンCP U 11と結合されたアドレス・バス12、
データ・バス13およびコントロール・バス14、予め
ブレークアドレスが設定されるブレークアドレス設定回
路15、予め上記ブレークアドレスの通過回数が設定さ
れるバスカウント設定回路16、上記エミュレーション
CP U 11におけるプログラムの実行と停止を制御
するプログラム実行制御回路17、上記コントロール・
バス14に結合されこのバス14上の情報に基づいて上
記エミュレーションCPU11の動作状態を検出する動
作状態検出回路18、上記アドレス・バス12上のアド
レスと上記プレークアドレス設定回路15で設定された
ブレークアドレスとを比較し、両アドレスの一致検出を
行なうアドレス比較回路19、上記アドレス比較回路1
9における一致検出出力をカウントし、このカウント値
が上記パスカウント設定回路16における設定値に達し
たならばブレーク条件成立信号を発生するバスカウンタ
20、ディレー用のクロックを発生するディレークロッ
ク発生回路21、予めカウント数が設定されるディレー
カウント設定回路22、上記バスカウンタ20で発生さ
れるブレーク条件成立信号がカウント開始制御信号とし
て供給され、この開始制御信号に基づいて上記ディレー
用クロックをカウントし、このカウント値が上記ディレ
ーカウント設定回路22で設定された値に達した際にデ
ィレーカウントの終了信号を発生するディレーカウンタ
23、上記アドレス・バス12、データ・バス13およ
びコントロール・バス14に結合され、上記エミュレー
ションCPIJ11の動作状態に対応した情報を格納す
るトレースメモリ24、このトレースメモリ24におけ
る情報の書込み、読みだし動作を制御するトレースメモ
リ制御回路25、全体の動作を制御するコントロールC
P U 26等で構成されている。
るエミュレーションCP U 11、このエミュレーシ
ョンCP U 11と結合されたアドレス・バス12、
データ・バス13およびコントロール・バス14、予め
ブレークアドレスが設定されるブレークアドレス設定回
路15、予め上記ブレークアドレスの通過回数が設定さ
れるバスカウント設定回路16、上記エミュレーション
CP U 11におけるプログラムの実行と停止を制御
するプログラム実行制御回路17、上記コントロール・
バス14に結合されこのバス14上の情報に基づいて上
記エミュレーションCPU11の動作状態を検出する動
作状態検出回路18、上記アドレス・バス12上のアド
レスと上記プレークアドレス設定回路15で設定された
ブレークアドレスとを比較し、両アドレスの一致検出を
行なうアドレス比較回路19、上記アドレス比較回路1
9における一致検出出力をカウントし、このカウント値
が上記パスカウント設定回路16における設定値に達し
たならばブレーク条件成立信号を発生するバスカウンタ
20、ディレー用のクロックを発生するディレークロッ
ク発生回路21、予めカウント数が設定されるディレー
カウント設定回路22、上記バスカウンタ20で発生さ
れるブレーク条件成立信号がカウント開始制御信号とし
て供給され、この開始制御信号に基づいて上記ディレー
用クロックをカウントし、このカウント値が上記ディレ
ーカウント設定回路22で設定された値に達した際にデ
ィレーカウントの終了信号を発生するディレーカウンタ
23、上記アドレス・バス12、データ・バス13およ
びコントロール・バス14に結合され、上記エミュレー
ションCPIJ11の動作状態に対応した情報を格納す
るトレースメモリ24、このトレースメモリ24におけ
る情報の書込み、読みだし動作を制御するトレースメモ
リ制御回路25、全体の動作を制御するコントロールC
P U 26等で構成されている。
、上記コントロールCP U 26は、予め用意された
デバッグ制御プログラムに従って種々の条件設定を行な
ったり、エミュレーションCP tJ 11に対してデ
バッグ対象となるプログラムを実行させたりする。上記
動作状態検出回路18は、エミュレーションCPU11
のクロックや動作状態を現わすステータス、図示しない
メモリや入出力回路(Ilo>に対する信号等が伝達さ
れるコントロール・バス14上の情報からエミュレーシ
ョンCP U 11の動作状態を検出し、プログラム実
行制御回路17に対してプログラムの7エツチサイクル
に対応したタイミング信号を供給する。また、アドレス
比較回路19に対してはアドレス・バス12上の情報を
供給し、ディレークロック発生回路21に対してはエミ
ュレーションc p u iiの動作クロックやCPU
11のフェッチサイクルに対応したタイミング信号を供
給する。上記ディレークロツタ発生回路21は、例え°
ば1μs、1mS等の周期のクロックを形成し、さらに
コントロールCP LJ 26からの設定に従って、動
作状態検出回路18で検出されるエミュレーションCP
U 11の動作クロックや形成した種々の周期のりO
ツクの中から指定されたクロックをディレーカウンタ2
3に供給する。
デバッグ制御プログラムに従って種々の条件設定を行な
ったり、エミュレーションCP tJ 11に対してデ
バッグ対象となるプログラムを実行させたりする。上記
動作状態検出回路18は、エミュレーションCPU11
のクロックや動作状態を現わすステータス、図示しない
メモリや入出力回路(Ilo>に対する信号等が伝達さ
れるコントロール・バス14上の情報からエミュレーシ
ョンCP U 11の動作状態を検出し、プログラム実
行制御回路17に対してプログラムの7エツチサイクル
に対応したタイミング信号を供給する。また、アドレス
比較回路19に対してはアドレス・バス12上の情報を
供給し、ディレークロック発生回路21に対してはエミ
ュレーションc p u iiの動作クロックやCPU
11のフェッチサイクルに対応したタイミング信号を供
給する。上記ディレークロツタ発生回路21は、例え°
ば1μs、1mS等の周期のクロックを形成し、さらに
コントロールCP LJ 26からの設定に従って、動
作状態検出回路18で検出されるエミュレーションCP
U 11の動作クロックや形成した種々の周期のりO
ツクの中から指定されたクロックをディレーカウンタ2
3に供給する。
次に上記のような構成の回路の動作を説明する。
ブレーク動作を行な゛わせる時、まずコントロールCP
U 26がデバッグ対象となるプログラムをエミュレ
ーションCP U 11に実行させる前に、ブレークア
ドレス設定回路15におけるブレークアドレス、バスカ
ウント設定回路16におけるブレークアドレスの通過回
数およびディレーカウント設定回路22のカウント数を
それぞれ設定する。
U 26がデバッグ対象となるプログラムをエミュレ
ーションCP U 11に実行させる前に、ブレークア
ドレス設定回路15におけるブレークアドレス、バスカ
ウント設定回路16におけるブレークアドレスの通過回
数およびディレーカウント設定回路22のカウント数を
それぞれ設定する。
その後、コントロールCP Ll 26は、プログラム
実行制御回路17に対し、ブレーク条件が成立したら直
ちにエミュレーションCP U 11の動作を停止させ
るか、もしくはブレーク条件が成立しディレーカウンタ
23の出力が成立してからエミュレーションCP U
11の動作を停止させるかを設定してがら、デバッグ対
象プログラムの実行開始を要求する。この要求に基づき
プログラム実行制御回路17は動作状態検出回路18で
検出されるフェッチサイクルのタイミング信号に同期し
て、エミュレーションcpuitにデバッグ対象となる
プログラムを実行させる。これと同時に70グラム実行
制御回路17は、トレースメモリ制御回路25に対して
プログラム実行状態信号をプログラム実行状態に設定す
る。この後、エミュレーションCP Ll 11はプロ
グラムを順次実行していく。
実行制御回路17に対し、ブレーク条件が成立したら直
ちにエミュレーションCP U 11の動作を停止させ
るか、もしくはブレーク条件が成立しディレーカウンタ
23の出力が成立してからエミュレーションCP U
11の動作を停止させるかを設定してがら、デバッグ対
象プログラムの実行開始を要求する。この要求に基づき
プログラム実行制御回路17は動作状態検出回路18で
検出されるフェッチサイクルのタイミング信号に同期し
て、エミュレーションcpuitにデバッグ対象となる
プログラムを実行させる。これと同時に70グラム実行
制御回路17は、トレースメモリ制御回路25に対して
プログラム実行状態信号をプログラム実行状態に設定す
る。この後、エミュレーションCP Ll 11はプロ
グラムを順次実行していく。
プログラムの実行時、アドレス比較回路19は、ブレー
クアドレス設定回路15の設定アドレスと動作状態検出
回路18で検出されるアドレスが同じであり、ブレーク
アドレス設定回路15の設定アドレスとアドレス・バス
12上のアドレスとが一致する毎に、パスカウンタ20
に対して一致信号を出力する。バスカウンタ20は、ア
ドレス比較回路19からの一致信号をカウントし、カウ
ント値がパスカウント設定回路16における設定値に達
した時、ブレーク条件成立信号、すなわちブレーク要求
を出力する。さらにディレーカウンタ23は、バスカウ
ンタ20からのブレーク条件成立信号に基づき、ディレ
ークロック発生回路21からのクロックのカウントを開
始する。そしてこのディレーカウンタ23のカウント値
がディレーカウント設定回路22の設定値に達した時、
ディレーカウンタ23はプログラム実行制御回路17に
対してディレーカウントの終了信号を出力する。この終
了信号は上記パスカウンタ20から出力されたブレーク
要求を所定期間だけ遅延したものになっている。
クアドレス設定回路15の設定アドレスと動作状態検出
回路18で検出されるアドレスが同じであり、ブレーク
アドレス設定回路15の設定アドレスとアドレス・バス
12上のアドレスとが一致する毎に、パスカウンタ20
に対して一致信号を出力する。バスカウンタ20は、ア
ドレス比較回路19からの一致信号をカウントし、カウ
ント値がパスカウント設定回路16における設定値に達
した時、ブレーク条件成立信号、すなわちブレーク要求
を出力する。さらにディレーカウンタ23は、バスカウ
ンタ20からのブレーク条件成立信号に基づき、ディレ
ークロック発生回路21からのクロックのカウントを開
始する。そしてこのディレーカウンタ23のカウント値
がディレーカウント設定回路22の設定値に達した時、
ディレーカウンタ23はプログラム実行制御回路17に
対してディレーカウントの終了信号を出力する。この終
了信号は上記パスカウンタ20から出力されたブレーク
要求を所定期間だけ遅延したものになっている。
ここで予めプログラム実行制御回路17ではディレーカ
ウンタ23の出力が成立してからエミュレーションCP
U11のプログラム実行動作を停止させるように設定さ
れている場合、プログラム実行制御回路17はこのディ
レーカウンタ23からの終了信号を受けた後に、エミュ
レーションCP Ll 11のプログラム実行動作を停
止させる。さらにプログラム実行制御回路17はトレー
スメモリ制御回路25に対するプログラム実行状態信号
を停止状態に設定する。これにより、エミュレーション
c p u iiの動作は、実際にブレークアドレス設
定回路15およびバスカウント設定回路16で設定され
たブレーク条件の成立直後に停止するのではなく、この
ブレ7り条件が成立しこの時点からディレーカウンタ2
3における遅延期間の後に停止する。従って、ブレーク
アドレスとして指定できない点がなくなり、プログラム
のデバッグの効率゛を向上させることができる。例えば
、従来装置で説明したように、ガスのバルブの開閉を制
御する制御プログラムをデバッグする際にバルブを開い
た時点をブレーク条件にして実行させると、従来ではバ
ルブが開かれた点で制御が停止し、この後、ガスが流出
したままの状態になるという不都合が生じた。ところが
、上記実施例装置の場合、同じブレーク条件を設定して
も、エミュレーションCP U 11の動作停止が、バ
ルブが開かれ、次に閉じられるアドレス以降となるよう
に、ディレーカウンタ23の遅延時間をディレーカウン
ト設定回路22の値、ディレークロツタ発生回路21で
発生するクロックの周期等の選択により設定しておけば
、バルブが閉じられた後にエミュレーションCP U
11の動作が停止する。しかもこの場合、バルブが開か
れた時点を通過することによりがブレーク条件が検・出
されるので、この後、エミュレーションc p u i
iの動作が停止すれば、バルブが開かれたアドレスを通
過したことが確認される。
ウンタ23の出力が成立してからエミュレーションCP
U11のプログラム実行動作を停止させるように設定さ
れている場合、プログラム実行制御回路17はこのディ
レーカウンタ23からの終了信号を受けた後に、エミュ
レーションCP Ll 11のプログラム実行動作を停
止させる。さらにプログラム実行制御回路17はトレー
スメモリ制御回路25に対するプログラム実行状態信号
を停止状態に設定する。これにより、エミュレーション
c p u iiの動作は、実際にブレークアドレス設
定回路15およびバスカウント設定回路16で設定され
たブレーク条件の成立直後に停止するのではなく、この
ブレ7り条件が成立しこの時点からディレーカウンタ2
3における遅延期間の後に停止する。従って、ブレーク
アドレスとして指定できない点がなくなり、プログラム
のデバッグの効率゛を向上させることができる。例えば
、従来装置で説明したように、ガスのバルブの開閉を制
御する制御プログラムをデバッグする際にバルブを開い
た時点をブレーク条件にして実行させると、従来ではバ
ルブが開かれた点で制御が停止し、この後、ガスが流出
したままの状態になるという不都合が生じた。ところが
、上記実施例装置の場合、同じブレーク条件を設定して
も、エミュレーションCP U 11の動作停止が、バ
ルブが開かれ、次に閉じられるアドレス以降となるよう
に、ディレーカウンタ23の遅延時間をディレーカウン
ト設定回路22の値、ディレークロツタ発生回路21で
発生するクロックの周期等の選択により設定しておけば
、バルブが閉じられた後にエミュレーションCP U
11の動作が停止する。しかもこの場合、バルブが開か
れた時点を通過することによりがブレーク条件が検・出
されるので、この後、エミュレーションc p u i
iの動作が停止すれば、バルブが開かれたアドレスを通
過したことが確認される。
他方、トレースメモリ副面回路25は、コントロールC
P U 26からの設定に従って、プログラム実行制御
回路17、動作状態検出回路18およびパスカウンタ2
0からの信号に基づき、トレースメモリ24の情報の書
込み、読みだしを制御する。トレースメモリ24は、ト
レースメモリ制御回路25からの書込み信号に従って、
エミュレーションCP U 11のアドレス・バス12
、データ・バス13、コントロール・バス14上情報お
よびブレーク条件成立状態信号の各信号状態を書込む。
P U 26からの設定に従って、プログラム実行制御
回路17、動作状態検出回路18およびパスカウンタ2
0からの信号に基づき、トレースメモリ24の情報の書
込み、読みだしを制御する。トレースメモリ24は、ト
レースメモリ制御回路25からの書込み信号に従って、
エミュレーションCP U 11のアドレス・バス12
、データ・バス13、コントロール・バス14上情報お
よびブレーク条件成立状態信号の各信号状態を書込む。
例えば、トレースメモリ制御回路25は、コントロール
CPU26からの設定に従って、パスカウンタ20から
のブレーク条件成立信号の出力時に情報の書込みを開始
させる。
CPU26からの設定に従って、パスカウンタ20から
のブレーク条件成立信号の出力時に情報の書込みを開始
させる。
このときの書込みタイミングは、動作状態検出回路18
からの情報により、プログラムのフェッチサイクルのみ
、またはデータリードおよびライトのタイミングが適宜
選択される。そしてディレーカウンタ23の出力の成立
時点に情報書込みが終了する。そして情報の書込み後は
コントロールCPU26からの読み出し要求に従って、
書込んだ情報をトレースメモリ24から出力させる。
からの情報により、プログラムのフェッチサイクルのみ
、またはデータリードおよびライトのタイミングが適宜
選択される。そしてディレーカウンタ23の出力の成立
時点に情報書込みが終了する。そして情報の書込み後は
コントロールCPU26からの読み出し要求に従って、
書込んだ情報をトレースメモリ24から出力させる。
このようにプログラムのブレーク条件成立時から実際に
プログラムが停止するまでのエミュレーションCP U
11のプログラムの実行過程をトレースメモリ24に
記憶させることにより、その後、記憶内容を読みだして
プログラムの実行過程を調べれば、問題の発生時にプロ
グラムに問題があるのかどうかを調べることができ、ま
たその問題も容易に解決することができる。
プログラムが停止するまでのエミュレーションCP U
11のプログラムの実行過程をトレースメモリ24に
記憶させることにより、その後、記憶内容を読みだして
プログラムの実行過程を調べれば、問題の発生時にプロ
グラムに問題があるのかどうかを調べることができ、ま
たその問題も容易に解決することができる。
さらにトレースメモリ24にブレーク条件の成立状態を
マークとして書込むことにより、プログラムがループし
ている場合でも、トレースメモリ24の記憶内容を読み
だしたときに、同一アドレスが複数箇所にあってもブレ
ーク条件が成立したところを容易に知ることができる。
マークとして書込むことにより、プログラムがループし
ている場合でも、トレースメモリ24の記憶内容を読み
だしたときに、同一アドレスが複数箇所にあってもブレ
ーク条件が成立したところを容易に知ることができる。
なお、この発明は上記実施例に限定されるものではなく
種々の変形が可能であることはいうまでもない。例えば
、トレースメモリ24では、バスカウンタ20からのブ
レーク条件成立信号の出力時に情報の書込みが開始され
、ディレーカウンタ23の出力の成立時点に情報の書込
みが終了する場合について説明したが、これはプログラ
ム実行状態信号がプログラム実行状態にされた後に情報
の書込みを開始し、バスカウンタ20からのブレーク条
件成立信号の出力時に情報の書込みが終了するように制
御するようにしてもよいし、あるいは情報の書込みの終
了はトレースメモリ24の記憶容量がいっばいになった
時点となるようにしてもよい。
種々の変形が可能であることはいうまでもない。例えば
、トレースメモリ24では、バスカウンタ20からのブ
レーク条件成立信号の出力時に情報の書込みが開始され
、ディレーカウンタ23の出力の成立時点に情報の書込
みが終了する場合について説明したが、これはプログラ
ム実行状態信号がプログラム実行状態にされた後に情報
の書込みを開始し、バスカウンタ20からのブレーク条
件成立信号の出力時に情報の書込みが終了するように制
御するようにしてもよいし、あるいは情報の書込みの終
了はトレースメモリ24の記憶容量がいっばいになった
時点となるようにしてもよい。
[発明の効果]
以上説明したようにこの発明によれば、ブレークアドレ
スとして指定できないとこ為がなく、従ってプログラム
・デバッグの効率を向上させることができ、かつ正規の
動作状態を確認することができるプログラム・デバッグ
装置を提供することができる。
スとして指定できないとこ為がなく、従ってプログラム
・デバッグの効率を向上させることができ、かつ正規の
動作状態を確認することができるプログラム・デバッグ
装置を提供することができる。
第1図はこの発明に係るプログラム・デバッグ装置の構
成を示すブロック図、第2図は従来装置のブロック図で
ある。 11・・・エミュレーションCPU、12・・・アドレ
ス・バス、13・・・データ・バス、14・・・コント
ロール・バス、15・・・ブレークアドレス設定回路、
16・・・バスカウント設定回路、17・・・プログラ
ム実行制御回路、18・・・動作状態検出回路、19・
・・アドレス比較回路、20・・・バスカウンタ、21
・・・ディレークロック発生回路、22・・・ディレー
カウント設定回路、23・・・ディレーカウンタ、24
・・・トレースメモリ、25・・・トレースメモリ制御
回路、26・・・コントロールcpu。 出願人代理人 弁理士 鈴江武彦 第1図 第2図
成を示すブロック図、第2図は従来装置のブロック図で
ある。 11・・・エミュレーションCPU、12・・・アドレ
ス・バス、13・・・データ・バス、14・・・コント
ロール・バス、15・・・ブレークアドレス設定回路、
16・・・バスカウント設定回路、17・・・プログラ
ム実行制御回路、18・・・動作状態検出回路、19・
・・アドレス比較回路、20・・・バスカウンタ、21
・・・ディレークロック発生回路、22・・・ディレー
カウント設定回路、23・・・ディレーカウンタ、24
・・・トレースメモリ、25・・・トレースメモリ制御
回路、26・・・コントロールcpu。 出願人代理人 弁理士 鈴江武彦 第1図 第2図
Claims (4)
- (1)デバッグすべきプログラムを実行する演算処理手
段と、上記演算処理手段のプログラム実行動作を制御す
るプログラム実行制御手段と、上記プログラムの実行を
中断させる点のアドレスを設定する中断アドレス設定手
段と、上記演算処理手段の動作アドレスと上記中断アド
レス設定手段の設定アドレスとを比較しその一致検出を
行なうアドレス比較手段と、上記アドレス比較手段にお
ける上記両アドレスの一致検出回数を計数しその計数値
が予め設定された値に達した際に停止要求を発生する停
止要求発生手段と、上記停止要求発生手段で発生される
停止要求を所定期間遅延して上記プログラム実行制御手
段に供給する停止要求遅延手段とを具備したことを特徴
とするプログラム・デバッグ装置。 - (2)デバッグすべきプログラムを実行する演算処理手
段と、上記演算処理手段のプログラム実行動作を制御す
るプログラム実行制御手段と、上記プログラムの実行を
中断させる点のアドレスを設定する中断アドレス設定手
段と、上記演算処理手段の動作アドレスと上記中断アド
レス設定手段の設定アドレスとを比較しその一致検出を
行なうアドレス比較手段と、上記アドレス比較手段にお
ける上記両アドレスの一致検出回数を計数しその計数値
が予め設定された値に達した際に停止要求を発生し上記
プログラム実行制御手段に供給する停止要求発生手段と
、上記停止要求に基づいて制御され上記演算処理手段の
動作状態に対応した情報を格納する記憶手段とを具備し
たことを特徴とするプログラム・デバッグ装置。 - (3)デバッグすべきプログラムを実行する演算処理手
段と、上記演算処理手段のプログラム実行動作を制御す
るプログラム実行制御手段と、上記プログラムの実行を
中断させる点のアドレスを設定する中断アドレス設定手
段と、上記演算処理手段の動作アドレスと上記中断アド
レス設定手段の設定アドレスとを比較しその一致検出を
行なうアドレス比較手段と、上記アドレス比較手段にお
ける上記両アドレスの一致検出回数を計数しその計数値
が予め設定された値に達した際に停止要求を発生する停
止要求発生手段と、上記停止要求発生手段で発生される
停止要求に基づいて制御され上記演算処理手段の動作状
態に対応した情報を格納する記憶手段と、上記停止要求
発生手段で発生される停止要求を所定期間遅延して上記
プログラム実行制御手段に供給する停止要求遅延手段と
を具備したことを特徴とするプログラム・デバッグ装置
。 - (4)前記演算処理手段の動作状態に対応した情報がア
ドレス・バス、データ・バスおよびコントロール・バス
上に伝達される情報である特許請求の範囲第2項および
第3項のいずれかに記載のプログラム・デバッグ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60202669A JPS6263345A (ja) | 1985-09-13 | 1985-09-13 | プログラム・デバツグ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60202669A JPS6263345A (ja) | 1985-09-13 | 1985-09-13 | プログラム・デバツグ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6263345A true JPS6263345A (ja) | 1987-03-20 |
JPH0436418B2 JPH0436418B2 (ja) | 1992-06-16 |
Family
ID=16461186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60202669A Granted JPS6263345A (ja) | 1985-09-13 | 1985-09-13 | プログラム・デバツグ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6263345A (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5469348A (en) * | 1977-11-15 | 1979-06-04 | Hitachi Denshi Ltd | Break point controlling system |
JPS573143A (en) * | 1980-06-05 | 1982-01-08 | Matsushita Electric Ind Co Ltd | Instruction prefetching system |
-
1985
- 1985-09-13 JP JP60202669A patent/JPS6263345A/ja active Granted
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5469348A (en) * | 1977-11-15 | 1979-06-04 | Hitachi Denshi Ltd | Break point controlling system |
JPS573143A (en) * | 1980-06-05 | 1982-01-08 | Matsushita Electric Ind Co Ltd | Instruction prefetching system |
Also Published As
Publication number | Publication date |
---|---|
JPH0436418B2 (ja) | 1992-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2982875B2 (ja) | スレーブ制御装置 | |
JP3397230B2 (ja) | デバッグシステム | |
US6877113B2 (en) | Break determining circuit for a debugging support unit in a semiconductor integrated circuit | |
US5930470A (en) | Debugging system and debugging method | |
JPS6263345A (ja) | プログラム・デバツグ装置 | |
JPH08171504A (ja) | エミュレ−ション装置 | |
JP2737645B2 (ja) | プログラム・デバッグ装置 | |
JP2754899B2 (ja) | デバック装置のリターンアドレス監視回路 | |
JPS6295644A (ja) | マイクロプロセッサ用プログラムデバッグ装置 | |
JPS60124746A (ja) | デ−タ処理装置 | |
JPH0573296A (ja) | マイクロコンピユータ | |
JPS59133655A (ja) | アドレス・ストツプ制御回路 | |
JPH09319592A (ja) | マイクロコンピュータ | |
JP2684966B2 (ja) | 入出力処理装置のデバッグ装置 | |
JP2575025B2 (ja) | インサ−キット・エミュレ−タ | |
JP2800577B2 (ja) | デバッグ装置 | |
JP3102381B2 (ja) | タスクデバッグ装置、タスクデバッグ方法及びその記録媒体 | |
JPS59202548A (ja) | デバツグ装置 | |
JPS61112250A (ja) | デ−タ処理システム | |
JPS6051923A (ja) | 同期方式 | |
JPH08161195A (ja) | アドレストレース格納装置及びアドレストレース生成方法 | |
JPH0573347A (ja) | エミユレーシヨン装置 | |
JPH04344947A (ja) | プログラム制御装置 | |
JPH01114945A (ja) | データ処理装置のトレース方式 | |
JPH03175539A (ja) | デバッグ用マイクロプロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |