JPH03141436A - デバッグ装置 - Google Patents

デバッグ装置

Info

Publication number
JPH03141436A
JPH03141436A JP1278411A JP27841189A JPH03141436A JP H03141436 A JPH03141436 A JP H03141436A JP 1278411 A JP1278411 A JP 1278411A JP 27841189 A JP27841189 A JP 27841189A JP H03141436 A JPH03141436 A JP H03141436A
Authority
JP
Japan
Prior art keywords
trace
information
interruption
microprocessor
memory
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
Application number
JP1278411A
Other languages
English (en)
Inventor
Tatsuya Suzuki
達也 鈴木
Hideaki Koyama
英昭 小山
Yuji Ota
祐二 太田
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.)
Hitachi Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Ltd
Hitachi Microcomputer Engineering 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 Hitachi Ltd, Hitachi Microcomputer Engineering Ltd filed Critical Hitachi Ltd
Priority to JP1278411A priority Critical patent/JPH03141436A/ja
Publication of JPH03141436A publication Critical patent/JPH03141436A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] 本ζ明はデバッグ技術さらにはデバッグ装置における信
号のトレース方式に適用して特に有効な技術に関し、例
えばマイクロプロセッサの動作解析を行なうエミュレー
タあるいはロジックアナライザに利用して有効な技術に
関する。
[従来の技術] マイクロプロセッサの応用機器の開発においてそのシス
テムのデバッグやシステム評価を行なうためエミュレー
タを使用することがある。エミュレータは対象マイクロ
プロセッサあるいはそれと同機能のマイ・グロプロセッ
サを有し、このマイクロプロセッサにてユーザ・プログ
ラムを実行、停止させながらユーザシステムを代行制御
することにより、ハードウェアおよびソフトウェアのデ
バッグを可能にするものである。
−船釣にエミュレータを用いてのデバッグは、ユーザプ
ログラムの停止させたい命令位置をブレークポイントと
して設定し、ユーザプログラム実行中にそのポイントの
通過を検出したらプログラム実効を中断する。このとき
、ブレーク直前までのマイクロプロセッサあるいはユー
ザシステムの状態を、トレースメモリとよばれる記憶装
置内にリアルタイムに取り込んでおき、ブレーク後にト
レースメモリの内容を解析することによりシステムおよ
びプログラムのデバッグ、評価を行うことができる6 従来のエミュレータにおけるトレースおよびその解析は
、ユーザプログラム実行開始からブレークまでの実行単
位で行っていた(@日立製作所、1985年12月発行
r68000AsE−11、ユーザーズ・マニュアル」
第46頁〜第48頁参照)。
[発明が解決しようとする課題] エミュレータの機能向上に伴いトレース機能も種々なも
のが用意されてきており、ユーザプログラム実行中にお
ける特定期間あるいは特定状態の情報のみのトレース等
も行えるようになっている。
また、ブレーク条件等が複雑になるに伴いブレークして
もすぐユーザプログラムの再実行を行い、次のブレーク
ポイントまで実行したいような場合が生じている。
上記のような場合のトレース動作は中断−再開−停止の
順になるが、従来のトレース方式ではトレース内容の解
析において中断場所が分からないため、トレース結果を
逆アセンブルしてCRT装置に二一モニックコードで表
示させたりあるいは高級言語ソースレベルで表示させる
ような場合にその表示内容を誤ることがある。
その対策としては、トレース動作が停止した時点でユー
ザプログラムの実行も停止し、その時点でトレース内容
の解析を行っておく方法が考えられるが、この方法では
エミュレーション実行のリアルタイム性が著しく損なわ
れることになるという問題点があった。
本発明目的は、エミュレーション実行中のりアルタイム
性を損なわないようにするとともに、トレース内容に連
続性がなくてもトレース結果の正しい逆アセンブル表示
を可能にすることにある。
この発明の前記ならびにそのほかの目的と新規な特徴に
ついては、本明細書の記述および添附図面から明らかに
なるであろう。
[課題を解決するための手段] 本願において開示される発明のうち代表的なものの概要
を説明すれば、下記のとおりである。
すなわち、エミュレータにトレース開始もしくは中断を
示す情報の生成回路を設けるとともに、トレース再開時
にトレース開始もしくは中断情報をトレース情報ととと
もにトレースメモリに記憶させるようにするものである
[作用] 上記した手段によれば、ブレーク後直ちにユーザプログ
ラムが再実行された場合にも、トレースメモリの情報か
らトレースの中断箇所を容易に知ることができるため、
逆アセンブル表示あるいは高級言語ソースレベルの表示
が実現可能となる。
[実施例] 第1図はエミュレータに本発明を適用した場合の一実施
例を示す。
同図においてMPUはエミュレーション対象となるユー
ザシステム上のマイクロプロセッサと同一機能を有し、
ユーザシステムを代行制御するとともに、エミュレータ
全体を制御したりトレースデータを編集して表示させる
機能を有するマイクロプロセッサである。
マイクロプロセッサMPUのアクセスバスBUSには、
ブレーク制御回路BRKや、エミュレーション制御回路
CNT1 トレース中断情報生成回路TDG、  トレ
ースメモリTM等が接続されている。
また、アクセスバスBUSには、ユーザインタフェース
UIFを介してユーザシステムUSEが、またシステム
インタフェースSIFを介してキーボードKBDやCR
T表示装置CRT、メモリMEM等が接続されたシステ
ムバスSBSが接続可能にされている。インタフェース
UIFおよびSIFは、上記エミュレーション制御回路
CNTによって制御される。
すなわち、ユーザプログラム実行時にはユーザインタフ
ェースUIFが有効となりユーザシステムバスをアクセ
スバスBUSに接続し、ユーザシステム上のメモリに接
続されているプログラムを実行する。一方、エミュレー
ション停止中にはユーザインタフェースUIFが無効、
システムインタフェースSIFが有効となり、システム
バスBUS上のメモリMEM内のシステムコントロール
用プログラムを実行する。
上記ブレーク制御回路BRKは、ブレークポインタを有
し、バスを監視してブレーク条件成立時にユーザプログ
ラムの実行中を停止させるブレーク信号BKを発生する
エミュレーション制御回路CNTは、上記インタフェー
スUIFとSLFの有効/無効信号を発生して制御空間
の切換えを行なったり、トレースの開始および停止(中
断を含む)の条件を設定し、トレースメモリに対する書
込指示信号やアドレス信号を発生しバスサイクル単位の
書込みタイミングでコントロールしたりする。
トレースメモリTMにはアクセスバス上の情報の他に、
ユーザインタフェースUIFを介してユーザシステムの
情報およびトレース中断情報生成回路TDGからのTS
TOP信号が入力されている。通常はエミュレーション
が実行されると上記情報がバスサイクル単位にてトレー
スメモリTMに取り込まれるようにされる。
トレース中断情報生成回路TDGは、バスサイクルに対
するトレース動作において中断があったことを示す情報
TSTOP信号を生成するものであり、アクセスバス上
の信号を監視してトレースの再開を検出して1サイクル
の間だけTSTOP信号をハイレベルに変化させる。こ
れによってトレースメモリTMにはトレース動作中断後
最初の1サイクルにのみTSTOP情報に「l」が書き
込まれる。
次に、上記エミュレータの動作について説明する。
第2図にトレース期間を指定してのエミュレーションに
おける動作とトレースメモリの内容を示す。トレース期
間の指定方法はいろいろ考えられるが、本実施例では、
トレースメモリTMへの入力情報の状態が指定条件■に
なったらトレースを開始し、指定条件■となったらトレ
ース動作を停止するトレースモードとする。このトレー
スモードではエミュレーション実行中にトレースの動作
、中断が繰り返され、TSTOP情報は通常“0”であ
るがトレース中断−再開時の最初のサイクルに“l”と
なる。このTSTOP情報を調べ、TSTOP=“1n
となっているところを区切りとしてトレース内容を解析
することにより正しいトレース結果の表示が可能となる
。つまり、第2図において(A)と(B)の情報を連続
したものと勘違いして解析、表示する過ちをおかすこと
はない。
第3図にはエミュレーション実行と、ブレークを繰り返
した場合の動作とトレースメモリの内容を示す。この場
合も先と同様にエミュレーション再開時の最初のサイク
ルでトレースメモリTMにTSTOP情報゛1情報数1
込まれるので、トレース内容を解析することによりエミ
ュレーション実行の切目を知ることができる。
なお、上記実施例のエミュレータでは、トレースをバス
サイクルタイミングで行なっているが、トレースタイミ
ングはマイクロプロセッサのバスサイクルに限定されず
、例えば、クロックによりバスサイクルよりも短い周期
で情報を取得するようにしてもよい。また、トレース機
能も本実施例に限定されず、指定された区間だけトレー
スを中断するようにしてもよい。さらに、トレース動作
中断を示す情報の生成方法も本方式に限定されるもので
はなく、例えば、エミュレータ制御回路CNTからトレ
ースメモリTMに供給される書込み指示信号の変化を検
出してワンショットのパルスを発生するような回路であ
ってもよい。
以上説明したように上記実施例は、エミュレータにトレ
ース開始もしくは中断を示す情報の生成回路を設けると
ともに、トレース再開時にトレース開始もしくは中断情
報をトレース情報ととともにトレースメモリに記憶させ
ておくようにしたので、ブレーク後直ちにユーザプログ
ラムが再実行された場合にも、トレースメモリの情報か
らトレースの中断箇所を容易に知ることができるため、
逆アセンブル表示あるいは高級言語ソースレベルの表示
が実現可能となるという効果がある。
以上本発明者によってなされた発明を実施例に基づき具
体的に説明したが、本発明は上記実施例に限定されるも
のではなく、その要旨を逸脱しない範囲で種々変更可能
であることはいうまでもない。例えば上記実施例では1
つのマイクロプロセッサにより制御空間を切り替えるこ
とで、ユーザプログラムを実行するエミュレーション制
御とトレースデータの読み出し解析を行なうシステム制
御の両方を行なうlCPU方式のエミュレータに本発明
を適用したが、ユーザプログラムを実行するターゲット
マイクロコンピュータとシステム全体を制御するマスク
マイクロコンピュータからなる2CPU方式のエミュレ
ータについても同様に本発明を適用することができる。
また、トレースは数サイクル以上続けて行なうことが多
いので、トレース開始もしくは中断を示す情報はトレー
ス再開後1サイクルのみでなく、数サイクルに亘って記
憶するようにしてもよい。
以上の説明では主として本発明者によってなされた発明
をその背景となった利用分野であるエミュレータに適用
したものについて説明したが、この発明はそれに限定さ
れるものでなく、ロジックアナライザのようなデバッグ
ツールやシミュレータその他エミュレーション機能を有
するデータ処理システムに利用することができる。
[発明の効果] 本願において開示される発明のうち代表的なものによっ
て得られる効果を簡単に説明すれば下記のとおりである
すなわち、エミュレータのようなデバッグ装置において
、データを任意のタイミングで取得し、結果を表示する
場合に、取得データ内容に連続性がなくても正しい解析
および表示を行なうことができる。
【図面の簡単な説明】
第1図はエミュレータに本発明を適用した場合の一実施
例を示すブロック図、 第2図は本実施例におけるトレース期間指定時のトレー
ス動作とトレースメモリの内容を示す図、第3図は本実
施例におけるエミュレーション実行と、ブレークを繰り
返した場合の動作とトレースメモリの内容を示す図であ
る。 MPU・・・・マイクロプロセッサ、TM・・・・トレ
ースメモリ、TDG・・・・トレース中断情報生成回路
。 第2図 第3図

