JPH0436418B2 - - Google Patents

Info

Publication number
JPH0436418B2
JPH0436418B2 JP60202669A JP20266985A JPH0436418B2 JP H0436418 B2 JPH0436418 B2 JP H0436418B2 JP 60202669 A JP60202669 A JP 60202669A JP 20266985 A JP20266985 A JP 20266985A JP H0436418 B2 JPH0436418 B2 JP H0436418B2
Authority
JP
Japan
Prior art keywords
address
program
stop request
program execution
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.)
Expired - Lifetime
Application number
JP60202669A
Other languages
English (en)
Other versions
JPS6263345A (ja
Inventor
Hiroshi Yoshikawa
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.)
Toshiba Corp
Original Assignee
Tokyo Shibaura Electric Co Ltd
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 Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Priority to JP60202669A priority Critical patent/JPS6263345A/ja
Publication of JPS6263345A publication Critical patent/JPS6263345A/ja
Publication of JPH0436418B2 publication Critical patent/JPH0436418B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】 [発明の技術分野] この発明は例えばマイクロコンピユータ等の演
算処理装置のプログラム開発を支援するプログラ
ム開発支援装置に係り、特にプログラムの実行と
中断およびプログラムの実行過程を調べるのに使
用されるプログラム・デバツグ装置に関する。
[発明の技術的背景] マイクロコンピユータ等、演算処理装置のプロ
グラム開発は、エミユレーシヨンCPUで実際の
プログラムを実行させ、エミユレーシヨンCPU
が期待通りに動作するか否かを調べることにより
行われている。そしてプログラムに存在する欠陥
部分(プログラムのバグ)は、このプログラム実
行過程で検出され、しかる後これを取り除くよう
にしている。プログラムに存在するバグを検出す
るためのデバツグ装置としては従来から種々のも
のが知られている。このデバツグ装置は、プログ
ラムの実行機能として、一命令毎の実行機能およ
び連続実行機能以外にブレーク機能を持つてい
る。このブレーク機能とは、予め設定された条件
が成立するまでプログラムを連続的に実行し、こ
の条件が成立した時にプログラムの実行を停止さ
せるものである。このときのブブレーク条件とし
ては例えばアドレスとその通過回数等がある。
上記ブレーク機能を実現する従来のプログラ
ム・デバツグ装置の構成を第2図のブロツク図に
示す。このような装置において、デバツグすべき
プログラムの実行前に、デバツグ動作を制御する
コントロールCPU31によりブレークアドレス
設定回路32にブレークアドレスが、パスカウン
ト設定回路33にこのブレークアドレスの通過回
数がそれぞれ設定される。その後、コントロール
CPU31から、プログラムの実行と停止を制御
するプログラム実行制御回路34に対してプログ
ラムの実行要求が出される。この要求が出される
と、プログラム実行制御回路34は、デバツグ対
象となるプログラムを実行するエミユレーシヨン
CPU35の動作状態を検出する動作検出回路3
6からのタイミング信号に基づいて、プログラム
の実行開始を指示する。エミユレーシヨンCPU
35の動作開始後、アドレス比較回路37では動
作検出回路36からのタイミング信号に応じて、
アドレス・バス上のアドレスと予めブレークアド
レス設定回路32で設定されたブレークアドレス
との比較が行われる。ここで両アドレスの一致が
検出されると、一致信号がアドレス比較回路37
からカウンタ38に出力される。そして、このカ
ウンタ38のカウント値が予めパスカウント設定
回路33で設定されたブレークアドレスの通過回
数に達すると、プログラムのブレーク条件が成立
したとして、カウンタ38からプログラム実行制
御回路34に対してブレーク要求が出力される。
プログラム実行制御回路34はこのブレーク要求
が供給されると上記エミユレーシヨンCPU35
の動作を停止させる。このようにして、予め設定
されたブレーク条件が成立することにより、エミ
ユレーシヨンCPU35の動作がプログラム実行
の途中で中断されるものである。
なお、第2図において、39はアドレス・バ
ス、40はデータ・バス、41はコントロール・
バスである。
[背景技術の問題点] 従来のプログラム・デバツグ装置では、設定ア
ドレスが設定された回数だけ通過してブレーク条
件が成立するとプログラムの実行が停止される。
このようなブレーク方式では、デバツグ対象とな
るプログラムがハードウエアや時間に関係しない
言語処理や計算処理等の場合には問題とはならな
い。ところが、ハードウエアを制御する制御プロ
グラムをデバツグする場合等に問題が発生する。
例えば、ガスのバルブの開閉を制御する制御プロ
グラムをデバツグする際に、バルブを開いた時点
をブレーク条件にして実行させると、バルブが開
かれた点で制御が停止し、この後、ガスが流出し
たままの状態になつてしまう。このような場合に
はプログラムを調べるどころではなくなる。従つ
て、従来の装置ではこのような時点をブレーク条
件にすることはできない。そこでバルブが開か
れ、次に閉じられる点のアドレスをブレークアド
レスとして指定してブレーク動作を行なわせる
と、実際にバルブが開かれる時点を通過したがど
うか不明確になつてしまう。
このように従来装置ではブレークアドレスとし
て指定できないところが発生し、このためプログ
ラム・デバツグの効率が低下するという欠点があ
る。
さらにブレーク条件が成立してプログラムの実
行がいつたん停止し、その続きを実行する場合、
中断した時点からプログラムを再開したときと、
中断せずにそのまま連続して実行を行なうときと
で動作が同じにならないことがある。これは停止
しているときに状態が変化するからである。従つ
て、ブレーク条件に基づいてプログラムの実行を
停止させることによりデバツグを行なう方式では
正規の動作状態を確認することができなくなると
いう欠点がある。
[発明の目的] この発明は上記のような事情を考慮してなされ
たものでありその目的は、ブレークアドレスとし
て指定できないところがなく、従つてプログラ
ム・デバツグの効率を向上させることができ、か
つ正規の動作状態を確認することができるプログ
ラム・デバツグ装置を提供することにある。
[発明の概要] 上記目的を達成するためこの発明にあつては、
デバツグすべきプログラムを実行する演算処理手
段の動作をプログラム実行制御手段により制御
し、上記プログラムの実行を中断させる点のアド
レスを中断アドレス設定手段で設定し、アドレス
比較手段により上記演算処理手段の動作アドレス
と上記中断アドレス設定手段の設定アドレスとを
比較してその一致検出を行ない、さらに停止要求
発生手段により上記アドレス比較手段における上
記両アドレスの一致検出回数を計数しその計数値
が予め設定された値に達した際に停止要求を発生
するようにし、さらに停止要求遅延手段により上
記停止要求発生手段で発生される停止要求を所定
期間遅延して上記プログラム実行制御手段に供給
し、これによつて演算処理手段の動作を停止させ
るようにしている。
またこの発明にあつては、デバツグすべきプロ
グラムを実行する演算処理手段の動作状態に対応
した情報を格納する記憶手段を設け、この記憶手
段に記憶された情報を後に読み出すことにより、
正規の動作状態が確認できるようにしている。
[発明の実施例] 以下、図面を参照してこの発明の一実施例を説
明する。
第1図はこの発明に係るプログラム・デバツグ
装置の一実施例の構成を示すブロツグ図である。
この実施例回路は、デバツグすべきプログラムを
実行するエミユレーシヨンCPU11、このエミ
ユレーシヨンCPU11と結合されたアドレス・
バス12、データ・バス13およびコントロー
ル・バス14、予めブレークアドレスが設定され
るブレークアドレス設定回路15、予め上記ブレ
ークアドレスの通過回数が設定されるパスカウン
ト回路16、上記エミユレーシヨンCPU11に
おけるプログラムの実行と停止を制御するプログ
ラム実行制御回路17、上記コントロール・バス
14に結合されこのバス14上の情報に基づいて
上記エミユレーシヨンCPU11の動作状態を検
出する動作状態検出回路18、上記アドレス・バ
ス12上のアドレスと上記ブレークアドレス設定
回路15で設定されたブレークアドレスとを比較
し、両アドレスの一致検出を行なうアドレス比較
回路19、上記アドレス比較回路19における一
致検出出力をカウントし、このカウント値が上記
パスカウント設定回路16における設定値に達し
たならばブレーク条件成立信号を発生するパスカ
ウンタ20、デイレー用のクロツクを発生するデ
イレークロツク発生回路21、予めカウント数が
設定されるデイレーカウント設定回路22、上記
パスカウンタ20で発生されるブレーク条件成立
信号がカウント開始制御信号として供給され、こ
の開始制御信号に基づいて上記デイレー用クロツ
クにカウントし、このカウント値が上記デイレー
カウント設定回路22で設定された値に達した際
にデイレーカウントの終了信号を発生するデイレ
ーカウンタ23、前記アドレス・バス12、デー
タ・バス13およびコントロール・バス14に結
合され、上記エミユレーシヨンCPU11の動作
状態に対応した情報を格納するトレースメモリ2
4、このトレースメモリ24における情報の書込
み、読みだし動作を制御するトレースメモリ制御
回路25、全体の動作を制御するコントロール
CPU26等で構成されている。
上記コントロールCPU26は、予め用意され
たデバツグ制御プログラムに従つて種々の条件設
定を行なつたり、エミユレーシヨンCPU11に
対してデバツグ対象となるプログラムを実行させ
たりする。上記動作状態検出回路18は、エミユ
レーシヨンCPU11のクロツクや動作状態を現
わすステータス、図示しないメモリや入出力回路
(I/O)に対する信号等が伝達されるコントロ
ール・バス14上の情報からエミユレーシヨン
CPU11の動作状態を検出し、プログラム実行
制御回路17に対してプログラムのフエツチサイ
クルに対応したタイミング信号を供給する。ま
た、アドレス比較回路19に対してアドレス・バ
ス12上の情報を供給し、デイレークロツク発生
回路21に対してはエミユレーシヨンCPU11
の動作クロツクやCPU11のフエツチサイクル
に対応したタイミング信号を供給する。上記デイ
レークロツク発生回路21は、例えば1μS、1m
S等の周期のクロツクを形成し、さらにコントロ
ールCPU26からの設定に従つて、動作状態検
出回路18で検出されるエミユレーシヨンCPU
11の動作クロツクや形成した種々の周期のクロ
ツクの中から指定されたクロツクをデイレーカウ
ンタ23に供給する。
次に上記のような構成の回路の動作を説明す
る。ブレーク動作を行なわせる時、まずコントロ
ールCPU26がデバツグ対象となるプログラム
をエミユレーシヨンCPU11に実行させる前に、
ブレークアドレス設定回路15におけるブレーク
アドレス、パスカウント設定回路16におけるブ
レークアドレスの通過回数およびデイレーカウン
ト設定回路22のカウント数をそれぞれ設定す
る。
その後、コントロールCPU26は、プログラ
ム実行制御回路17に対し、ブレーク条件が成立
したら直ちにエミユレーシヨンCPU11の動作
を停止させるか、もしくはブレーク条件が成立し
デイレーカウンタ23の出力が成立してからエミ
ユレーシヨンCPU11の動作を停止させるかを
設定してから、デバツグ対象プログラムの実行開
始を要求する。この要求に基づきプログラム実行
制御回路17は動作状態検出回路18で検出され
るフエツチサイクルのタイミング信号に同期し
て、エミユレーシヨンCPU11にデバツグ対象
となるプログラムを実行させる。これと同時にプ
ログラム実行制御回路17は、トレースメモリ制
御回路25に対してプログラム実行状態信号をプ
ログラム実行状態に設定する。この後、エミユレ
ーシヨンCPU11はプログラムを順次実行して
いく。
プログラムの実行時、アドレス比較回路19
は、ブレークアドレス設定回路15の設定アドレ
スと動作状態検出回路18で検出されるアドレス
が同じであり、ブレークアドレス設定回路15の
設定アドレスとアドレス・バス12上のアドレス
とが一致する毎に、パスカウンタ20に対して一
致信号を出力する。パスカウンタ20は、アドレ
ス比較回路19からの一致信号をカウントし、カ
ウント値がパスカウント設定回路16における設
定値に達した時、ブレーク条件成立信号、すなわ
ちブレーク要求を出力する。さらにデイレーカウ
ンタ23は、パスカウンタ20からのブレーク条
件成立信号に基づき、デイレークロツク発生回路
21からのクロツクのカウントを開始する。そし
てこのデイレーカウンタ23のカウント値がデイ
レーカウント設定回路22の設定値に達した時、
デイレーカウンタ23はプログラム実行制御回路
17に対してデイレーカウントの終了信号を出力
する。この終了信号は上記パスカウンタ20から
出力されたブレーク要求を所定期間だけ遅延した
ものになつている。
ここで予めプログラム実行制御回路17ではデ
イレーカウンタ23の出力が成立してからエミユ
レーシヨンCPU11のプログラム実行動作を停
止させるように設定されている場合、プログラム
実行制御回路17はこのデイレーカウンタ23か
らの終了信号を受けた後に、エミユレーシヨン
CPU11のプログラム実行動作を停止させる。
さらにプログラム実行制御回路17はトレースメ
モリ制御回路25に対するプログラム実行状態信
号を停止状態に設定する。これにより、エミユレ
ーシヨンCPU11の動作は、実際にブレークア
ドレス設定回路15およびパスカウント設定回路
16で設定されたブレーク条件の成立直後に停止
するのではなく、このブレーク条件が成立しこの
時点からデイレーカウンタ23における遅延期間
の後に停止する。従つて、ブレークアドレスとし
て指定できない点がなくなり、プログラムのデバ
ツグの効率を向上させることができる。例えば、
従来装置で説明したように、ガスのバルブの開閉
を制御する制御プログラムをデバツグする際にバ
ルブを開いた時点をブレーク条件にして実行させ
ると、従来ではバルブが開かれた点で制御が停止
し、この後、ガスが流出したままの状態になると
いう不都合が生じた。ところが、上記実施例装置
の場合、同じブレーク条件を設定しても、エミユ
レーシヨンCPU11の動作停止が、バルブが開
かれ、次に閉じられるアドレス以降となるよう
に、デイレーカウンタ23の遅延時間をデイレー
カウント設定回路22の値、デイレークロツク発
生回路21で発生するクロツクの周期等の選択に
より設定しておけば、バルブが閉じられた後にエ
ミユレーシヨンCPU11の動作が停止する。し
かもこの場合、バルブが開かれた時点を通過する
ことによりがブレーク条件が検出されるので、こ
の後、エミユレーシヨンCPU11の動作が停止
すれば、バルブが開かれたアドレスを通過したこ
とが確認される。
他方、トレースメモリ制御回路25は、コント
ロールCPU26からの設定に従つて、プログラ
ム実行制御回路17、動作状態検出回路18およ
びパスカウンタ20からの信号に基づき、トレー
スメモリ24の情報の書込み、読みだしを制御す
る。トレースメモリ24は、トレースメモリ制御
回路25からの書込み信号に従つて、エミユレー
シヨンCPU11のアドレス・バス12、デー
タ・バス13、コントロール・バス14上情報お
よびブレーク条件成立状態信号の各信号状態を書
込む。例えば、トレースメモリ制御回路25は、
コントロールCPU26からの設定に従つて、パ
スカウンタ20からのブレーク条件成立信号の出
力時に情報の書込みを開始させる。このときの書
込みタイミングは、動作状態検出回路18からの
情報により、プログラムのフエツチサイクルの
み、またはデータリードおよびライトのタイミン
グが適宜選択される。そしてデイレーカウンタ2
3の出力の成立時点に情報書込みが終了する。そ
して情報の書込み後はコントロールCPU26か
らの読み出し要求に従つて、書込んだ情報をトレ
ースメモリ24から出力させる。
このようにプログラムのブレーク条件成立時か
ら実際にプログラムが停止するまでのエミユレー
シヨンCPU11のプログラムの実行過程をトレ
ースメモリ24に記憶させることにより、その
後、記憶内容を読みだしてプログラムの実行過程
を調べれば、問題の発生時にプログラムに問題が
あるのかどうかを調べることができ、またその問
題も容易に解決することができる。
さらにトレースメモリ24にブレーク条件の成
立状態をマークとして書込むことにより、プログ
ラムがループしている場合でも、トレースメモリ
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。

