(57)【要約】【課題】パイプライン処理を命令実行構造として採用したプロセッサにて実行されるプログラムのデバッグをより的確に実行すること。【解決手段】複数の命令を並列処理すると共に、少なくとも分岐命令、及び当該分岐命令に対して後続する命令をこの順に実行した後、分岐命令により指定される命令を実行するパイプライン処理型プロセッサによって処理されるプログラムのデバッグ方法であって、プログラムを構成する命令群に含まれ、かつ所望の停止位置にある命令を、自身の位置を分岐先として指定する分岐命令、及び当該分岐命令に続いて実行される停止命令に書き換え、当該書き換え後のプログラムを実行する。所望の停止位置にある命令を、遅延分岐命令及び停止命令に書き換えることによって、停止時にパイプライン上に残存する命令の影響を排除することができる。【選択図】図２
2011134236.tif 000002
【特許請求の範囲】
【請求項１】
複数の命令を並列処理すると共に、少なくとも分岐命令、及び当該分岐命令に対して後続する命令をこの順に実行した後、前記分岐命令により指定される命令を実行するパイプライン処理型プロセッサによって処理されるプログラムのデバッグ方法であって、
前記プログラムを構成する命令群に含まれ、かつ所望の停止位置にある命令を、自身の位置を分岐先として指定する分岐命令、及び当該分岐命令に続いて実行される停止命令に書き換え、
当該書き換え後のプログラムを実行する、デバッグ方法。
【請求項２】
前記書き換え後のプログラムの実行後、前記分岐命令及び前記停止命令を、所望の停止位置にあった元の前記命令に書き戻し、
当該書き戻し後のプログラムを実行することを特徴とする請求項１に記載のデバッグ方法。
【請求項３】
所望の位置にある前記命令は、前記プログラムを実行するターゲットシステム上にて、前記分岐命令及び前記停止命令に書き換えられることを特徴とする請求項１又は２に記載のデバッグ方法。
【請求項４】
前記分岐命令及び前記停止命令は、前記ターゲットシステム上にて、所望の停止位置にあった元の前記命令に書き戻されることを特徴とする請求項３に記載のデバッグ方法。
【請求項５】
前記ターゲットシステムは、
前記パイプライン処理型プロセッサと、
デバッグ対象の前記プログラムを保持するメモリと、
前記プロセッサと前記メモリ間を接続するバスと、
を少なくとも備えることを特徴とする請求項４に記載のデバッグ方法。
【請求項６】
前記パイプライン処理型プロセッサは、
前記分岐命令、及び前記停止命令をこの順で実行し、その後、前記分岐命令によって指定される所望の停止位置にあった前記命令を実行することを特徴とする請求項５に記載のデバッグ方法。
【請求項７】
複数の命令を並列処理すると共に、少なくとも分岐命令、及び当該分岐命令に対して後続する命令をこの順に実行した後、前記分岐命令により指定される命令を実行するパイプライン処理型プロセッサによって処理されるデバッグ対象プログラムをデバッグするためのプログラムであって、
前記デバッグ対象プログラムを構成する命令群に含まれ、所望の停止位置にある命令を、自身の位置を分岐先として指定する分岐命令、及び当該分岐命令に続いて実行される停止命令に書き換えさせ、
当該書き換え後の前記デバッグ対象プログラムを実行させる、プログラム。
【請求項８】
前記書き換え後の前記デバッグ対象プログラムの実行後、前記分岐命令及び前記停止命令を所望の停止位置にあった元の前記命令に書き戻させ、
当該書き戻し後の前記デバッグ対象プログラムを実行させることを特徴とする請求項７に記載のプログラム。
【請求項９】
請求項７又は８に記載のプログラムを格納した情報記録媒体。
【請求項１０】
複数の命令を並列処理すると共に、少なくとも分岐命令、及び当該分岐命令に対して後続する命令をこの順に実行した後、前記分岐命令により指定される命令を実行するパイプライン処理型プロセッサ、及び前記パイプライン処理型プロセッサによって処理されるデバッグ対象プログラムを格納したメモリを少なくとも有するターゲットシステムと、
前記ターゲットシステムに通信可能に構成された情報処理装置と、
を備えるシステムであって、
前記情報処理装置は、前記デバッグ対象プログラムを構成する命令群に含まれ、所望の停止位置にある命令を、自身の位置を分岐先として指定する分岐命令、及び当該分岐命令に続いて実行される停止命令に書き換え、
前記ターゲットシステムは、前記情報処理装置による書き換え処理後のプログラムを実行する、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パイプライン処理型プロセッサによって処理されるプログラムのデバッグ方法に関する。
【背景技術】
【０００２】
近年、特定の分野の特化した様々なタイプのマイクロプロセッサが設計／開発されている。マイクロプロセッサのアーキテクチャ設計時には、とりわけマイクロプロセッサの性能面を重視する傾向がある。この結果、マイクロプロセッサのアーキテクチャを設計する際、マイクロプロセッサ上で処理されるプログラムのデバッグ環境を考慮することは疎かになる傾向がある。
【０００３】
マイクロプロセッサ上で処理されるプログラムをデバッグするとき、プログラムの実行中の状態を確認するためにブレークポイントを設定する場合がある。プログラムを停止させたい位置（停止スロット）にブレークポイントを設定することで、プログラムの実行時、ブレークポイントへの到達に応じてプログラムの実行を停止させることができる。これにより、プログラム実行過程でのマイクロプロセッサの状態を把握し、プログラムを評価することが可能になる。
【０００４】
ブレークポイントを設定する方法の１つとして、ソフトウェアブレークと呼ばれる手法がある。この手法では、停止位置にある命令を停止命名に一時的に書き換えることで、プログラムを所望の位置にて停止させることを可能としている。
【０００５】
特許文献１には、プログラムの実行を停止する際の遷移期間においてデバッグ動作が実行されることにより生じるパイプライン・ハザードを解消できるプロセッサが開示されている。特許文献２には、特定命令での停止の際に、後続命令による影響が出ないようにして、シミュレーション結果の解析を容易にすることができ、ユーザによるソフトウェア開発における開発効率を向上することができるデジタル計算機のシミュレータが開示されている。特許文献３には、ブレークポイントのユーザープログラムの再実行において、ブレークポイントの書き換えを行なわずに再実行を可能とするプログラムデバッグ方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２６９３９０号公報
【特許文献２】特開平１１−２８８３７４号公報
【特許文献３】特開２００５−２８４５４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
パイプライン処理を命令実行構造として採用したプロセッサにて実行されるプログラムに対してソフトウェアブレークを設定する場合、停止命令の実行時、後続の命令がパイプライン上に残存してしまう場合がある（後述の比較例参照）。このような場合、元の状態に復帰させたプログラムを実行すると、上述のようにパイプライン上に残存している後続の命令が先に実行されてしまう場合がある。この場合、停止位置にあった命令（ソフトウェアブレークの設定により停止命令に書き換えられた命令）からプログラムを再実行することができなくなってしまう。
【０００８】
上述の説明から明らかなように、パイプライン処理を命令実行構造として採用したプロセッサにて実行されるプログラムのデバッグをより的確に実行することが強く要求されている。
【課題を解決するための手段】
【０００９】
本発明に係るデバッグ方法は、複数の命令を並列処理すると共に、少なくとも分岐命令、及び当該分岐命令に対して後続する命令をこの順に実行した後、前記分岐命令により指定される命令を実行するパイプライン処理型プロセッサによって処理されるプログラムのデバッグ方法であって、前記プログラムを構成する命令群に含まれ、かつ所望の停止位置にある命令を、自身の位置を分岐先として指定する分岐命令、及び当該分岐命令に続いて実行される停止命令に書き換え、当該書き換え後のプログラムを実行する。所望の停止位置にある命令を、遅延分岐命令及び停止命令に書き換えることによって、停止時にパイプライン上に残存する命令の影響を排除することができる。
【００１０】
本発明に係るプログラムは、複数の命令を並列処理すると共に、少なくとも分岐命令、及び当該分岐命令に対して後続する命令をこの順に実行した後、前記分岐命令により指定される命令を実行するパイプライン処理型プロセッサによって処理されるデバッグ対象プログラムをデバッグするためのプログラムであって、前記デバッグ対象プログラムを構成する命令群に含まれ、所望の停止位置にある命令を、自身の位置を分岐先として指定する分岐命令、及び当該分岐命令に続いて実行される停止命令に書き換えさせ、当該書き換え後の前記デバッグ対象プログラムを実行させる。本発明に係る情報記録媒体は、上記のプログラムを格納する。
【００１１】
本発明に係るシステムは、複数の命令を並列処理すると共に、少なくとも分岐命令、及び当該分岐命令に対して後続する命令をこの順に実行した後、前記分岐命令により指定される命令を実行するパイプライン処理型プロセッサ、及び前記パイプライン処理型プロセッサによって処理されるデバッグ対象プログラムを格納したメモリを少なくとも有するターゲットシステムと、前記ターゲットシステムに通信可能に構成された情報処理装置と、を備えるシステムであって、前記情報処理装置は、前記デバッグ対象プログラムを構成する命令群に含まれ、所望の停止位置にある命令を、自身の位置を分岐先として指定する分岐命令、及び当該分岐命令に続いて実行される停止命令に書き換え、前記ターゲットシステムは、前記情報処理装置による書き換え処理後のプログラムを実行する。
【発明の効果】
【００１２】
本発明によれば、パイプライン処理を命令実行構造として採用したプロセッサにて実行されるプログラムのデバッグをより的確に実行することが可能になる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１実施形態にかかるデバッグシステムの概略的な構成を示す模式図である。
【図２】本発明の第１実施形態にかかる概略的なデバッグ方法を示すフローチャートである。
【図３】本発明の第１実施形態にかかる命令の書き換え処理を示す説明図である。
【図４】本発明の第１実施形態にかかる命令の書き換え処理を示す説明図である。
【図５】本発明の第１実施形態にかかるプロセッサの命令実行状態を示すタイミングチャートである。
【図６】本発明の第１実施形態にかかるプロセッサの命令実行状態を示すタイミングチャートである。
【図７】本発明の第１実施形態にかかるプロセッサの命令実行状態を示すタイミングチャートである。
【図８】本発明の比較例にかかるデバッグ方法を示すフローチャートである。
【図９】本発明の比較例にかかる命令の書き換え処理を示す説明図である。
【図１０】本発明の比較例にかかる命令の書き換え処理を示す説明図である。
【図１１】本発明の比較例にかかるプロセッサの命令実行状態を示すタイミングチャートである。
【発明を実施するための形態】
【００１４】
［第１実施形態］
以下、図１乃至図７を参照して、本発明の第１実施形態について説明する。図１は、デバッグシステムの概略的な構成を示す模式図である。図２は、デバッグ方法を示すフローチャートである。図３及び図４は、命令の書き換え処理を示す説明図である。図５乃至図７は、プロセッサの命令実行状態を示すタイミングチャートである。
【００１５】
図１に示すように、デバッグシステム１００は、コンピュータ（情報処理装置）１０、及びターゲットシステム２０を有する。ターゲットシステム２０は、プロセッサ２１、バス２５、及びメモリ２６を有する。プロセッサ２１とメモリ２６とは、バス２５を介して互いに接続されている。コンピュータ１０の入出力端子１５とターゲットシステム２０のデバッグ端子２２とは、通信ケーブルを介して互いに接続されている。
【００１６】
コンピュータ１０には、デバッグソフトウェアがインストールされている。以下、説明の便宜上、デバッグソフトウェアによるコンピュータの動作は、単にコンピュータの動作として説明する。なお、デバッグソフトウェアの具体的な構成、機能は任意である。
【００１７】
コンピュータ１０は、ターゲットシステム２０を制御する。例えば、コンピュータ１０は、ターゲットシステム２０に対して指令を供給し、ターゲットシステム２０に対してメモリ２６に格納されたプログラムの実行を指示する。例えば、コンピュータ１０は、プロセッサ２１のレジスタに保持されている値をプロセッサ２１からコンピュータ１０へ転送させる。コンピュータ１０は、デバッガーとして機能し、ターゲットシステム２０上でのプログラムのデバッグ処理を制御する。
【００１８】
なお、コンピュータ１０は、マザーボード、ドーターボード、ハードディスク、ディスプレス、キーボード、マウス等から組み立てられる一般的なコンピュータである。マザーボード上には、ＣＰＵ(Central Processing Unit)、メモリ、バスが実装されている。コンピュータ１０は、ハードディスクに格納されたデバッグソフトウェア（プログラム）をＣＰＵにて実行することによりデバッガーとして機能する。
【００１９】
ターゲットシステム２０は、デバッグ対象のプログラム（被デバッグプログラム）を実行するシステムである。デバッグ対象のプログラムは、メモリ２６に格納されている。プロセッサ２１は、メモリ２６に格納されたプログラムを実行する。
【００２０】
プロセッサ２１は、パイプライン処理を命令実行構造として採用している。具体的には、プロセッサ２１は、プログラムを構成する個々の命令を並列的に処理する。より詳細には、プロセッサ２１は、各命令を構成する基本動作（プロセスエレメント）単位で、各命令を並列処理する。これによりプロセッサによるプログラムの実行を高速化することができる。プロセッサ２１は、パイプライン構造のＡＬＵ(Arithmetic and Logic Unit)、内部バス、レジスタ、及びクロックジェネレータ等から構成される一般的なパイプライン処理型プロセッサである。メモリ２６は、ＲＡＭ(Random Access Memory)等の一般的な記憶装置である。なお、パイプラインのステージ数は任意である。なお、プログラムのデバッグ時、プロセッサ２１には遅延分岐命令（次の命令を実行してから分岐する命令）が存在する。
【００２１】
図３乃至図７を参照しつつ、図２のフローチャートに基づいて本実施形態に係るデバッグ方法を説明する。より詳細には、ブレークポイントの設定及び解除処理について説明する。
【００２２】
はじめに、ブレークポイントにある命令を、分岐命令、及び停止命令からなる命令列に書き換える（Ｓ１０１）。具体的には、コンピュータ１０は、図３の点線枠内の位置にある命令を図４の点線枠内の位置にある命令列に書き換えることをターゲットシステム２０に指示する。ターゲットシステム２０は、コンピュータ１０から伝送された指令に応じて、メモリ２６上に保持されているプログラムに対して命令の書き換え処理を実行する。より具体的には、プロセッサ２１は、プログラムが格納されているメモリ２６にアクセスし、図３の点線枠内の位置にある命令を図４の点線枠内の位置にある命令列に書き換える。
【００２３】
なお、図３に示すように、書き換えられる命令は、ＰＣ(Program Counter)＝００１１の命令である。書き換えにより、ＰＣ＝００１２の命令は、ＰＣ＝００１３に繰り下げられている。図４に示すように、書き換えにより導入される命令列は、ＰＣ＝００１１の分岐命令（ジャンプ命令）、及びＰＣ＝００１２のプロセッサ処理停止命令からなる。なお、プログラムカウンタは、個々の命令が格納されたメモリ２６上のアドレスを識別する値である。また、後述の説明から明らかなように、分岐命令は、遅延分岐命令として機能する。換言すると、プロセッサ２１は、遅延分岐命令を許容するアーキテクチャから構成されている。単純な分岐命令ではなく、遅延分岐命令を導入することによって、パイプライン上に残存する命令の影響を排除して、命令列に書き換えられた元の命令からのプログラムの実行再開を可能とすることができる（後述の説明参照）。
【００２４】
次にプログラムを実行する（Ｓ１０２）。具体的には、コンピュータ１０は、ターゲットシステム２０に対してプログラムの実行を指示する。ターゲットシステム２０は、コンピュータ１０からの指令に応じて、メモリ２６上にプログラムをプロセッサ２１に処理させる。
【００２５】
図５を参照して、プロセッサ２１による命令の処理状態を説明する。なお、パイプライン処理では、個々の命令は、複数の基本動作（ＩＦ(Instruction Fetch)、ＥＸ(Execution）、ＷＢ(Write Back)から構成される。なお、基本動作をプロセスエレメントと呼ぶこともある。ＩＦは、命令を命令キャッシュからリードする動作を示す。ＥＸは、命令に基づく計算処理を実行する動作を示す。ＷＢは、計算処理の結果をレジスタにライトする動作を示す。ここでは、１つの命令は、３つの基本動作から構成されるが、これに限らず、１つの命令を５つの基本動作から構成させても良い。
【００２６】
時刻ｔ１０の後、ＰＣ＝００１０の命令を構成するＩＦ(Instruction Fetch)が実行される。次に、ＰＣ＝００１０の命令を構成するＥＸ、及びＰＣ＝００１１の命令を構成するＩＦが実行される。次に、ＰＣ＝００１０の命令を構成するＷＢ、ＰＣ＝００１１の命令を構成するＥＸ、及びＰＣ＝００１２の命令を構成するＩＦが実行される。次に、ＰＣ＝００１１の命令を構成するＷＢ、ＰＣ＝００１２の命令を構成するＥＸ、及びＰＣ＝００１３の命令を構成するＩＦが実行される。
【００２７】
本実施形態では、ＰＣ＝００１１の命令は、遅延分岐命令である。従って、分岐前、ＰＣ＝００１１の分岐命令の後続のＰＣ＝００１２の命令も実行されることになる。また、ＰＣ＝００１１の分岐命令は、自身のスロットを分岐先として指定している。このように遅延分岐命令の現在スロットを分岐先として指定することによって、書き換えられた命令からプログラムを再実行することが可能になる。より詳細には、遅延分岐命令の現在スロットを分岐先として指定することによって、プログラムの再開時、パイプライン上に存在するＰＣ＝００１３の命令を構成するＩＦを破棄すること（無効とすること）が可能になる。
【００２８】
上述のように、ＰＣ＝００１２の命令を構成するＥＸが実行されると、プログラムは停止する（Ｓ１０３）。そして、コンピュータ１０は、ターゲットシステム２０に対してターゲットシステム２０の状態値（プロセッサ２１が有するレジスタの保持値等）の転送を指示する。ターゲットシステム２０は、コンピュータ１０からの指令に応じて、その状態値をコンピュータ１０へ転送する。ユーザは、コンピュータ１０のディスプレスに表示される解析結果を確認する。なお、コンピュータ１０上にて実行されるデータの処理内容は任意である。
【００２９】
次に、プログラムを元の状態に戻す（Ｓ１０４）。具体的には、コンピュータ１０は、図４の点線枠内の位置にある命令列を図３の点線枠内の位置にある命令に書き戻すことをターゲットシステム２０に指示する。ターゲットシステム２０は、コンピュータ１０から伝送された指令に応じて、メモリ２６上に保持されているプログラムに対して命令の書き換え処理（書き戻し処理）を実行する。より具体的には、プロセッサ２１は、プログラムが格納されているメモリ２６にアクセスし、図４の点線枠内の位置にある命令列を図３の点線枠内の位置にある命令に書き戻す。
【００３０】
次に、初期状態に戻ったプログラムを実行する（Ｓ１０５）。具体的には、コンピュータ１０は、ターゲットシステム２０に対してメモリ２６上のプログラムの実行を指示する。
【００３１】
図６を参照して、プロセッサ２１による命令の処理状態を説明する。時刻ｔ２０以降、ＰＣ＝００１１の命令列が実行される。これは、上述のように、ＰＣ＝００１１の命令は、ＰＣ＝００１１を指定する遅延分岐命令であるためである。ＰＣ＝００１１は分岐命令であるため、上述のように、プログラムの再開時、パイプライン上に存在するＰＣ＝００１３の命令を構成するＩＦは破棄される。そして、図７に示すように、ＰＣ＝００１１の命令に並列して、ＰＣ＝００１２の命令、ＰＣ＝００１３の命令が並列処理される。
【００３２】
上述の説明から明らかなように、本実施形態では、基本動作単位で命令を並列的に処理するパイプライン処理型プロセッサにおいて処理されるプログラムをデバッグする際、所望の停止位置にある命令を遅延分岐命令と停止命令とに書き換える。また、その際、遅延分岐命令の遅延先として遅延分岐命令が存在する位置を指定する。これによって、デバッグ処理を次のようなフローとすることができる。まず、遅延分岐命令、及び停止命令が順次実行され、プログラムが停止する。次に、ターゲットシステムの状態を診断する。次に、プログラムを元の状態とし、停止位置として指定された命令からプログラムを実行する。このようなフローとすることによって、デバッグ過程にてプログラムの実行を一時的に停止させたとしても、元の位置から元の順番でプログラムを再実行することが可能になる。
【００３３】
なお、プロセッサ２１は、パイプライン処理を命令処理構造として採用し、かつ遅延分岐命令（直後の命令を実行したあと分岐する命令）に適合したアーキテクチャであれば良く、その具体的な構成は任意である。
【００３４】
［比較例］
以下、図８乃至図１１を参照して、比較例について説明する。図８は、デバッグ方法を示すフローチャートである。図９及び図１０は、命令の書き換え処理を示す説明図である。図１１は、プロセッサの命令実行状態を示すタイミングチャートである。なお、比較例に係るデバックシステムの構成は、第１実施形態と同様である。
【００３５】
図９乃至図１１を参照しつつ、図８に基づいて比較例におけるデバッグ方法について説明する。
【００３６】
まず、ブレークポイントにある命令を停止命令に書き換える（Ｓ１１１）。具体的には、コンピュータ１０は、図９の点線枠内の位置にある命令を図１０の点線枠内の位置にある命令に書き換えることをターゲットシステム２０に指示する。ターゲットシステム２０は、コンピュータ１０から伝送された指令に応じて、メモリ２６上に保持されているプログラムに対して命令の書き換え処理を実行する。より具体的には、プロセッサ２１は、プログラムが格納されているメモリ２６にアクセスし、図９の点線枠内の位置にある置換命令を図１０の点線枠内の位置にある停止命令に書き換える。
【００３７】
次にプログラムを実行する（Ｓ１１２）。具体的には、コンピュータ１０は、ターゲットシステム２０に対してプログラムの実行を指示する。ターゲットシステム２０は、コンピュータ１０からの指令に応じて、メモリ２６上にプログラムをプロセッサ２１に処理させる。
【００３８】
図１１を参照して、プロセッサ２１による命令の処理状態を説明する。
【００３９】
時刻ｔ３０の後、ＰＣ＝００１０の命令を構成するＩＦ(Instruction Fetch)が実行される。次に、ＰＣ＝００１０の命令を構成するＥＸ、及びＰＣ＝００１１の命令を構成するＩＦが実行される。次に、ＰＣ＝００１０の命令を構成するＷＢ、ＰＣ＝００１１の命令を構成するＥＸ、及びＰＣ＝００１２の命令を構成するＩＦが実行される。
【００４０】
ＰＣ＝００１２の命令を構成するＥＸが実行されると、プログラムは停止する（Ｓ１１３）。そして、コンピュータ１０は、ターゲットシステム２０に対してターゲットシステム２０の状態値（プロセッサ２１が有するレジスタの保持値等）の転送を指示する。ターゲットシステム２０は、コンピュータ１０からの指令に応じて、その状態をコンピュータ１０へ転送する。ユーザは、コンピュータ１０のディスプレスに表示される解析結果を確認する。
【００４１】
次に、プログラムを元の状態に戻す（Ｓ１１４）。具体的には、コンピュータ１０は、図１０の点線枠内の位置にある命令を図９の点線枠内の位置にある命令に書き戻すことをターゲットシステム２０に指示する。ターゲットシステム２０は、コンピュータ１０から伝送された指令に応じて、メモリ２６上に保持されているプログラムに対して命令の書き換え処理を実行する。より具体的には、プロセッサ２１は、プログラムが格納されているメモリ２６にアクセスし、図１０の点線枠内の位置にある命令を図９の点線枠内の位置にある命令に書き戻す。
【００４２】
次に、初期状態に戻ったプログラムを実行する（Ｓ１１５）。具体的には、コンピュータ１０は、ターゲットシステム２０に対してメモリ２６上のプログラムの実行を指示する。本比較例の場合、プログラムの再実行時、図１１に示すように、パイプライン上には、ＰＣ＝００１２のＩＦが存在する。従って、停止位置にあったＰＣ＝００１１の命令からプログラムを再開することができなく、デバッグをより的確に実行することが困難になる。
【００４３】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。ターゲットシステムの具体的な構成は任意である。コンピュータ１０の具体的な構成は任意である。パイプライン処理の具体的な構造は任意である。１つの命令を構成する基本動作数は任意である。コンピュータには、上述のデバッグ方法を実現するためのプログラム（デバッグソフトウェア）が格納されている。また、コンピュータは、このプログラムを記憶するメモリ又はハードディスク（情報記憶媒体）を有する。
【符号の説明】
【００４４】
１００    デバッグシステム
１０    コンピュータ
１５    入出力端子
２０    ターゲットシステム
２１    プロセッサ
２２    デバッグ端子
２５    バス
２６    メモリ
【図１】
2011134236.tif 000003
【図２】
2011134236.tif 000004
【図３】
2011134236.tif 000005
【図４】
2011134236.tif 000006
【図５】
2011134236.tif 000007
【図６】
2011134236.tif 000008
【図７】
2011134236.tif 000009
【図８】
2011134236.tif 000010
【図９】
2011134236.tif 000011
【図１０】
2011134236.tif 000012
【図１１】
2011134236.tif 000013