Claims (1)

  1. 【特許請求の範囲】 1、デバッグ対象となるシステムのマイクロプロセッサ
    と同一タイプのマイクロプロセッサを備え、そのシステ
    ムのエミュレーションを行なうとともに、エミュレーシ
    ョン中のバスの状態もしくはマイクロプロセッサの入出
    力状態を逐次取得するトレースメモリを有するデバッグ
    装置において、トレース開始もしくは中断を示す情報の
    生成回路を設けるとともに、トレース再開時にトレース
    開始もしくは中断情報をトレース情報ととともに上記ト
    レースメモリに記憶させるようにしたことを特徴とする
    デバッグ装置。 2、上記トレースメモリにはマイクロプロセッサのバス
    サイクルタイミングで取得データが格納されるようにし
    たことを特徴とする請求項1記載のデバッグ装置。 3、上記トレース開始もしくは中断情報は、トレース再
    開後、1サイクルのみ記憶するようにしたことを特徴と
    する請求項1もしくは2記載のデバッグ装置。
JP1278411A 1989-10-27 1989-10-27 デバッグ装置 Pending JPH03141436A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1278411A JPH03141436A (ja) 1989-10-27 1989-10-27 デバッグ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1278411A JPH03141436A (ja) 1989-10-27 1989-10-27 デバッグ装置