Claims (1)

  1. 【特許請求の範囲】 1 デバツグすべきプログラムを実行する演算処
    理手段と、 上記演算処理手段のプログラム実行動作を制御
    するプログラム実行制御手段と、 上記プログラムの実行を中断させる点のアドレ
    スを設定する中断アドレス設定手段と、 上記演算処理手段の動作アドレスと上記中断ア
    ドレス設定手段の設定アドレスとを比較しその一
    致検出を行うアドレス比較手段と、 上記アドレス比較手段における上記両アドレス
    の一致検出回数を計数しその計数値が予め設定さ
    れた値に達した際に停止要求を発生する停止要求
    発生手段と、 上記停止要求発生手段で発生される停止要求を
    所定時間遅延して上記プログラム実行制御手段に
    供給すると共に上記遅延期間が任意に設定可能な
    停止要求遅延手段と を具備したことを特徴とするプログラム・デバツ
    グ装置。 2 デバツグすべきプログラムを実行する演算処
    理手段と、 上記演算処理手段のプログラム実行動作を制御
    するプログラム実行制御手段と、 上記プログラムの実行を中断させる点のアドレ
    スを設定する中断アドレス設定手段と、 上記演算処理手段の動作アドレスと上記中断ア
    ドレス設定手段の設定アドレスとを比較しその一
    致検出を行うアドレス比較手段と、 上記アドレス比較手段における上記両アドレス
    の一致検出回数を計数しその計数値が予め設定さ
    れた値に達した際に停止要求を発生する停止要求
    発生手段と、 上記停止要求発生手段で発生される停止要求に
    基づいて制御され上記演算処理手段の動作状態に
    対応した情報を格納する記憶手段と、 上記停止要求発生手段で発生される停止要求を
    所定期間遅延して上記プログラム実行制御手段に
    供給すると共に上記遅延期間が任意に設定可能な
    停止要求遅延手段と を具備したことを特徴とするプログラム・デバツ
    グ装置。
JP60202669A 1985-09-13 1985-09-13 プログラム・デバツグ装置 Granted JPS6263345A (ja)

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 JPS6263345A (ja) 1987-03-20
JPH0436418B2 true 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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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
JPS6263345A (ja) 1987-03-20

Similar Documents

Publication Publication Date Title
JPS6120145A (ja) マイクロプロセツサ動作解析装置
US6877113B2 (en) Break determining circuit for a debugging support unit in a semiconductor integrated circuit
US5930470A (en) Debugging system and debugging method
JPH0436418B2 (ja)
KR100285976B1 (ko) 에뮬레이션장치
JP2653412B2 (ja) ブレークポイント設定方法
JPS6295644A (ja) マイクロプロセッサ用プログラムデバッグ装置
JPS60124746A (ja) デ−タ処理装置
JP2754899B2 (ja) デバック装置のリターンアドレス監視回路
JPH09319592A (ja) マイクロコンピュータ
JP2575025B2 (ja) インサ−キット・エミュレ−タ
JPS59202548A (ja) デバツグ装置
JP2001092692A (ja) 時間測定回路及び時間測定方法
JP2665173B2 (ja) プロセッサトラップ回路
JPH1165897A (ja) デバッガ内蔵マイクロプロセッサ
JPS61112250A (ja) デ−タ処理システム
JP2684966B2 (ja) 入出力処理装置のデバッグ装置
JPH03175539A (ja) デバッグ用マイクロプロセッサ
JPH0149975B2 (ja)
JPH0695913A (ja) デバッグ装置
JPH0776931B2 (ja) 情報処理システム
JPH01161544A (ja) プログラムトレース方式
JPH02115963A (ja) ブリチャージ時間制御回路
JPH0333940A (ja) 評価用マイクロプロセッサ
KR19990079357A (ko) 마이크로프로세서를 위한 에뮬레이터의 트레이스 버퍼 인에이블신호 발생 회로

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term