(57)【要約】【課題】  複雑な計算が不要で、イベント情報を取得することなく、ブレーク時に次のブレークポイントを容易に設定することができるデバッグシステムを提供する。【解決手段】  プログラム実行中に発生する事象に対してブレーク対象を設定、検出してプログラムブレークするデバッグシステムにおいて、プログラム実行中に時間間隔でブレーク条件設定内容を再計算する再計算手段７と、ブレーク条件を再設定するブレーク再設定手段５とを備えた。【選択図】  図１
2005301616.tif 000002
【特許請求の範囲】
【請求項１】
プログラム実行中に発生する事象に対してブレーク対象を設定、検出してプログラムブレークするデバッグシステムにおいて、プログラム実行中に時間間隔でブレーク条件設定内容を再計算する再計算手段と、ブレーク条件を再設定するブレーク再設定手段とを備えたことを特徴とするデバッグシステム。
【請求項２】
請求項１のデバッグシステムにおいて、プログラム実行中に前記ブレーク条件設定内容の再計算をブレークポイントによりブレーク条件が一致した時に行うことを特徴とするデバッグシステム。
【請求項３】
請求項１のデバッグシステムにおいて、プログラム実行中に前記ブレーク条件設定内容の再計算をターゲット内部の資源をバスモニタして設定した条件と一致した時に行うことを特徴とするデバッグシステム。
【請求項４】
請求項１のデバッグシステムにおいて、プログラム実行中に前記ブレーク条件設定内容の再計算をターゲット外部信号が設定した条件と一致した時に行うことを特徴とするデバッグシステム。
【請求項５】
請求項１乃至４のデバッグシステムにおいて、前記ブレーク条件設定内容の再計算を行う各タイミングにおいて再計算して前記ブレーク条件に再設定した条件データをトレースメモリに記録して、前記ブレーク条件に再設定された条件データを参照可能とすることを特徴とするデバッグシステム。
【請求項６】
請求項５のデバッグシステムにおいて、前記ブレーク条件設定内容の再計算のため、ターゲット内部の資源をバスモニタした情報データをトレースメモリに記録して、前記バスモニタした情報データを参照可能とすることを特徴とするデバッグシステム。
【請求項７】
請求項５、６のデバッグシステムにおいて、再計算の比較判定が複数の設定式と比較式で行われることを特徴とするデバッグシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコンピュータのデバッグシステムに関する。
【背景技術】
【０００２】
デバッグシステムに関連して、例えば特許文献１に記載された技術は、ブレークポイント情報に従ってプログラムの停止、ブレークポイントの無効化、有効化をブレークポイント切替回路で行い、マルチタスク環境の不要なブレークポイントの解除、有効化を行うようにしたものである。
また、被デバッグプログラムの実行履歴を、プログラム実行中に発生したイベント情報を含むイベントトレースからあらかじめ取得して、イベントトレースの中から、所望のイベントを選択してブレークポイントを設定する方法が提案されている（例えば、特許文献２参照）。
【特許文献１】特開２０００−１７２５３２公報
【特許文献２】特開２００１−３４５０３公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
プログラムのデバッガにおいて、ブレーク条件を設定してプログラム実行し、ブレーク条件に一致した場所でプログラムブレークしてターゲット内部をデバッグして問題解析する。ブレーク場所で問題解決できない場合、次にブレーク条件を設定してプログラム実行して同様の手順でデバッグを行う。このようにデバッグではブレーク条件設定、実行・ブレーク、解析を繰返し行うことが多く問題を特定できるまで時間を要している。一定時間間隔でブレーク対象とする事象が変化する状態では一定時間間隔に変化事象によってブレーク条件を設定することができない。
本発明は、複雑な計算が不要で、イベント情報を取得することなく、ブレーク時に次のブレークポイントを容易に設定することができるデバッグシステムを提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記目的を達成するために、請求項１記載の発明は、プログラム実行中に発生する事象に対してブレーク対象を設定、検出してプログラムブレークするデバッグシステムにおいて、プログラム実行中に時間間隔でブレーク条件設定内容を再計算する再計算手段と、ブレーク条件を再設定するブレーク再設定手段とを備えたデバッグシステムを最も主要な特徴とする。
請求項２記載の発明は、請求項１のデバッグシステムにおいて、プログラム実行中に前記ブレーク条件設定内容の再計算をブレークポイントによりブレーク条件が一致した時に行うことを特徴とする。
請求項３記載の発明は、請求項１のデバッグシステムにおいて、プログラム実行中に前記ブレーク条件設定内容の再計算をターゲット内部の資源をバスモニタして設定した条件と一致した時に行うことを特徴とする。
請求項４記載の発明は、請求項１のデバッグシステムにおいて、プログラム実行中に前記ブレーク条件設定内容の再計算をターゲット外部信号が設定した条件と一致した時に行うことを特徴とする。
請求項５記載の発明は、請求項１乃至４のデバッグシステムにおいて、前記ブレーク条件設定内容の再計算を行う各タイミングにおいて再計算して前記ブレーク条件に再設定した条件データをトレースメモリに記録して、前記ブレーク条件に再設定された条件データを参照可能とすることを特徴とする。
請求項６記載の発明は、請求項５のデバッグシステムにおいて、前記ブレーク条件設定内容の再計算のため、ターゲット内部の資源をバスモニタした情報データをトレースメモリに記録して、前記バスモニタした情報データを参照可能とすることを特徴とする。
請求項７記載の発明は、請求項５、６のデバッグシステムにおいて、再計算の比較判定が複数の設定式と比較式で行われるデバッグシステムを主要な特徴とする。
【発明の効果】
【０００５】
本発明では、プログラム実行中に発生する事象に対してブレーク対象を設定、検出してプログラムブレークするデバッグシステムにおいて、プログラム実行中に時間間隔でブレーク条件設定内容を再計算する再計算手段と、ブレーク条件を再設定するブレーク再設定手段とを備えたことにより、所期の目的を達成することができる。
【発明を実施するための最良の形態】
【０００６】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
図１は本発明の第１の実施形態に係るデバッグシステムの構成図である。以下、その構成を動作と併せて説明する。
エミュレータ上のマイクロプロセッサ１のプログラムデバッグを行う場合、プログラムブレーク条件をデバッガ２より、ブレーク条件回路３に設定、登録する。プログラム実行するとブレーク判定回路４は、プログラム実行状況とブレーク条件を比較判定して一致する場合、プログラムをブレークしてデバッグを行う。
デバッガ２よりブレーク再設定回路５にブレーク条件再設定の開始条件としての時間情報（時間間隔等）と、再計算の条件を設定する。ブレーク再設定回路５はブレーク再設定開始情報をクロック回路（タイマー回路）６に設定する。また、ブレーク再設定回路５はブレーク条件再設定の再計算情報を再計算回路７に設定する。
デバッガ２でプログラム開始するとブレーク再設定回路５にプログラム開始を信号出力して、ブレーク再設定回路５はクロック回路６にタイマー計測開始を出力する。クロック回路６はタイマー計測して、デバッガ２から設定されたタイマー値と一致した時、再計算回路７に一致信号を出力する。タイマーが再計測するかはデバッガ２より設定され、再計測を開始する。
再計算回路７はクロック回路６からの一致信号でデバッガ２から設定された再計算方法に従ってブレーク条件を再計算する。再計算終了後、再計算回路７はブレーク再設定回路５にブレーク条件再設定条件データを出力する。ブレーク再設定回路５は、再計算回路７からのブレーク条件再設定条件データをブレーク条件回路３に設定する。符号８はメモリ、９はＩ／Ｏである。
【０００７】
図２は本発明の第２の実施形態に係るデバッグシステムの構成図である。同じ構成要素には同じ参照番号を付して説明する。デバッガ２よりブレーク再設定回路１５にブレーク条件再設定の開始条件としてのブレーク条件と、再計算の条件を設定する。ブレーク再設定回路１５はブレーク再設定開始情報をブレーク判定回路１４に設定する。また、ブレーク再設定回路１５はブレーク条件再設定の再計算情報を再計算回路１７に設定する。
デバッガ２でプログラム開始して、ブレーク判定回路１４はブレーク条件と一致した時、再計算回路１７に一致信号を出力する。再計算回路１７はブレーク判定回路１４からの一致信号でデバッガ２から設定された再計算方法に従ってブレーク条件を再計算する。
再計算終了後、再計算回路１７はブレーク再設定回路１５にブレーク条件再設定条件データを出力する。ブレーク再設定回路１５は、再計算回路１７からのブレーク条件再設定条件データをブレーク条件回路１３に設定する。
【０００８】
図３は本発明の第３の実施形態に係るデバッグシステムの構成図である。デバッガ２よりブレーク再設定回路６５にブレーク条件再設定の開始条件としてのターゲットのバス状態と、再計算の条件を設定する。ブレーク再設定回路６５はブレーク再設定開始情報を内部に設定する。また、ブレーク再設定回路６５はブレーク条件再設定の再計算情報を再計算回路６７に設定する。
デバッガ２でプログラム開始して、ブレーク再設定回路６５はターゲットバス状態を監視して、設定した条件と一致した時、再計算回路６７に一致信号を出力する。再計算回路６７はブレーク再設定回路６５からの一致信号でデバッガ２から設定された再計算方法に従ってブレーク条件を再計算する。
再計算終了後、再計算回路６７はブレーク再設定回路６５にブレーク条件再設定条件データを出力する。ブレーク再設定回路６５は再計算回路６７からのブレーク条件再設定条件データをブレーク条件回路６３に設定する。
【０００９】
図４は本発明の第４の実施形態に係るデバッグシステムの構成図である。デバッガ２よりブレーク再設定回路３５にブレーク条件再設定の開始条件としての外部ターゲット信号状態と、再計算の条件を設定する。ブレーク再設定回路３５はブレーク再設定開始情報を内部に設定する。また、ブレーク再設定回路３５はブレーク条件再設定の再計算情報を再計算回路３７に設定する。外部ターゲット１１はターゲットの一部として同期して動作する。
デバッガ２でプログラム開始して、ブレーク再設定回路３５は外部ターゲット１１の信号状態を監視して、設定した条件と一致した時、再計算回路３７に一致信号を出力する。再計算回路３７はブレーク再設定回路３５からの一致信号でデバッガ２から設定された再計算方法に従ってブレーク条件を再計算する。
再計算終了後、再計算回路３７はブレーク再設定回路３５にブレーク条件再設定条件データを出力する。ブレーク再設定回路３５は再計算回路３７からのブレーク条件再設定条件データをブレーク条件回路３３に設定する。
【００１０】
図５は本発明の第５の実施形態に係るデバッグシステムの構成図である。デバッガ２よりブレーク再設定回路４５にブレーク条件再設定の開始条件と再計算の条件を設定する。ブレーク再設定回路４５はブレーク再設定開始情報をクロック回路４６、ブレーク判定回路４４、内部のいずれかに設定する。また、ブレーク再設定回路４５はブレーク条件再設定の再計算情報を再計算回路４７に設定する。
デバッガ２でプログラム開始して、クロック回路４６によるタイマー判定、ブレーク判定回路４４によるブレーク判定、ブレーク再設定回路４５によるターゲットバス監視および外部ターゲット１１の信号状態の監視を行いその結果、設定した条件のいずれかが一致した時、再計算回路４７に一致信号が出力され、再計算回路４７は一致信号でデバッガ２から設定された再計算方法に従ってブレーク条件を再計算する。
再計算終了後、再計算回路４７はブレーク再設定回路４５にブレーク条件再設定条件データを出力する。また、トレースメモリ１２にブレーク条件再設定条件データを出力する。トレースメモリ１２は再計算回路４７からのブレークブレーク条件再設定条件データを記録する。
【００１１】
図６は本発明の第６の実施形態に係るデバッグシステムの構成図である。デバッガ２よりブレーク再設定回路５５にブレーク条件再設定の開始条件と再計算の条件を設定する。ブレーク再設定回路５５はブレーク再設定開始情報をクロック回路５６、ブレーク判定回路５４、内部のいずれかに設定する。また、ブレーク再設定回路５５はブレーク条件再設定の再計算情報を再計算回路５７に設定する。
デバッガ２でプログラム開始して、クロック回路５６によるタイマー判定、ブレーク判定回路５４によるブレーク判定、ブレーク再設定回路５５によるターゲットバス監視および外部ターゲット１１の信号状態の監視を行いその結果、設定した条件のいずれかが一致した時、再計算回路５７に一致信号が出力され、再計算回路５７は一致信号でデバッガ２から設定された再計算方法に従ってブレーク条件を再計算する。
再計算回路５７はデバッガ２から設定された再計算方法がターゲット内部情報の場合、バスを監視して該当の情報を記録して計算に使用する。または、バスを介してマイクロプロセッサ１をコントロールしてメモリ８、Ｉ／Ｏ９の情報を取得して演算に使用する。再計算回路５７が再計算のため、記録したバス情報をトレースメモリ１２に出力する。トレースメモリ１２は再計算回路５７からの再計算のために記録したターゲット情報をトレースメモリ１２に記録する。
【００１２】
図７は本発明の第７の実施形態に係るデバッグシステムの構成図である。デバッガ２より再計算回路７内の条件値設定回路２１に条件式と設定式を対で設定する。比較式判定回路２２で比較式を解析して、比較回路２３、２４、２５に比較内容を設定する。
プログラムが実行されるとアドレス、データバス情報がバスモニタ回路２６で監視されて比較回路２３で比較され、比較情報と一致すると条件選択回路２７に一致信号を出力する。条件選択回路２７は一致信号タイミングで比較情報を持って条件選択信号を出力する。設定式判定回路２８は条件値設定回路２１の設定式を選択し、演算回路２９はこれを解析し、ブレーク再設定回路５にブレーク条件を設定する。
また、デバッガ２より設定された判定回路３０、判定回路３１の一致信号をカウンタ３２、カウンタ３３でカウントする。カウンタ３２、カウンタ３３は比較回路２４、比較回路２５で条件値設定回路２１より設定された比較値と比較され、比較情報と一致すると条件選択回路２７に一致信号を出力する。条件選択回路２７は一致信号タイミングで比較情報を持って条件選択信号を出力する。設定式判定回路２８は条件値設定回路２１の設定式を選択し、演算回路２９はこれを解析し、ブレーク再設定回路５にブレーク条件を設定する。
【００１３】
本実施形態のデバッグシステムにおいては、一定時間間隔でブレーク対象とする事象が変化する状態でも一定時間間隔で変化事象によってブレーク条件を設定することが可能となる。
また、デバッグではブレーク条件設定、実行・ブレーク、解析を繰返し行うことが多く問題を特定できるまで時間を要しているが、ブレーク条件と一致した時、ブレーク条件を再度設定することが可能となる。
また、ターゲットのメモリ、Ｉ／Ｏの状態によって、ブレーク条件を再度設定することが可能となる。
また、ターゲットの外部信号状態によって、ブレーク条件を再度設定することが可能となる。
また、プログラム実行中の任意タイミングでブレーク条件を再設定する場合、ブレーク条件に再設定した条件を参照することが可能となる。
また、プログラム実行中に任意タイミングでブレーク条件を再設定する場合、再設定のためにモニタしたターゲット内部資源を参照することが可能となる。
また、プログラム実行中に任意タイミングでブレーク条件を再設定する場合、再設定タイミングが複数条件であるとき、比較判定が複数の設定式と比較式で設定が可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態に係るデバッグシステムの構成図である。
【図２】本発明の第２の実施形態に係るデバッグシステムの構成図である。
【図３】本発明の第３の実施形態に係るデバッグシステムの構成図である。
【図４】本発明の第４の実施形態に係るデバッグシステムの構成図である。
【図５】本発明の第５の実施形態に係るデバッグシステムの構成図である。
【図６】本発明の第６の実施形態に係るデバッグシステムの構成図である。
【図７】本発明の第７の実施形態に係るデバッグシステムの構成図である。
【符号の説明】
【００１５】
５  ブレーク再設定回路（ブレーク再設定手段）、７  再計算回路（再計算手段）
【図１】
2005301616.tif 000003
【図２】
2005301616.tif 000004
【図３】
2005301616.tif 000005
【図４】
2005301616.tif 000006
【図５】
2005301616.tif 000007
【図６】
2005301616.tif 000008
【図７】
2005301616.tif 000009