Publications (1)

Publication Number Publication Date
JPH03141436A true JPH03141436A (ja) 1991-06-17

Family

ID=17596971

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1278411A Pending JPH03141436A (ja) 1989-10-27 1989-10-27 デバッグ装置

Country Status (1)

Country Link
JP (1) JPH03141436A (ja)

Similar Documents

Publication Publication Date Title
EP2076837B1 (en) Performing diagnostic operations upon an asymmetric multiprocessor apparatus
CA2143145C (en) Determining dynamic properties of programs
JP2014508367A (ja) シングルステップ実行を用いる診断コード
JPH03141436A (ja) デバッグ装置
Gentleman et al. Hardware assisted high level debugging: preliminary draft
JPH0465729A (ja) シンボリック・デバッガ
JPS59202548A (ja) デバツグ装置
JPH06103110A (ja) ブレークポイント設定方式
JPH02135545A (ja) デバッガの実行制御処理方式
JPH03175539A (ja) デバッグ用マイクロプロセッサ
JPS59202546A (ja) デバツグ装置
JPH01145740A (ja) マルチプロセス用エミユレータ
JPH02109146A (ja) プログラムデバツグ装置
JPH01274253A (ja) ソフトウェアブレーク方式
JPH0239332A (ja) ソフトウェアブレーク方式
JPH05233363A (ja) エミュレータのトレース装置
JPH05233364A (ja) ブレークポイント設定方式
GB2293254A (en) Emulator for debugging embedded software for almost any microprocessor
JPH07160525A (ja) エミュレータ
JPH0566961A (ja) 情報処理装置のソフトウエアデバツグ方式
JPH05204698A (ja) デバッガ処理方式
JPS593643A (ja) 関数型マシンの実行制御方式
JPH05313941A (ja) コンピュータプログラムのデバッグ方法
JPH0444973B2 (ja)
JPH04333146A (ja) デバッグにおけるプログラムの実行制御方式