(57)【要約】【課題】  本発明の課題は、トレースメモリの容量を増大することなく、デバッグ作業の効率化を図ることができるデータトレース装置及びプログラムデバッグ装置を得ることである。【解決手段】  メインメモリ９に記憶されたプログラムを順次実行するプロセッサ１１と、プロセッサ１１の実行結果を一時的に格納するキャッシュメモリ１５と、デバッグ用のトレース情報を保存するトレースメモリ１３と、プロセッサ１１から先に出力されてキャッシュメモリ１３に格納された一方のトレース情報とプロセッサから後に出力される他方のトレース情報とを比較するトレース情報比較手段２３とを備え、キャッシュメモリ１５に格納された一方のトレース情報と、後から出力された他方のトレース情報とが重複する場合には、重複するトレース情報はトレースメモリ１３に書き込まないようにしている。【選択図】      図１
2006330778.tif 000002
【特許請求の範囲】
【請求項１】
メインメモリに記憶されたプログラムを順次実行するプロセッサと、プロセッサの実行結果を一時的に格納するキャッシュメモリと、デバッグ用のトレース情報を保存するトレースメモリと、プロセッサから先に出力されてキャッシュメモリに格納された一方のトレース情報とプロセッサから後に出力される他方のトレース情報とを比較するトレース情報比較手段とを備え、キャッシュメモリに格納された一方のトレース情報と、後から出力された他方のトレース情報とが重複する場合には、重複するトレース情報はトレースメモリに書き込まないことを特徴とするデータトレース装置。
【請求項２】
請求項１に記載のトレースメモリに書き込まれたトレース情報に基づいてデバッグを行なうことを特徴とするプログラムデバッグ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データトレース装置及びプログラムデバッグ装置に関する。
【背景技術】
【０００２】
従来、プログラムのデバッグを行なう場合、レジスタ等のトレース情報を一旦トレースメモリに格納し、トレースメモリに格納したトレース情報をＰＣのディスプレイで表示させてプログラムをデバッグする方法が知られている。トレースメモリは高速で演算処理させるためにプロセッサと同一基板に設けている。
【０００３】
しかし、トレースメモリをプロセッサと同一基板に設ける場合、トレースメモリのサイズが小さくなり処理容量が限られていた。このため、一度に長時間のトレースを実行することが難しく、トレース範囲の直前部分のデータのみを取得したり、トレース範囲の前後部分のデータのみを取得する等の制限を行なっていた。
【０００４】
一方、特許文献１にはプロセッサと同一基板上にトレースメモリを設けるとともに、基板の外部に別途トレースメモリを設けた技術が開示されている。
【０００５】
【特許文献１】特開２００１−２４９８２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１に記載の従来技術は、トレースメモリを複数設けてあるので、その分コストが高くなると共に不必要な情報も多く残るためデバッグ作業に時間がかかるという問題があった。
【０００７】
本発明は、トレースメモリの容量を増大することなく、デバッグ作業の効率化を図ることができるデータトレース装置及びプログラムデバッグ装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
前記課題を解決するために、請求項１に記載された発明は、メインメモリに記憶されたプログラムを順次実行するプロセッサと、プロセッサの実行結果を一時的に格納するキャッシュメモリと、デバッグ用のトレース情報を保存するトレースメモリと、プロセッサから先に出力されてキャッシュメモリに格納された一方のトレース情報とプロセッサから後に出力される他方のトレース情報とを比較するトレース情報比較手段とを備え、キャッシュメモリに格納された一方のトレース情報と、後から出力された他方のトレース情報とが重複する場合には、重複するトレース情報はトレースメモリに書き込まないことを特徴とする。
【０００９】
請求項２に記載された発明は、請求項１に記載のトレースメモリに書き込まれたトレース情報に基づいてデバッグを行なうことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、キャッシュメモリに格納された一方のトレース情報と、後から出力された他方のトレース情報とが重複する場合には、重複するトレース情報をトレースメモリに書き込まないので、トレースメモリ内に同じ内容のトレース情報が格納されない。よって、トレースメモリの容量を増大することなく、デバッグ作業の効率化を図ることができる。
【発明を実施するための最良の形態】
【００１１】
以下に、添付図面を参照して、本発明の実施の形態を詳細に説明する。図１は本発明に係るデータトレース装置を備えたプログラム装置の全体を示すブロック図、図２は図１に示すデータトレース装置を示すブロック図、図３は本発明の実施の形態に係るデータトレース装置の制御動作を示すフローチャートである。
【００１２】
図１に示すように、本発明の実施の形態に係るプログラム装置（プログラムデバッグ装置１）は、デバッグの対象となるターゲット装置３と、ターゲット装置３内にアクセスしてターゲット装置３内のトレース情報を取得するデバッグツール５と、デバッグツール５で取得したトレース情報をディスプレイ上に表示させてプログラムのデバッグを行なうデバッグ用ＰＣ７と、トレース情報の解析を行なって後述のメインメモリ９に所望のトレース情報のみを格納するデータトレース部（データトレース装置２０）とを備えている。
【００１３】
ターゲット装置３はプログラムを格納したメインメモリ９と、メインメモリ９に格納されたプログラムを実行しトレース情報を出力するプロセッサ１１と、プロセッサ１１から出力されたトレース情報を格納するトレースメモリ１３と、プロセッサ１１から出力されたトレース情報を一時的に格納するためのキャッシュメモリ１５とを備えている。
【００１４】
次にデータトレース部２０について説明する。データトレース部２０はトレースを行うトレース情報の範囲を選択するトレース範囲選択部２１と、先に出力してキャッシュメモリ１５に格納されたトレース情報と後から出力されるトレース情報とを比較するトレース範囲チェック部（トレース情報比較手段）２３と、トレースメモリ９を節約するモードと節約しないモードとを判断するトレース動作状態判断部２５と、後から出力されるトレース情報を一時的に記憶するトレース情報記憶部２７とを備えている。
【００１５】
次に本実施の形態に係るプログラム装置の作用及び効果について図３に示すフローチャートに基づき説明する。データトレース部２０においてトレースが開始されると（ステップＳ１）、トレース範囲選択部２１で予め設定された範囲のトレース情報（実行結果Ａ）が取り込まれる（ステップＳ２）。そして、先に出力された実行結果Ａのデータはデータトレース部２０からキャッシュメモリ１５内に取り込まれる（ステップＳ３）。次のステップＳ４において、次のトレース情報（実行結果Ｂ）がデータトレース部２０内に取り込まれ、トレース動作状態判断部２５においてトレースメモリ１３が節約モードになっているか否かが判断される（ステップＳ５）。
【００１６】
ステップＳ５においてトレースメモリ１３を節約するモードになっている場合には、ステップＳ７に進み、トレースメモリ１３を節約するモードになっていない場合には、ステップＳ６に進む。ステップＳ６において、実行結果Ｂはトレースメモリ１３に書き込まれる。一方、ステップＳ７ではトレース範囲チェック部２３において、実行結果Ａと実行結果Ｂとが比較される。その結果、実行結果Ａと実行結果Ｂとが一致した場合には、実行結果Ｂのトレース情報はトレースメモリ１３に書き込まず、プロセッサ１１から次の実行結果を取得する（ステップＳ８）。
【００１７】
ステップＳ７において実行結果Ａの情報と実行結果Ｂの情報とが一致しない場合にはステップＳ６に進み、実行結果Ｂの情報はトレースメモリ１３に書き込まれる。以上のステップが繰り返されトレースメモリ１３内にトレース情報が書き込まれる。トレースメモリ１３に書き込まれたトレース情報はデバッグツール５で読み込まれ、取り込んだトレース情報に基づいてプログラムのデバッグが行なわれる。
【００１８】
本発明によれば、キャッシュメモリ１５に格納された先に出力された一方のトレース情報と、後から出力された他方のトレース情報とが重複しない場合にのみ、トレース情報をトレースメモリ１３に書き込むので、ループ等の繰り返し命令が存在した場合にその重複している命令の箇所はトレースメモリ１３に格納されず、トレースメモリ１３の無駄な消費を回避できる。よって、トレースメモリ１３の容量を増大することなく、デバッグ作業の効率化を図ることができる。
【００１９】
デバッグ作業の効率化により、プログラムの開発時間の短縮化を図ることができる。
【００２０】
なお、本発明は上述した実施の形態に限定されず、その要旨を逸脱しない範囲で種々の変形が可能である。上述の実施の形態では、データトレース部２０において実行結果Ａの情報と実行結果Ｂの情報とが同一内容の場合にトレースメモリ１３に書き込みを行なわず、次の実行結果を取り込むようにしたが、これに限定されず、実行結果Ａの情報と実行結果Ｂの情報とが一部重複する場合には、その重複する情報のみトレースメモリに書き込まず、重複しない情報についてはトレースメモリ１３に書き込むようにしても良い。
【図面の簡単な説明】
【００２１】
【図１】本発明に係るプログラム装置の全体を示すブロック図である。
【図２】図１に示すデータトレース部を示すブロック図である。
【図３】本発明の実施の形態に係るデータトレース部の制御動作を示すフローチャートである。
【符号の説明】
【００２２】
１          プログラムデバッグ装置
９          メインメモリ
１１        プロセッサ
１３        トレースメモリ
１５        キャッシュメモリ
２０        データトレース装置
２３        トレース範囲チェック部（トレース情報比較手段）
【図１】
2006330778.tif 000003
【図２】
2006330778.tif 000004
【図３】
2006330778.tif 000005