(57)【要約】【課題】ＬＳＩの内部だけの情報に限られ、また、その後のアクションが限定されるため、デバッグできる範囲が限られるといった課題があった。【解決手段】デバッグ対象装置１０にて異常が発生した際にデバッグ用コンピュータ４０において動作するデバッガにてレジスタ情報を入力する。このレジスタ情報にはプログラムカウンタの値が含まれているため、このプログラムカウンタの値を参照することによって、異常が発生した時点にてＣＰＵ１１が実行しているコードの位置が分かる。そして、この実行位置から前の部分に実行されたレジスタＡ，Ｂに対してアクセスを行うコードを解析することにより、ソフトウェア１１ａにおける何れのレジスタに対するアクセス処理が異常の原因となっているかを認識することが可能になる。【選択図】  図１
2004272679.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと同ＣＰＵにて制御される内部デバイスとを有するハードウェアおよび同ハードウェア環境にて実行されるソフトウェアについてデバッグするデバッグ装置であって、
上記ハードウェア内にて発生する所定の内部制御情報の遷移を認識可能なハードウェア情報を記録するハードウェア情報記録手段と、
上記記録されるハードウェア情報に基づいて上記ハードウェアに発生する異常を検出可能であるとともに、異常を検出した場合に所定の異常情報を出力するハードウェア異常検出手段と、
上記出力された異常情報を入力した場合に上記ハードウェアに対して同異常情報に基づいた所定のデバッグ制御処理を実行するデバッグ制御手段とを具備することを特徴とするデバッグ装置。
【請求項２】
上記ハードウェア異常検出手段は、検出可能な異常と出力する異常情報とを対応させた出力情報定義テーブルを有し、上記検出した異常に基づいて同出力情報定義テーブルを検索し、対応する異常情報を取得して出力することを特徴とする上記請求項１に記載のデバッグ装置。
【請求項３】
上記デバッグ制御手段は、上記デバッグ制御処理として、上記ハードウェア情報取得手段にて取得されたハードウェア情報を異常時ハードウェア情報として取得する処理を実行することを特徴とする上記請求項１または請求項２のいずれかに記載のデバッグ装置。
【請求項４】
上記ハードウェア情報記録手段は、上記内部制御情報として、レジスタ情報の遷移を記録することを特徴とする上記請求項１〜請求項３のいずれかに記載のデバッグ装置。
【請求項５】
上記デバッグ制御手段は、上記デバッグ制御処理として、上記ＣＰＵの動作を停止させる処理を実行することを特徴とする上記請求項１〜請求項４のいずれかに記載のデバッグ装置。
【請求項６】
ＣＰＵと同ＣＰＵにて制御される内部デバイスとを有するハードウェアおよび同ハードウェア環境にて実行されるソフトウェアについてデバッグするデバッグ装置であって、
上記ソフトウェアの実行状態に基づいて同ソフトウェアの異常を検出可能であるとともに、異常を検出した場合に所定の異常情報を出力するソフトウェア異常検出手段と、
上記出力された異常情報を入力した場合に上記ハードウェアに対して同異常情報に基づいた所定のデバッグ制御処理を実行するデバッグ制御手段とを具備することを特徴とするデバッグ装置。
【請求項７】
上記デバッグ制御手段は、上記ハードウェア内にて発生する所定の内部制御情報の遷移を認識可能なハードウェア情報を記録するハードウェア情報記録手段を有し、上記デバッグ制御処理として、上記記録されたハードウェア情報を取得することを特徴とする上記請求項６に記載のデバッグ装置。
【請求項８】
上記ハードウェア情報記録手段は、上記内部制御情報として、割込信号情報の遷移を記録することを特徴とする上記請求項７に記載のデバッグ装置。
【請求項９】
上記ソフトウェア異常検出手段は、検出可能な異常と出力する異常情報とを対応させた出力情報定義テーブルを有し、上記検出した異常に基づいて同出力情報定義テーブルを検索し、対応する異常情報を取得して出力することを特徴とする上記請求項６〜請求項８のいずれかに記載のデバッグ装置。
【請求項１０】
上記デバッグ制御手段は、入力する異常情報と実行するデバッグ制御処理方法とを対応させた処理定義テーブルを有し、同入力した異常情報に基づいて同処理定義テーブルを検索し、対応するデバッグ制御処理方法を取得し、同取得したデバッグ制御処理方法に基づいてデバッグ制御処理を実行することを特徴とする上記請求項１〜請求項９のいずれかに記載のデバッグ装置。
【請求項１１】
ＣＰＵと同ＣＰＵにて制御される内部デバイスとを有するハードウェアおよび同ハードウェア環境にて実行されるソフトウェアについてデバッグするデバッグ方法であって、
上記ハードウェア内にて発生する所定の内部制御情報の遷移を認識可能なハードウェア情報を記録するハードウェア情報記録工程と、
上記記録されるハードウェア情報に基づいて上記ハードウェアに発生する異常を検出可能であるとともに、異常を検出した場合に所定の異常情報を出力するハードウェア異常検出工程と、
上記出力された異常情報を入力した場合に上記ハードウェアに対して同異常情報に基づいた所定のデバッグ制御処理を実行するデバッグ制御工程とを具備することを特徴とするデバッグ方法。
【請求項１２】
ＣＰＵと同ＣＰＵにて制御される内部デバイスとを有するハードウェアおよび同ハードウェア環境にて実行されるソフトウェアについてデバッグするデバッグ方法であって、
上記ソフトウェアの実行状態に基づいて同ソフトウェアの異常を検出可能であるとともに、異常を検出した場合に所定の異常情報を出力するソフトウェア異常検出工程と、
上記出力された異常情報を入力した場合に上記ハードウェアに対して同異常情報に基づいた所定のデバッグ制御処理を実行するデバッグ制御工程とを具備することを特徴とするデバッグ方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デバッグ装置およびデバッグ方法に関し、特に、ハードウェアおよび同ハードウェアと密に連携して動作するソフトウェアについてデバッグするデバッグ装置およびデバッグ方法に関する。
【０００２】
【従来の技術】
ハードウェアと密に連携するソフトウェアを開発している場合には、ハードウェアが開発段階であるため、ハードウェアの入出力のタイミングに依存する不具合が発生しやすく、その不具合を解決するために多くの時間を費やすことが多い。ここで、不具合の一例を下記する。
１．ハードウェアを動作させるために、ソフトウェアからハードウェアのレジスタやメモリにアクセスする。かかる場合、アクセスの順番やアクセスタイミング等によって、ハードウェアが停止することがある。
２．ハードウェアは、内部で起きた事象を、同ハードウェアを制御するオペレーティングシステムに伝えるために、割込みを発生させる。かかる場合、オペレーティングシステムがある順番で割込みを受けると、オペレーティングシステム自体が停止してしまうことがある。
【０００３】
一般に、開発中のハードウェアをデバッグする場合には、ホストコンピュータと開発中のシステムをＩＣＥ（ＩｎＣｅｒｃｕｉｔＥｍｕｒａｔｏｒ）を介して接続し、このハードウェア上で動作するソフトウェアの動作状態をトレースすることがある。また、一方では、開発中のハードウェアのプロセッサに、デバッグ用コード（デバッグモニタ等）を組み込み、そのデバッグ用コードを介して、ホストコンピュータと開発中のハードウェアを接続し、同ハードウェアが備えるＣＰＵにて動作するソフトウェアの動作状態をトレースすることがある。上記のような不具合の原因を解析するには、上記に示したハードウェアのＣＰＵ上にて動作するソフトウェアの動作状態をトレースできるデバッグシステムを用いて、ハードウェアに関するログ情報を収集するコードを埋め込んだソフトウェアを動作させ、バグが発生した時点で、ソフトウェアを停止させ、ログを解析する。
【０００４】
しかし、ログ情報を収集するコードを挿入してソフトウェアを実行させると、ハードウェアへの入出力のタイミングが替わってしまい、タイミングに依存した不具合は発生しないことが多い。その場合、デバッグ情報をソフトウェア自身から得る方法とは別に、ハードウェアから断片的な情報を得て、解析することもある。ハードウェアの情報は、ロジックアナライザと呼ばれる機器によって入手可能である。ロジックアナライザは、ハードウェアの信号をトレースし、表示できる装置である。プローブと呼ばれる信号入力装置を、開発中のハードウェアのテストピンなどに引っ掛けて、そこからリアルタイムにハードウェアの信号の挙動を得ることができる。テストピンはハードウェアの設計によって、その数や種類が異なるが一般的にハードウェアの設計段階で存在しているものである。テストピンはコンピュータシステムのアドレスバスやデータバス、割込信号線などに付けられていることが一般的である。
【０００５】
よって、ロジックアナライザはハードウェアの信号の挙動よりも、論理的な情報、例えば、アクセスしているメモリのアドレスや割込信号がＣＰＵに入ったという情報などを得ることができる。このようにロジックアナライザにより論理的な情報を得る手法は既に開示されている（例えば、特許文献１を参照。）。また、ハードウェア内部にデバッグシステムを埋め込む例もある（例えば、特許文献２を参照。）。また、ソフトウェアの動作とハードウェア情報とが関連付けられている例もある（例えば、特許文献３を参照。）この例では、ハードウェアの情報をトレースしてトレースメモリに格納し、ある不具合が発生したときにトレースを止め、トレース情報を外部に出力できるＬＳＩが提案されている。さらに
、同様の技術として、プロセッサの内部情報をトリガとして、あるアクションを定義できるものもある（例えば、特許文献４を参照。）。これによれば、ハードウェアに内蔵のロジックアナライザの情報を入手できる可能性がある。
【０００６】
【特許文献１】
特開平１０−１０５４２７号公報
【特許文献２】
特開平９−１６７１０５号公報
【特許文献３】
特開平８−６３３７４号公報
【特許文献４】
特開２００１−１４７８１６号公報
【０００７】
【発明が解決しようとする課題】
上述した従来のデバッグ装置においては（特に、特許文献３）、ＬＳＩの内部だけの情報に限られ、また、その後のアクションが限定されるため、デバッグできる範囲が限られるといった課題があった。
【０００８】
本発明は、上記課題にかんがみてなされたもので、様々なハードウェアコンポーネントの情報を入力すると同時に、その情報をトリガとして、ソフトウェアデバッグシステムが様々なアクションを取ることが可能であるとともに、ソフトウェアから入力する情報をトリガとして、ロジックアナライザなどハードウェアのデバッグシステムにて様々なアクションを取ることを可能とすることによって、ハードウェアおよびソフトウェアの連携させつつデバッグを実施することが可能なデバッグ装置およびデバッグ方法の提供を目的とする。
【０００９】
【課題を解決するための手段および作用・効果】
上記目的を達成するため、ＣＰＵと同ＣＰＵにて制御される内部デバイスとを有するハードウェアおよび同ハードウェア環境にて実行されるソフトウェアについてデバッグするデバッグ装置を提供する。このとき、ハードウェア情報記録手段にてハードウェア内にて発生する所定の内部制御情報の遷移を認識可能なハードウェア情報を記録する。そして、ハードウェア異常検出手段では、ハードウェア情報記録手段に記録されるハードウェア情報に基づいてハードウェアに発生する異常を検出する。ハードウェア異常検出手段は、異常を検出した場合に所定の異常情報を出力する。そして、デバッグ制御手段は、ハードウェア異常検出手段から出力された異常情報を入力すると、ハードウェアに対して同異常情報に基づいた所定のデバッグ制御処理を実行する。ソフトウェアはハードウェア環境にて実行されているため、ハードウェアの異常が検出された際に、ハードウェアに対して所定のデバッグ制御処理を実行すれば、ソフトウェアの不具合を特定することが可能になる。
【００１０】
ハードウェア異常検出手段にて出力する異常情報を特定する手法の一例として、ハードウェア異常検出手段に検出可能な異常と、出力する異常情報とを対応させた出力情報定義テーブルを備えさせる。そして、検出した異常に基づいてこの出力情報定義テーブルを検索し、対応する異常情報を取得して出力する。予め検出可能な異常と、異常情報とが対応されているため、異常を検出した場合に、対応する異常情報を高速に特定することが可能になる。デバッグ制御手段にて実行するデバッグ制御処理の一例として、デバッグ制御手段は、ハードウェア情報取得手段にて取得されたハードウェア情報を異常時ハードウェア情報として取得する。これによって、異常が発生したタイミングにおけるハードウェア情報に基づいてソフトウェアの不具合を特定することが可能になる。
【００１１】
ハードウェア情報の一例として、ハードウェア情報記録手段は、レジスタ情報の遷移を記録する。レジスタ情報にはソフトウェアの処理手順を表示するプログラムカウンタが含まれているため、この内容に基づいてソフトウェアの何れ処理にて不具合が発生しているかを詳細に検証することが可能になる。また、デバッグ制御手段にて実行するデバッグ制御処理の他の一例として、上記デバッグ制御手段は、ＣＰＵの動作を停止させる処理を実行する。ＣＰＵを停止させれば、ソフトウェアも停止することになる。従って、ソフトウェアの処理動作に伴って変化し得るハードウェア情報はその時点で更新されなくなることになるため、記録されるハードウェア情報を所定量に限定することができる。これによって、よりソフトウェアの不具合の発生箇所を特定し易くすることが可能になる。
【００１２】
上述した発明の構成においては、ソフトウェアの不具合を検証することができるデバッグ装置を提案することが可能になる。一方、ハードウェアと同ハードウェアと密に連携して動作するソフトウェアのデバッグを実施する場合、ソフトウェアの処理動作に影響を及ぼし得るハードウェア側の不具合も検証することができると好適である。そこで、ＣＰＵと同ＣＰＵにて制御される内部デバイスとを有するハードウェアおよび同ハードウェア環境にて実行されるソフトウェアについてデバッグするデバッグ装置を提供するにあたって、ソフトウェア異常検出手段にてソフトウェアの実行状態に基づいて同ソフトウェアの異常を検出し、異常を検出した場合に所定の異常情報を出力する。
【００１３】
ここで、デバッグ制御手段にて、出力された異常情報を入力した場合に上記ハードウェアに対して同異常情報に基づいた所定のデバッグ制御処理を実行する。これによって、ソフトウェアにて異常が発生したタイミングにおいて、ハードウェアに対してデバッグ制御処理を実行することにより、ハードウェアの状態を認識することが可能となり、ソフトウェアの処理動作に影響を及ぼし得るハードウェアの不具合を特定することが可能となる。デバッグ制御手段が実行するデバッグ制御処理の一例として、デバッグ制御手段にハードウェア内にて発生する所定の内部制御情報の遷移を認識可能なハードウェア情報を記録するハードウェア情報記録手段を備えさせる。そして、デバッグ制御手段にてデバッグ制御処理として、記録されたハードウェア情報を取得する処理を実行する。これによって、ソフトウェアの異常が検出された時点におけるハードウェアの内部制御情報の遷移を示すハードウェア情報を認識することが可能となり、このハードウェア情報に基づいてソフトウェアの異常の原因となり得るハードウェアの不具合を特定することが可能になる。
【００１４】
上述した内部制御情報の一例として、ハードウェア情報記録手段は上記内部制御情報として、割込信号情報の遷移を記録する。これによって、ソフトウェアの異常が発生した際の割込み信号の信号遷移を認識することが可能となり、この割込み信号の信号処理に不具合がある場合は、早急に不具合を特定することが可能になる。ハードウェア異常検出手段にて出力する異常情報を特定する手法の一例として、ソフトウェア異常検出手段に検出可能な異常と、出力する異常情報とを対応させた出力情報定義テーブルを備えさせる。そして、検出した異常に基づいて同出力情報定義テーブルを検索し、対応する異常情報を取得して出力する。このように予め検出可能な異常と、異常情報とを対応させておくことによって、異常を検出した場合に、対応する異常情報を高速に特定することが可能になる。
【００１５】
上述してきたデバッグ制御手段にてデバッグ制御方法を特定する手法の一例として、デバッグ制御手段に入力する異常情報と、実行するデバッグ制御処理方法とを対応させた処理定義テーブルを備えさせる。そして、入力した異常情報に基づいて同処理定義テーブルを検索し、対応するデバッグ制御処理方法を取得し、同取得したデバッグ制御処理方法に基づいてデバッグ制御処理を実行する。このように予め入力し得る異常情報と、実行するデバッグ制御方法とを対応させておくことによって、異常情報を入力した場合に、対応するデバッグ制御方法を高速に特定することが可能になる。また、上述してきたデバッグ装置は、その方法としても発明が成立することは言うまでもない。
【００１６】
【発明の実施の形態】
ここでは、下記の順序に従って本発明の実施形態について説明する。
（１）ソフトウェアの異常をデバッグするデバッグ装置の構成：
（２）各装置の動作内容：
（３）変形例の構成：
（４）ハードウェアの異常をデバッグするデバッグ装置の構成：
（５）各装置の動作内容：
（６）まとめ：
【００１７】
（１）ソフトウェアの異常をデバッグするデバッグ装置の構成：
図１は、本発明にかかるデバッグ装置の構成を示した構成図である。ここでは、ソフトウェアをデバッグして不具合（以下、本実施形態においては不具合を「異常」と表現する。）を特定する際のデバッグ装置の構成を示している。同図において、デバッグ装置のデバッグ対象は、例えば、開発中のハードウェアを有し、それと同時に、このハードウェアと密に連携して動作するソフトウェアを開発しているデバッグ対象装置１０とする。このデバッグ対象装置１０は、内部にＣＰＵ１１と、同ＣＰＵ１１にバス１２を介して接続された開発中のハードウェアコンポーネント１３が接続されている。また、後述するエミュレータ装置とＣＰＵ１１とを双方向にて通信を可能にするためのインターフェース部１４を備えている。ハードウェアコンポーネント１３にはテストピン１３ａが形成されている。そして、デバッグ対象装置１０にはロジックアナライザ装置２０が接続されている。開発中のソフトウェア１１ａは、図示しないＲＯＭやハードディスクに格納され、適宜ＣＰＵ１１に読み出され、図示しないＲＡＭをワークエリアとしつつ動作する。
【００１８】
このロジックアナライザ装置２０は、デバッグ対象装置１０のハードウェアコンポーネント１３等のハードウェア１０ａの信号をトレースして記録するとともに、トレース状態をタイムチャート等にて表示可能な装置である。このとき、ロジックアナライザ装置２０は、プローブと呼ばれる信号入力装置を開発中のハードウェアコンポーネント１３等のハードウェア１０ａのテストピンなどに引っ掛け、同テストピンからリアルタイムにハードウェア１０ａの信号の挙動を取得することが可能になっている。このロジックアナライザ装置２０は、内部に図示しないＣＰＵ、ＲＡＭ，ＲＯＭ等の内部機器を有し、これらの内部機器によって、所定の機能を実現する制御部２１と、通知部２２と、出力情報定義部２３とが実行可能になっている。また、本実施形態において、上述したロジックアナライザ装置２０のプローブ２４は、ハードウェアコンポーネント１３のテストピン１３ａに接続される。
【００１９】
これによって、ロジックアナライザ装置２０はハードウェアコンポーネント１３の状態を信号レベルで記録および表示可能になっている。そして、ロジックアナライザ装置２０は、この信号レベルの記録によって、デバッグ対象装置１０のハードウェア１０ａに関するハードウェア情報を取得し、同ハードウェア情報が所定の条件を満たしているか否かを検知することが可能になっている。すなわち、ハードウェア情報に基づいてデバッグ対象装置１０のハードウェア１０ａの稼働状況が正常であるか異常であるかを判別可能になっている。ここで、上述したハードウェアコンポーネント１３に配設されるテストピン１３ａは、ハードウェア１０ａの設計によって、その数や種類が異なるが、一般的にハードウェア１０ａの設計段階で存在しているものであり、コンピュータシステムのアドレスバスやデータバス、割込信号線などに付けられていることが一般的である。
【００２０】
また、デバッグ対象装置１０は、上述したようにエミュレータ装置３０とのインターフェースとなるインターフェース部１４を備えており、エミュレータ装置３０と接続可能になっている。このようにエミュレータ装置３０を用いることにより、エミュレータ装置３０に接続されたデバッグ用コンピュータ４０からデバッグ対象装置１０のＣＰＵ１１上にて動作する開発中のソフトウェア１１ａのデバッグを実施可能になる。ここで、デバッグ用コンピュータ４０では、デバッガと呼ばれるソフトウェアツールが動作可能になっており、このデバッガの動作に基づいて、同デバッグ用コンピュータ４０はエミュレータ装置３０と通信可能になっている。そして、このエミュレータ装置３０は、デバッグ用コンピュータ４０にて動作するデバッガからの要求に応じて、デバッグ対象装置１０のＣＰＵ１１の動作を一時的に停止（ＨＡＬＴ）させ、当該ＣＰＵ１１のレジスタ等の情報を入手し、デバッガに出力することが可能になっている。
【００２１】
上述したデバッグ装置を使用してデバッグ対象装置１０のハードウェア１０ａおよび同ハードウェア１０ａと密に連携して動作するソフトウェア１１ａのデバッグを実施する。このデバッグ装置では多種多様の異常を解析の対象とすることが可能である。ここで、この多種多様の解析可能な異常の中から、本実施形態において説明する異常の一例を示す。本実施形態におけるデバッグ対象装置１０では、開発中のデバッグ対象装置１０のハードウェアコンポーネント１３がソフトウェア１１ａの処理内容に基づいて、ＣＰＵ１１からレジスタＡとレジスタＢを順番に所定の間隔でアクセスされた場合に、その機能を停止してしまう異常を有しているとする。このとき、ソフトウェア１１ａを対象としたソフトウェアデバッガのみによってデバッグを行う場合、レジスタＡ，Ｂに対してアクセスを行った際に、このレジスタＡ，Ｂへのアクセス情報をログとしてメモリに記録するようにソフトウェア１１ａの処理内容を変更し、異常が発生した際にそのログを解析することによって、異常の発生する原因を探索することになる。
【００２２】
しかし、ログをメモリに記録する処理動作が、レジスタに対するアクセスのタイミングを変化させてしまい異常が発生しなくなることが多い。かかる状況を図２および図３に示す。図２において、ログをメモリに記録しない場合は、レジスタＡに対するアクセスが発生する処理と（ステップＳ１００）、レジスタＢに対するアクセスが発生する処理（ステップＳ１０５）とのアクセス間隔は０．５ｍｓｅｃになっており、このアクセス間隔によってレジスタＡ，Ｂに対するアクセスが発生した場合に異常が発生する。一方、図３において、ログをメモリに記録する場合、レジスタＡに対するアクセスが発生する処理（ステップＳ２００）の次に、ログをメモリに記録する処理（ステップＳ２０５）が入り、その後にレジスタＢにアクセスする処理が発生した場合（ステップＳ２１０）、アクセス間隔は１ｍｓｅｃに伸びてしまい、異常が発生しなくなる。また、ソフトウェアデバッガのみでは、何れのレジスタに対するアクセスによってハードウェアコンポーネント１３の異常が発生したかを特定することも不可能である。
【００２３】
そこで、本実施形態においては、上述した構成に基づいてログの処理内容を追加するなどのソフトウェア１１ａの変更を行うことなく、ハードウェア１０ａに発生する異常を特定可能な本発明にかかるデバッグ装置の解析方法について説明する。この解析に際しては、予めロジックアナライザ装置２０の出力情報定義部２３を用いて、ハードウェアコンポーネント１３に異常が発生した場合に現れるハードウェア情報と、異常が発生した際にこの異常に対応してエミュレータ装置３０に出力するべき異常情報とを関連付けておく。この関連付けを図４に示す。同図において、出力情報定義テーブル１００は、ハードウェア情報１０１と、異常情報としての事象ＩＤ１０２とをデータとして備えている。例えば、ハードウェア情報１０１が「ハードウェアコンポーネントの停止」であれば、事象ＩＤは「１」と対応付けられている。また、エミュレータ装置３０においても予めこの異常情報に対する当該エミュレータ装置３０の処理動作を関連付けておく。
【００２４】
この関連付けを図５に示す。同図において、事象ＩＤ２０１と、処理動作の内容を示すデバッグ制御方法２０２とをデータとして備えている。例えば、事象ＩＤ２０１が「１」であれば、デバッグ制御方法２０２は「ＣＰＵ停止、レジスタ情報入力、デバッグ用コンピュータに通知」と対応付けられている。ここで、ハードウェアコンポーネント１３の異常を表すハードウェア情報とは、ロジックアナライザ装置２０を用いて得られるハードウェア１０ａの信号線の情報の集合である。例えば、ハードウェアコンポーネント１３が停止した際に、ある信号線（リセット信号など）がアサートされる場合、その信号線がアサートされたことが異常を表すハードウェア情報となる。
【００２５】
次に、異常が発生する原因を特定する手順を示す。
１．ＣＰＵ１１上にてソフトウェア１１ａを動作させた場合に、ソフトウェア１１ａの処理動作において、ハードウェア１０ａにて異常が発生するタイミングによって、レジスタＡ，Ｂに対するアクセスが行われる。
２．このレジスタＡ，Ｂに対するアクセスによって、ハードウェアコンポーネント１３が停止する。
３．ロジックアナライザ装置２０は、制御部２１の制御に基づいて、プローブ２４を介して、ハードウェアコンポーネント１３にて異常が発生したことを示すハードウェア情報を入力する。
【００２６】
４．ロジックアナライザ装置２０は、出力情報定義部２３および通知部２２の動作に基づいて入力したハードウェア情報に対応する「事象ＩＤ」をエミュレータ装置３０に出力する。
５．エミュレータ装置３０では、通知受理部３２が「事象ＩＤ」を受理し、制御部３１に渡す。
６．エミュレータ装置３０の制御部３１は、受け取った「事象ＩＤ」を動作定義部３３に渡し、「事象ＩＤ」に対する動作の特定を依頼する。
７．動作定義部３３は「ＣＰＵ停止、レジスタ情報入手、デバッガに通知」というデバッグ制御方法を示す情報を制御部３１に返答する。
８．制御部３１は上記の情報を動作実行部３４に渡す。
【００２７】
９．動作実行部３４は、インターフェース部１４を介して所定の制御信号をデバッグ対象装置１０に出力することによって、ＣＰＵ１１を停止させ、レジスタ情報を入力し、デバッガ用コンピュータ４０にて動作するデバッガに通知する。
１０．通知を受けたデバッガは、エミュレータ装置３０からレジスタ情報を入力する。
このように、デバッグ用コンピュータ４０において動作するデバッガにて入力するレジスタ情報には、プログラムカウンタの値が含まれている。従って、このプログラムカウンタの値を参照することによって、異常が発生した時点にてＣＰＵ１１が実行しているコードの位置が分かる。そして、この実行位置から前の部分に実行されたレジスタＡ，Ｂに対してアクセスを行うコードを解析することにより、ソフトウェア１１ａにおける何れのレジスタに対するアクセス処理が異常の原因となっているかを認識することが可能になる。
【００２８】
（２）各装置の動作内容：
図６は、上述した手法によってデバッグを実施する際のロジックアナライザ装置２０の動作内容を示した動作フローチャートである。
同図において、先ず最初に制御部２１は、プローブ２４を介してハードウェアコンポーネント１３のテストピン１３ａから信号レベルもしくは構造化されたハードウェア情報を入力する（ステップＳ３００）。そして、この入力されたハードウェア情報を解析することによってハードウェアコンポーネント１３に異常が発生しているか否かを判別する（ステップＳ３０５）。ここで、入力したハードウェア情報が異常の発生を示したものではないと判別した場合は、ステップＳ３００に戻る。
【００２９】
一方、入力したハードウェア情報に基づいてハードウェアコンポーネント１３の異常を検知した場合は（ステップＳ３１０）、制御部２１は、異常を示すハードウェア情報に対する事象ＩＤを出力情報定義部２３に問い合わせる（ステップＳ３１５）。問い合わせを受けた出力情報定義部２３は、出力情報定義テーブル１００に基づいて、異常を示すハードウェア情報１０１に対応する事象ＩＤ１０２を認識する（ステップＳ３２０）。出力情報定義部２３は、この認識した事象ＩＤ１０２を制御部２１に受け渡す（ステップＳ３２５）。ここで、制御部２１は、この出力情報定義部２３から受け取った事象ＩＤ１０２をエミュレータ装置３０に対して出力するように通知部２２に依頼する（ステップＳ３３０）。そして、制御部２１から依頼を受けた通知部２２は、この事象ＩＤ１０２をエミュレータ装置３０に対して出力する（ステップＳ３３５）。
【００３０】
図７は、上述した手法によってデバッグを実施する際のエミュレータ装置３０の動作内容を示した動作フローチャートである。
同図において、先ず最初に制御部３１は通信受理部３２を制御してロジックアナライザ装置２０が出力される事象ＩＤ１０２が同通信受理部３２に入力されたか否かを判別する（ステップＳ４００）。この判別処理を事象ＩＤ１０２が入力されるまで継続する。一方、通知受理部３２に対する事象ＩＤ１０２の入力があった場合は、通知受理部３２は、入力した事象ＩＤ１０２を制御部３１に受け渡す（ステップＳ４０５）。事象ＩＤ１０２が受け渡された制御部３１は、この事象ＩＤ１０２に対応するデバッグ制御方法を動作定義部３３に問い合わせる（ステップＳ４１０）。
【００３１】
制御部３１からの問い合わせを受けた動作定義部３３は、処理動作定義テーブル２００に基づいて、事象ＩＤ１０２に対応する事象ＩＤ２０１に対して対応付けられたデバッグ制御方法２０２を判別する（ステップＳ４１５）。事象ＩＤ２０１に対応するデバッグ制御方法２０２を判別した動作定義部３３は、この判別したデバッグ制御方法２０２を制御部３１に通知する（ステップＳ４２０）。通知を受けた制御部３１は、このデバッグ制御方法２０２に基づいた処理の実行を動作実行部３４に対して依頼する（ステップＳ４２５）。そして、制御部３１から依頼を受けた動作実行部３４は、デバッグ制御方法２０２に基づいた所定の処理を実行する（ステップＳ４３０）。
【００３２】
上述した実施形態においては、デバッグ対象装置１０にロジックアナライザ装置２０と、エミュレータ装置３０とを接続し、ロジックアナライザ装置２０にて検知した異常に基づいた所定のデバッグ制御方法による処理をエミュレータ装置３０にて実行する構成を採用した。これによって、ロジックアナライザ装置２０にて異常が検出されたタイミングによって、エミュレータ装置３０がデバッグ対象装置１０に対して上記デバッグ制御方法による処理動作を実行し、この処理動作に基づいて収集されるデータ（上述した本実施形態ではレジスタ情報）に基づいて異常の原因となるソフトウェア１１ａの不具合を特定可能とした。むろん、ソフトウェア１１ａの不具合を特定するための構成はこのような構成に限定されず、デバッグ対象装置１０にてデバッグモニタプログラムを稼働させ、このデバッグモニタプログラムにてソフトウェア１１ａの不具合を特定する構成であっても良い。
【００３３】
（３）変形例の構成：
図８は、かかる場合における本発明にかかるデバッグ装置の構成を示した構成図である。同図において、開発中のデバッグ対象装置１０のハードウェア１０ａ上には、上述と同様にＣＰＵ１１と、バス１２と、インターフェース部１４と、ハードウェアコンポーネント１３とが配設されている。この実施形態ではインターフェース部１４にデバッグ用コンピュータ４０を接続している。また、ロジックアナライザ装置２０のプローブ２４はハードウェアコンポーネント１３のテストピン１３ａに接続されており、ロジックアナライザ装置２０は、ハードウェアコンポーネント１３の状態を示すハードウェア情報を信号レベルで入力して記録することができるとともに、同信号レベルの遷移をタイムチャートにて表示可能になっている。また、入力したハードウェア情報が所定の条件を満たしたことを検知できる。
【００３４】
すなわち、入力したハードウェア情報の態様に基づいてハードウェアコンポーネント１３の稼働状態が正常であるか異常であるかを判別することによって、異常を検知可能になっている。上述したとおり、デバッグ対象装置１０にはデバッグ用コンピュータ４０とのインターフェース部１４が備えられており、同インターフェース部１４を介してデバッグ用コンピュータ４０と接続可能になっている。ここで、ＣＰＵ１１では、図示しないＲＯＭもしくはハードディスクに格納されているデバッグ用コンピュータ４０とデバッグ情報を遣り取りするデバッグモニタプログラムＰ１を図示しないＲＡＭをワークエリアとしつつ動作する。このデバッグモニタプログラムＰ１を用いることによって、デバッグ用コンピュータ４０からＣＰＵ１１上で動作する開発中のソフトウェア、すなわち、デバッグ対象となるソフトウェアのデバッグを実行可能になっている。
【００３５】
また、デバッグ用コンピュータ４０では、デバッガと呼ばれるソフトウェアツールが動作している。このようなソフトウェアツールを用いることにより、デバッグ対象装置１０にて稼働するデバッグモニタプログラムＰ１とインターフェース部１４を介して通信可能になる。そして、デバッグモニタプログラムＰ１は、デバッグ用コンピュータ４０にて動作するデバッガの要求に応じて、ＣＰＵ１１の動作を一時的に停止（ＨＡＬＴ）させたり、ＣＰＵ１１のレジスタ情報等の各種情報を入力し、デバッグ用コンピュータ４０のデバッガに出力することが可能になっている。ここで、ロジックアナライザ装置２０は、上述したのと同様にプローブ２４を介して入力したハードウェア情報に対応する異常情報を出力する通知部２２を備えるとともに、このハードウェア情報と出力すべき異常情報との対応付けを行う出力情報定義部２３を備える。
【００３６】
そして、これらを制御する制御部２１を備えている。また、デバッグモニタプログラムＰ１は、制御機能Ｐ１１と、ロジックアナライザ装置２０の通知部２２が出力する異常情報を受け取る通知受理機能Ｐ１２と、この受け取った異常情報に対してどのような動作をするかを定義する動作定義機能Ｐ１３と、受け取った異常情報に対応した動作を実際に実行する動作実行機能Ｐ１４とを備えている。さらに、デバッグ対象装置１０における開発中のハードウェア１０ａには、ロジックアナライザ装置２０の通知部２２が出力する異常情報を入力し、バス１２のプロトコルに変換するとともに、同変換した異常情報をデバッグモニタプログラムＰ１に出力可能な通知変換装置１５が備えられている。
【００３７】
かかる構成によって、ロジックアナライザ装置２０はプローブ２４を介して入力したハードウェア情報に基づいて異常の発生を検知した場合は、この異常の発生を示すハードウェア情報に対応した事象ＩＤを通知変換装置１５を介してデバッグ対象装置１０にて動作するデバッグモニタプログラムＰ１に通知する。そして、デバッグモニタプログラムＰ１は、入力した事象ＩＤに対応した所定のデバッグ制御方法（例えば、ＣＰＵ１１の停止、レジスタ情報の取得等）を実行し、その結果をインターフェース部１４を介してデバッグ用コンピュータ４０に出力することによって、デバッグ対象装置１０にて動作する開発中のソフトウェア１１ａのデバッグを実施可能にする。
【００３８】
上述した実施形態においては、ロジックアナライザ装置２０にてデバッグ対象装置１０のハードウェアコンポーネント１３にて発生する異常を検知するとともに対応する異常情報を示す事象ＩＤをエミュレータ装置３０もしくはデバッグモニタプログラムＰ１に出力する。そして、この事象ＩＤを入力したエミュレータ装置３０もしくはデバッグモニタプログラムＰ１にて所定のデバッグ制御方法に基づいた処理を実行することによって、デバッグ対象装置１０のハードウェアコンポーネント１３に対して異常を発生させる原因となるソフトウェア１１ａの処理内容を特定することを可能にした。一方、ハードウェアの異常がソフトウェアに影響を及ぼす場合もあり、かかる場合は、ソフトウェアに異常を発生させる原因となるハードウェアの異常を特定することが必要となる。そこで、次に、ハードウェアの異常をデバッグするためのデバッグ装置の構成について説明する。
【００３９】
（４）ハードウェアの異常をデバッグするデバッグ装置の構成：
図９は、本発明にかかるデバッグ装置の構成を示した構成図である。ここでは、ハードウェアをデバッグする際のデバッグ装置の構成を示している。同図において、開発中のハードウェアありデバッグの対象となるデバッグ対象装置１０のハードウェア１０ａ上にはＣＰＵ１１と、バス１２、デバッグ用コンピュータ４０とのインターフェース部１４ａと、割込みコントローラ１６とが備えさせてある。本実施形態において割込コントローラ１６は、２つの割込み信号（割込み信号Ａ，割込み信号Ｂ）の入力を管理する。ロジックアナライザ装置２０のプローブ２４は割込みコントローラ１６とバス１２とのインターフェースとなる出力ピン１４ｂに接続されており、ロジックアナライザ装置２０は、割込みコントローラ１６が受けた割込み状態を信号レベルで記録可能になっている。また、開発中のハードウェア１０ａは、上述したようにデバッグ用コンピュータ４０とのインターフェース部１４ａを備えており、デバッグ用コンピュータ４０と接続可能になっている。そして、ＣＰＵ１１内には、デバッグ用コンピュータ４０との間にてデバッグ情報（以下の例ではレジスタ情報）を遣り取りするデバッグ用モニタプログラムＰ１が動作している。
【００４０】
このようなデバッグ用モニタプログラムＰ１を用いることによって、上述したのと同様に、デバッグ用コンピュータ４０からＣＰＵ１１上で動作する開発中のソフトウェア１１ａに対するデバッグを実行可能になっている。また、デバッグ用コンピュータ４０では、デバッガ４４と呼ばれるソフトウェアツールを動作させる。このデバッガ４４を動作させることによって、デバッグ対象装置１０にて動作している上述したデバッグモニタプログラムＰ１とインターフェース部１４ａを介して通信可能になる。ここで、デバッグモニタプログラムＰ１は、デバッガ用コンピュータ４０にて動作するデバッガ４４の要求に応じてＣＰＵ１１の動作を一時的に停止（ＨＡＬＴ）させ、ＣＰＵ１１のレジスタ情報等の情報を入力し、デバッグ用コンピュータ４０のデバッガ４４に出力することが可能になっている。
【００４１】
デバッグ用コンピュータ４０にて動作するデバッガ４４は、通知機能４２を備えるとともに、デバッグ対象装置１０にて動作しているソフトウェア１１ａの動作状態に基づいて入力したソフトウェア情報と出力すべき情報との対応付けを行う出力情報定義機能４３を備える。そして、これらの各機能は制御機能４１によって制御される。また、ロジックアナライザ装置２０は、制御部５１と、デバッガ４４から事象ＩＤを受け取る通知受理部５２と、この受け取った事象ＩＤに対してどのようなデバッグ制御方法を実行するかを定義する動作定義部５３と、定義されたデバッグ制御方法に基づいて実際に所定の処理動作を実行する動作実行部５４を備える。
【００４２】
かかる構成において、デバッガ４４では、通知機能４２にてＣＰＵ１１上で動作する開発中のソフトウェア１１ａの動作内容をソフトウェア情報として入力し、このソフトウェア情報が所定の条件を満たす場合（すなわち、異常を示すソフトウェア情報を入力した場合）、出力情報定義機能４３にて定義されているソフトウェア情報と異常情報（事象ＩＤ）に基づいて、入力したソフトウェア情報に対応した事象ＩＤをロジックアナライザ装置５０に出力する。一方、ロジックアナライザ装置５０は、制御部５１の制御に基づいて、上述したように通知受理部５２にてデバッガ４４が出力する事象ＩＤを受理し、動作定義部５３にてこの受理した事象ＩＤに対応するデバッグ制御方法の処理動作を認識し、動作実行部５４にてこの認識した処理動作を実行する。
【００４３】
上述したデバッグ装置を使用してデバッグ対象装置１０のハードウェア１０ａおよび同ハードウェア１０ａと密に連携して動作するソフトウェア１１ａのデバッグを実施する。このデバッグ装置では多種多様の異常を解析の対象とすることが可能である。ここで、この多種多様の解析可能な異常の中から、本実施形態において説明する異常の一例を示す。本実施形態におけるデバッグ対象装置１０でおける、開発中のソフトウェア１１ａは、割込み信号Ａと、割込み信号Ｂをこの順番に所定の間隔によって入力すると、処理動作が停止してしまうとする。かかる場合、ソフトウェアデバッガのみでデバッグしたとすると、割込みの情報をログとしてメモリに記録し、異常が発生した際にそのログを解析し、原因を探ることになる。
【００４４】
しかし、ログをメモリに記録する動作が、割込み発生のタイミングを変化させてしまい、異常が発生しないことがある。すなわち、図１０に示すとおり、ログなしのコードにおいては、割込みＡが発生すると（ステップＳ５００）、この割込みＡに対応する処理を実行する（ステップＳ５０５）。ここで、この割込みＡに対応する処理を実行している最中に割込みＢが発生すると（ステップＳ５１０）、異常が発生し、処理動作が停止する。従って、以降の割込みＢに対応する処理（ステップＳ５１５）と、ステップＳ５０５にて実行中であった割込みＡに対応する処理は実行されないことになる。
【００４５】
この異常を解析するために、ログ出力のコードを挿入した場合を図１１に示す同図においては、割込みＡが発生すると（ステップＳ６００）、ログ出力を行う（ステップＳ６０５）。そして、割込みＢが発生すると（ステップＳ６１０）、ログ出力を行う（ステップＳ６１５）。これにより、割込みＡに対応する処理（ステップＳ６２０）がステップＳ６１５におけるログ出力の後にまわり、ログ採取中に割込みＢが発生する状態が再現できなくなる。すなわち、異常が発生しないことになる。従って、異常が発生するのハードウェア１０ａのデバッグを実施できない。
【００４６】
そこで、本実施形態においては、上述した構成に基づいて、ログの処理内容を追加するなどのソフトウェア１１ａの変更を行うことなく、ハードウェア１０ａに発生する異常を特定可能な本発明にかかるデバッグ装置の解析方法について説明する。この解析に際しては、予めデバッガ４４にある送信情報定義機能４３を用いて、ＣＰＵ１１にて動作するソフトウェア１１ａに異常が発生した場合に起こる事象を表現したソフトウェア異常情報３０１と、それに対してロジックアナライザ装置２０に出力する異常情報（事象ＩＤ）とを関連付けておく。この関連付けを図１２に示す。同図において、出力情報定義テーブル３００は、ソフトウェア異常情報３０１と、異常情報としての事象ＩＤ３０２とをデータとして備えている。例えば、ソフトウェア異常情報３０１が「ソフトウェアの停止を検知する関数でＣＰＵが停止」であれば、事象ＩＤは「１」と対応付けられている。また、ロジックアナライザ装置５０においても予めこの異常情報（事象ＩＤ）に対する当該ロジックアナライザ装置５０の処理動作を関連付けておく。この関連付けを図１３に示す。同図において、事象ＩＤ４０１と、処理動作の内容を示すデバッグ制御方法４０２とをデータとして備えている。例えば、事象ＩＤ４０１が「１」であれば、デバッグ制御方法４０２は「ハードウェア情報の記録を停止」にと対応付けられている。ここで、出力情報定義テーブル３００にて定義された条件は、ＣＰＵ１１上で動作するソフトウェア１１ａにはその停止を検知する関数があり、そこにデバッガ４４を使ってブレイクポイントを設定してソフトウェア１１ａを実行させると、そのブレイクポイントで処理が停止したということを示している。
【００４７】
次に、異常が発生する原因を特定する手順を示す。
１．ＣＰＵ１１上のソフトウェア１１ａを動作させた場合に、ソフトウェア１１ａにて異常が発生するパターンの割込みがハードウェア１０ａにて発生した。
２．この割込みによって、ソフトウェア１１ａの処理動作が停止し、ブレイクポイントで停止した。
３．デバッガ４４はこのソフトウェア１１ａの停止を検知する関数で停止したことを制御機能４１にて認識する。
４．デバッガ４４は、出力情報定義機能４３にて判別した認識した条件（停止を検知する関数）に対応する事象ＩＤを通知機能４２によってロジックアナライザ装置５０に出力する。
【００４８】
５．ロジックアナライザ装置５０では、通知受理部５１が事象ＩＤを入力し、制御部５１へ渡す。
６．制御部５１は事象ＩＤを動作定義部５３に渡し、事象ＩＤに対する動作の特定を依頼する。
７．動作定義部５３は、定義に従ってハードウェア情報の記録を停止するという情報を制御部５１に渡す。
８．制御部５１はこの情報を動作実行部５４に渡す。
９．動作実行部５４は、割込みコントローラ１６の状態の記録を停止する。
以上の手順を実行することにより、ロジックアナライザ装置５０には、ソフトウェア１１ａにて異常が発生した際の、割込み信号Ａと、割込み信号Ｂの発生タイミングが記録される。従って、この割込み信号Ａと割込み信号Ｂの発生タイミングを解析することによって、ソフトウェア１１ａの処理動作に影響を及ぼすハードウェア１０ａの異常を特定することが可能になる。
【００４９】
（５）各装置の動作内容：
図１４は、上述した手法によってデバッグを実施する際のデバッガ用コンピュータ４０の動作内容を示した動作フローチャートである。
同図において、先ず最初に制御部４１は、インターフェース部１４ａを介してデバッグ対象装置１０のＣＰＵ１１にて動作するソフトウェア１１ａの実行状態を示すソフトウェア情報を取得する（ステップＳ７００）。そして、制御部４１はこの取得したソフトウェア情報を解析することによって、ソフトウェア１１ａの処理動作に異常が発生しているか否かを判別する（ステップＳ７０５）。ここで、取得したソフトウェア情報が異常の発生を示したものではないと判別した場合は、ステップＳ７００に戻る。
【００５０】
一方、取得したソフトウェア情報に基づいてソフトウェア１１ａの処理動作における異常を検知した場合は（ステップＳ７１０）、制御部４１は、異常を示すソフトウェア異常情報に対する事象ＩＤを出力情報定義部４３に問い合わせる（ステップＳ７１５）。問い合わせを受けた出力情報定義部４３は、出力情報定義テーブル３００に基づいて、異常を示すソフトウェア異常情報３０１に対応する事象ＩＤ３０２を認識する（ステップＳ７２０）。出力情報定義部４３は、この認識した事象ＩＤ３０２を制御部４１に受け渡す（ステップＳ７２５）。ここで、制御部４１は、この出力情報定義部４３から受け取った事象ＩＤ３０２をロジックアナライザ装置５０に対して出力するように通知部４２に依頼する（ステップＳ７３０）。そして、制御部４１から依頼を受けた通知部４２は、この事象ＩＤ３０２をロジックアナライザ装置５０に対して出力する（ステップＳ７３５）。
【００５１】
図１５は、上述した手法によってデバッグを実施する際のロジックアナライザ装置５０の動作内容を示した動作フローチャートである。
同図において、先ず最初に制御部５１は通信受理部５２を制御してデバッグ用コンピュータ４０から出力される事象ＩＤ３０２が同通信受理部５２に入力されたか否かを判別する（ステップＳ８００）。この判別処理を事象ＩＤ３０２が受理されるまで継続する。一方、通知受理部５２に対する事象ＩＤ３０２の入力があった場合は、通知受理部５２は、入力した事象ＩＤ３０２を制御部５１に受け渡す（ステップＳ８０５）。事象ＩＤ３０２が受け渡された制御部５１は、この事象ＩＤ３０２に対応するデバッグ制御方法を動作定義部５３に問い合わせる（ステップＳ８１０）。
【００５２】
制御部５１からの問い合わせを受けた動作定義部５３は、処理動作定義テーブル４００に基づいて、事象ＩＤ３０２に対応する事象ＩＤ４０１に対して対応付けられたデバッグ制御方法４０２を判別する（ステップＳ８１５）。事象ＩＤ４０１に対応するデバッグ制御方法４０２を判別した動作定義部５３は、この判別したデバッグ制御方法４０２を制御部５１に通知する（ステップＳ８２０）。通知を受けた制御部５１は、このデバッグ制御方法４０２に基づいた処理の実行を動作実行部５４に対して依頼する（ステップＳ８２５）。そして、制御部５１から依頼を受けた動作実行部５４は、デバッグ制御方法４０２に基づいた所定の処理を実行する（ステップＳ８３０）。
【００５３】
（６）まとめ：
このように、上述したソフトウェアの異常をデバッグするデバッグ対象装置１０では、同デバッグ対象装置１０にて異常が発生した際にデバッグ用コンピュータ４０において動作するデバッガにてレジスタ情報を入力する。このレジスタ情報にはプログラムカウンタの値が含まれているため、このプログラムカウンタの値を参照することによって、異常が発生した時点にてＣＰＵ１１が実行しているコードの位置が分かる。そして、この実行位置から前の部分に実行されたレジスタＡ，Ｂに対してアクセスを行うコードを解析することにより、ソフトウェア１１ａにおける何れのレジスタに対するアクセス処理が異常の原因となっているかを認識することが可能になる。
【００５４】
また、ハードウェアの異常をデバッグするデバッグ装置１０おいては、ロジックアナライザ装置５０には、ソフトウェア１１ａにて異常が発生した際の、割込み信号Ａと、割込み信号Ｂの発生タイミングが記録される。従って、この割込み信号Ａと割込み信号Ｂの発生タイミングを解析することによって、ソフトウェア１１ａの処理動作に影響を及ぼすハードウェア１０ａの異常を特定することが可能になる。
【図面の簡単な説明】
【図１】デバッグ装置の構成図。
【図２】レジスタアクセスログ出力無しのフローチャート。
【図３】レジスタアクセスログ出力有りのフローチャート。
【図４】出力情報定義テーブルの構成図。
【図５】処理動作定義テーブルの構成図。
【図６】ロジックアナライザ装置のフローチャート。
【図７】エミュレータ装置の動作フローチャート。
【図８】デバッグ装置の構成図。
【図９】デバッグ装置の構成図。
【図１０】割込みログ出力無しのフローチャート。
【図１１】割込みログ出力有りのフローチャート。
【図１２】出力情報定義テーブルの構成図。
【図１３】処理動作定義テーブルの構成図。
【図１４】デバッガ用コンピュータの動作フローチャート。
【図１５】ロジックアナライザ装置の動作フローチャート。
【符号の説明】
１０…デバッグ対象装置  １１…ＣＰＵ  １２…バス  １３…ハードウェアコンポーネント  １３ａ…テストピン  １４…インターフェース部  ２０…ロジックアナライザ装置  ２１…制御部  ２２…通知部  ２３…出力情報定義部  ２４…プローブ  ３０…エミュレータ装置  ３１…制御部  ３２…通知受理部  ３３…動作定義部  ３４…動作実行部  ４０…デバッグ用コンピュータ
【図１】
2004272679.tif 000003
【図２】
2004272679.tif 000004
【図３】
2004272679.tif 000005
【図４】
2004272679.tif 000006
【図５】
2004272679.tif 000007
【図６】
2004272679.tif 000008
【図７】
2004272679.tif 000009
【図８】
2004272679.tif 000010
【図９】
2004272679.tif 000011
【図１０】
2004272679.tif 000012
【図１１】
2004272679.tif 000013
【図１２】
2004272679.tif 000014
【図１３】
2004272679.tif 000015
【図１４】
2004272679.tif 000016
【図１５】
2004272679.tif 000017