JPH06175883A - プログラムデバッグ装置 - Google Patents

プログラムデバッグ装置

Info

Publication number
JPH06175883A
JPH06175883A JP4325650A JP32565092A JPH06175883A JP H06175883 A JPH06175883 A JP H06175883A JP 4325650 A JP4325650 A JP 4325650A JP 32565092 A JP32565092 A JP 32565092A JP H06175883 A JPH06175883 A JP H06175883A
Authority
JP
Japan
Prior art keywords
instruction
memory
trace
loop
address
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
Application number
JP4325650A
Other languages
English (en)
Other versions
JP3100013B2 (ja
Inventor
Katsuhiko Terasaki
崎 克 彦 寺
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
Toshiba Electronic Device Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Microelectronics Corp
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 Toshiba Corp, Toshiba Microelectronics Corp filed Critical Toshiba Corp
Priority to JP04325650A priority Critical patent/JP3100013B2/ja
Publication of JPH06175883A publication Critical patent/JPH06175883A/ja
Application granted granted Critical
Publication of JP3100013B2 publication Critical patent/JP3100013B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 プログラムのデバッグ作業の正確さや効率を
向上させることができ且つ大容量のトレースメモリを必
要としないプログラムデバッグ装置を提供する。 【構成】 デバッグを行うプログラムを格納するマッピ
ングメモリ12と、このマッピングメモリ12に格納さ
れたプログラムの各命令に対応させて当該命令がループ
開始命令、ループ繰り返し命令、ループ終了命令または
他の命令のいずれに該当するかの情報を格納するフラグ
メモリ13と、マッピングメモリ12に格納されたプロ
グラムを実行し、トレース情報を出力するCPU11
と、フラグメモリ13に格納された情報に基づいてトレ
ース情報を格納するアドレスを決定するアドレス制御回
路15と、アドレス制御回路15が決定したアドレスに
トレース情報を格納するトレースメモリ14とを備え
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、CPU(Central Proc
essing Unit )で実行されるプログラムのデバッグを行
うためのプログラムデバッグ装置に関するものである。
【0002】
【従来の技術】従来のプログラムデバッグ装置として
は、例えば、実行アドレスやステータス情報、リード/
ライトデ−タなどの実行状態を表す情報(以下、「トレ
ース情報」と記す)をトレースメモリに順次格納し、格
納されたトレース情報をディスプレイで表示させてCP
Uの実行状態をチェックすることによってデバッグ作業
を行う形式のものが知られている。
【0003】このような従来のデバッグ装置では、CP
Uが実行した命令についてのトレース情報をすべてトレ
ースメモリに格納することができる。また、CPUが実
行した命令についてのトレース情報のうち、ユーザが指
定したアドレス範囲のもののみをトレースメモリに格納
することができるプログラムデバッグ装置や、特定の命
令のみをトレースメモリに格納し或いは格納しないプロ
グラムデバッグ装置も知られている。
【0004】
【発明が解決しようとする課題】このようなデバッグ装
置を用いてトレースを行う場合、例えばソフトウエアタ
イマなど、CPUがループルーチンやループモジュール
で同じ内容の処理を何回も繰り返して実行するときに
は、トレースメモリ内に同じ内容のトレース情報が繰り
返して格納されてしまう。
【0005】このため、実行されるループルーチンやル
ープモジュールの命令数が多い場合や繰り返し回数が多
い場合には、トレースメモリがループルーチンやループ
モジュールだけで満たされてしまうことがあった。この
ような場合には、CPUが実行した命令についてのトレ
ース情報のすべてを1回のトレースでトレースメモリに
格納することができなくなってしまうので、プログラム
全体の処理の流れが判断しにくくなる場合がある。ま
た、ループルーチンやループモジュールがサブルーチン
や関数として呼び出されるようなプログラムの場合に
は、ループルーチン等の命令数や繰り返し回数が多い
と、ループ終了後の処理や現在の処理状況等のトレース
情報がトレースメモリに格納できなくなってしまい、こ
れらのチェックができなくなるおそれがある。
【0006】これらの欠点は、プログラムのデバッグ作
業の正確さや効率を低下させる要因となっていた。
【0007】このような欠点を解消するためには、トレ
ースメモリの容量を大きくすればよい。しかしながら、
かかる容量を極端に大きくすることはコスト等の面から
事実上困難である。
【0008】本発明は、このような従来技術の欠点に鑑
みてなされたものであり、プログラムのデバッグ作業の
正確さや効率を向上させることができ且つ大容量のトレ
ースメモリを必要としないプログラムデバッグ装置を提
供することを目的とする。
【0009】
【課題を解決するための手段】本発明に係わるプログラ
ムデバッグ装置は、デバッグを行うプログラムを格納す
るマッピングメモリと、このマッピングメモリに格納さ
れた前記プログラムの各命令に対応させて、当該命令が
ループ開始命令、ループ繰り返し命令、ループ終了命令
または他の命令のいずれに該当するかの情報を格納する
命令情報格納メモリと、前記マッピングメモリに格納さ
れた前記プログラムを実行し、トレース情報を出力する
CPUと、前記命令情報格納メモリに格納された前記情
報に基づいて前記トレース情報を格納するアドレスを決
定するアドレス制御回路と、前記アドレス制御回路が決
定したアドレスに前記トレース情報を格納するトレース
メモリと、を備えたことを特徴とする。
【0010】
【作用】命令の種類を示す情報を格納した命令情報格納
メモリを設け、この情報に基づいてトレースメモリへの
格納アドレスを決定することにより、まったく同じ内容
のトレース情報が繰り返してトレースメモリ内に格納さ
れることがないようにすることができる。これにより、
トレースメモリの容量を増やすことなしに、このトレー
スメモリに格納されるトレース情報の実質的な情報量を
増大させることができる。
【0011】
【実施例】本発明に係わるプログラムデバッグ装置の一
実施例について説明する。
【0012】図1は、本実施例に係わるプログラムデバ
ッグ装置におけるトレース回路10の回路構成を概略的
に示すブロック図である。
【0013】同図において、評価用CPU11は、デバ
ッグを行うべきプログラムを実行する。マッピングメモ
リ12には、評価用CPU11で実行するプログラムが
格納されている。
【0014】フラグメモリ(本発明の命令情報格納メモ
リ)13には、マッピングメモリ12に格納されたプロ
グラムの各命令に対応させて、当該命令の種類を表す情
報が格納される。ここで、命令の種類は、ループを開始
させる命令(以下、ループ開始命令)、ループの繰り返
しを行わせる命令(以下、ループ繰り返し命令)、ルー
プから抜け出す命令(以下、ループ終了命令)、通常実
行命令(以上の3種類の命令のいずれにも該当しない命
令)の4種類である。また、このフラグメモリ13は、
マッピングメモリ12から評価用CPU11に命令が読
み出された際に、この命令に対応する情報の内容に応じ
て、ループ開始信号、ループ繰り返し信号或いはループ
終了信号を出力する。
【0015】トレースメモリ14には、評価用CPU1
1で実行されたプログラムのトレース情報が格納され
る。また、アドレス制御回路15は、フラグメモリ13
が出力した上記信号を受けとって、トレースメモリ14
へトレース情報を格納する際の格納アドレスを出力す
る。
【0016】次に、アドレス制御回路15の回路構成に
ついて、図2を用いて説明する。
【0017】同図において、カウンタ21は、トレース
メモリ14へトレース情報を格納する際の格納アドレス
31を生成する。このカウンタ21の出力する格納アド
レス31は、書込信号32が入力される度に「1」ずつ
加算される。また、後述するように、各バッファ22,
23または24が出力している格納アドレス31をロー
ドする。
【0018】初期値設定バッファ22は、制御用CPU
(図示せず)から初期値制御信号35を入力すると、こ
の制御用CPUから格納アドレスの初期値34を取り込
み、カウンタ21に対して出力する。
【0019】開始アドレスバッファ23は、フラグメモ
リ13からループ開始信号36を入力すると、カウンタ
21の出力した格納アドレス31を取り込む。また、後
述するバッファ制御回路26から出力制御信号37を入
力すると、カウンタ21に対して格納アドレス31を出
力する。
【0020】繰り返しアドレスバッファ24は、フラグ
メモリ13からループ繰り返し信号38を入力すると、
カウンタ21の出力した格納アドレス31を取り込む。
また、フラグメモリ13からループ終了信号39を入力
すると、カウンタ21に対して格納アドレス31を出力
する。
【0021】フリップフロップ25は、フラグメモリ1
3からループ繰り返し信号38を入力し且つ書込信号3
2を入力したときにロード信号33を出力する。
【0022】バッファ制御回路26は、ループ終了情報
39を入力していないときは出力制御信号37を出力
し、ループ終了情報39を入力したときは出力制御信号
37の出力を停止する。
【0023】次に、本実施例に係わるプログラムデバッ
グ装置におけるトレース回路10の動作について説明す
る。
【0024】まず、アドレス制御回路15内の初期値設
定バッファ22は、制御用CPU(図示せず)から格納
アドレスの初期値34を取り込み、カウンタ21に対し
て出力する。カウンタ21は、この格納アドレスの初期
値34をロードし、格納アドレス31として出力する。
【0025】また、評価用CPU11は、マッピングメ
モリ12に格納されたプログラムから最初の命令を読み
出す。このとき、フラグメモリ13からは、この命令に
対応する情報が読み出される。そして、読み出された情
報がループ開始命令、ループ繰り返し命令またはループ
終了命令であれば、これに応じて、ループ開始信号、ル
ープ繰り返し信号或いはループ終了信号を出力する。一
方、読み出された情報が通常実行命令であるときは信号
を出力しない。
【0026】トレースメモリ14は、アドレス制御回路
15から格納アドレス31を入力するとともに評価用C
PU11からトレース情報を入力し、書込制御信号32
のタイミングにしたがって、このトレース情報を格納ア
ドレス31が示すアドレスに格納する。
【0027】この書込制御信号32はアドレス制御回路
15内のカウンタ21にも入力される。そして、このカ
ウンタ21は、書込制御信号32の入力タイミングにし
たがって、出力する格納アドレス21の値を「1」だけ
加算する。
【0028】これにより、次に評価用CPU11がマッ
ピングメモリ12から読み出した命令がループ開始命
令、ループ繰り返し命令およびループ終了命令でない場
合は、トレース情報は、前回にトレース情報が格納され
た格納領域の次のアドレスの格納領域に格納される。
【0029】一方、評価用CPU11によってマッピン
グメモリ12から読み出された命令がループ開始命令で
あるときは、上述したように、開始アドレスバッファ2
3がカウンタ21の出力した格納アドレス31を取り込
む。このとき、フラグメモリ13はループ終了信号を出
力しないので、バッファ制御回路26は出力制御信号3
7を出力し、これにより、開始アドレスバッファ23は
取り込んだ格納アドレス31をそのまま出力する。ただ
し、繰り返し命令38もフラグメモリ13から出力され
ないので、フリップフロップ25はロード信号33を出
力せず、したがって、開始アドレスバッファ23が出力
する格納アドレス31はカウンタ21にはロードされな
い。
【0030】その後、書込制御信号32がトレースメモ
リ14およびカウンタ21に入力されると、上述と同
様、トレースメモリ14は格納アドレス31が示す格納
領域にトレース情報を格納し、カウンタ21は出力する
格納アドレス31の値を「1」だけ加算する。
【0031】次に、評価用CPU11によってマッピン
グメモリ12から読み出された命令がループ繰り返し命
令であるときは、上述したように、繰り返しアドレスバ
ッファ23がカウンタ21の出力した格納アドレス31
を取り込む。
【0032】その後、書込制御信号32がトレースメモ
リ14に入力されるとトレース情報が格納される。ま
た、このときフリップフロップ25はロード信号33を
出力するので、開始アドレスバッファ23が出力する格
納アドレス31がカウンタ21にロードされ、この格納
アドレスがカウンタ21から出力される。したがって、
その次の回にトレースメモリ14に格納されるトレース
情報は、上述したループ開始命令に係るトレース情報を
前回格納した領域に格納されることになる。このとき、
このループ開始命令に係るトレース情報は消去される。
【0033】このようにして、ループを構成する各命令
は、トレースメモリ14内の同じ格納領域に繰り返し格
納される。
【0034】そして、ループを終了する際(すなわち、
ループ終了命令が実行されたとき)には、ループ終了信
号がフラグメモリ13から出力される。これにより、バ
ッファ制御回路26が出力制御信号37の出力を停止す
るので、開始アドレスバッファ23は格納アドレス31
を出力しなくなり、繰り返しアドレスバッファ24が格
納アドレス31を出力する。そして、カウンタ21は、
この繰り返しアドレスバッファ24が出力した格納アド
レス31をロードし、格納アドレス31として出力す
る。これにより、ループ終了命令の次の命令に係わるト
レース情報を前回の繰り返し命令に係わるトレース情報
の次のアドレスの格納領域に格納することができる。
【0035】このように、本実施例のプログラムデバッ
グ装置では、ループを構成する各命令がトレースメモリ
14内の同じ格納領域に繰り返し格納されるので、最終
的には、ループを1回実行した分のトレース情報のみが
トレースメモリ14内に格納されることとなる。
【0036】したがって、ループを実行した際に、これ
に係わるトレース情報がトレースメモリ14で占める格
納領域を少なくすることができる。
【0037】なお、本実施例では、最後に実行したルー
プについてのトレース情報をトレースメモリに残すこと
としたが、1回目に実行したループについてのトレース
情報のみをトレースメモリに残すこととしてもよい。ま
た、ループの繰り返し数をカウントするカウンタを新た
に付加することにより、予め設定された回数のループに
ついてのトレース情報をトレースメモリに残すことも可
能である。
【0038】
【発明の効果】以上詳細に説明したように、本発明のプ
ログラムデバッグ装置によれば、ループを実行した際の
トレース情報がトレースメモリ内に占める格納領域を少
なくすることができる。
【0039】したがって、トレースメモリの容量を増大
させることなく、プログラムのデバッグ作業の正確さや
効率を向上させることができる。
【図面の簡単な説明】
【図1】本発明の一実施例に係わるプログラムデバッグ
装置におけるトレース回路の構成を概略的に示すブロッ
ク図である。
【図2】図1に示したアドレス制御回路の構成を概略的
に示すブロック図である。
【符号の説明】
11 評価用CPU 12 マッピングメモリ 13 フラグメモリ 14 トレースメモリ 15 アドレス制御回路 21 カウンタ 22 初期値設定バッファ 23 開始アドレスバッファ 24 繰り返しアドレスバッファ 25 フリップフロップ 26 バッファ制御回路 31 格納アドレス 32 書込信号 33 ロード信号 34 格納アドレスの初期値 35 初期値制御信号 36 ループ開始信号 37 出力制御信号 38 ループ繰り返し信号 39 ループ終了信号

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】デバッグを行うプログラムを格納するマッ
    ピングメモリと、 このマッピングメモリに格納された前記プログラムの各
    命令に対応させて、当該命令がループ開始命令、ループ
    繰り返し命令、ループ終了命令または他の命令のいずれ
    に該当するかの情報を格納する命令情報格納メモリと、 前記マッピングメモリに格納された前記プログラムを実
    行し、トレース情報を出力するCPUと、 前記命令情報格納メモリに格納された前記情報に基づい
    て前記トレース情報を格納するアドレスを決定するアド
    レス制御回路と、 前記アドレス制御回路が決定したアドレスに前記トレー
    ス情報を格納するトレースメモリと、 を備えたことを特徴とするプログラムデバッグ装置。
  2. 【請求項2】前記CPUが前記ループ開始命令から前記
    ループ繰り返し命令までの各命令を複数回繰り返して実
    行した場合に、これらの各命令についてのトレース情報
    が前記トレースメモリ内の同一の格納領域に繰り返し格
    納されるように、前記アドレス制御回路がアドレスの決
    定を行うことを特徴とする請求項1記載のプログラムデ
    バッグ装置。
JP04325650A 1992-12-04 1992-12-04 プログラムデバッグ装置 Expired - Fee Related JP3100013B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP04325650A JP3100013B2 (ja) 1992-12-04 1992-12-04 プログラムデバッグ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04325650A JP3100013B2 (ja) 1992-12-04 1992-12-04 プログラムデバッグ装置

Publications (2)

Publication Number Publication Date
JPH06175883A true JPH06175883A (ja) 1994-06-24
JP3100013B2 JP3100013B2 (ja) 2000-10-16

Family

ID=18179195

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04325650A Expired - Fee Related JP3100013B2 (ja) 1992-12-04 1992-12-04 プログラムデバッグ装置

Country Status (1)

Country Link
JP (1) JP3100013B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010079343A (ja) * 2008-09-24 2010-04-08 Nec Corp トレース情報取得装置、トレース情報取得プログラム、および、トレース情報取得方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010079343A (ja) * 2008-09-24 2010-04-08 Nec Corp トレース情報取得装置、トレース情報取得プログラム、および、トレース情報取得方法

Also Published As

Publication number Publication date
JP3100013B2 (ja) 2000-10-16

Similar Documents

Publication Publication Date Title
JPH03204737A (ja) 信号処理プロセッサのデバッグ回路
JPH0447856B2 (ja)
JPH06175883A (ja) プログラムデバッグ装置
JP2878264B1 (ja) トレーサ装置、トレースデータ圧縮方法および圧縮トレースデータ読み出し方法
JPH0222413B2 (ja)
JPH0530225B2 (ja)
JP4253715B2 (ja) プロセッサ
JPS5936853A (ja) 演算処理装置
JPH0716189Y2 (ja) ブレーク回路
JP2581214B2 (ja) 論理シミュレータ
JPH0683986A (ja) シングルチップ・マイクロコンピュータ
JPH01166144A (ja) ファームウェア・プログラムのデバッグ方式
JPS62119642A (ja) トレ−ス方式
JPS61217833A (ja) 演算処理装置
JPS6230392B2 (ja)
JPS60193046A (ja) 命令例外検出方式
JPS63131238A (ja) 論理シミユレ−タ
JPS59167760A (ja) 情報処理装置
JPH0264828A (ja) アドレストレース回路
JPH0756637B2 (ja) 演算処理装置
JPH0474242A (ja) Ramテスト回路
JPH03121550A (ja) マイクロプロセッサ
JPH0287227A (ja) データ処理装置
JPS5852261B2 (ja) プログラム処理方式
JPS6389940A (ja) プログラムトレ−ス回路

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000728

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070818

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080818

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090818

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees