(57)【特許請求の範囲】
【請求項１】
特定のＣＰＵに依存しないＶＰアセンブリ言語と、前記ＶＰアセンブリ言語に対応するＶＰ実行コードを定義した仮想プロセッサを利用するデバッガであって、
ＶＰ実行コードファイルと、前記ＶＰ実行コードファイルがＣＰＵ固有のコードであるネイティブ実行コードで記述されたネイティブ実行コードファイルとの関係を示す情報とを記録する記録手段を有するコマンド受信部側に対して、前記ＶＰ実行コードでの指示を発するコマンド送出部と、
前記指示の受渡しと、前記指示に対する前記コマンド受信部側から前記コマンド送出部側への応答の受渡しとを行うインターフェイスとで構成され、
前記コマンド送出部側は、デバッグの対象となるプログラムのソースコードファイルと、前記プログラムのソースコードファイルが前記ＶＰ実行コードで記述されたＶＰ実行コードファイルとの関係を示す情報とを記録する記録手段を有するデバッガ。
【請求項２】
特定のＣＰＵに依存しないＶＰアセンブリ言語と、前記ＶＰアセンブリ言語に対応するＶＰ実行コードを定義した仮想プロセッサを利用するデバッガであって、
前記ＶＰ実行コードでの指示を発するコマンド送出部側と、
前記指示を受け取り、前記指示を実行するコマンド受信部側と、
前記指示の受渡しと、前記指示に対する前記コマンド受信部側から前記コマンド送出部側への応答の受渡しとを行うインターフェイスとで構成され、
前記コマンド送出部側は、デバッグの対象となるプログラムのソースコードファイルと、前記プログラムのソースコードファイルが前記ＶＰ実行コードで記述されたＶＰ実行コードファイルとの関係を示す情報とを記録する記録手段を有し、
前記コマンド受信部側は、前記ＶＰ実行コードファイルと、前記ＶＰ実行コードファイルがＣＰＵ固有のコードであるネイティブ実行コードで記述されたネイティブ実行コードファイルとの関係を示す情報とを記録する記録手段を有するデバッガ。
【請求項３】
特定のＣＰＵに依存しないＶＰアセンブリ言語と、前記ＶＰアセンブリ言語に対応するＶＰ実行コードを定義した仮想プロセッサを利用するデバッガであって、前記ＶＰ実行コードでの指示を発するコマンド送出部側と、前記指示を受け取り、前記指示を実行するコマンド受信部側と、前記指示の受渡しと、前記指示に対する前記コマンド受信部側から前記コマンド送出部側への応答の受渡しとを行うインターフェイスとで構成され、前記コマンド送出部側は、デバッグの対象となるプログラムのソースコードファイルと、前記プログラムのソースコードファイルが前記ＶＰ実行コードで記述されたＶＰ実行コードファイルとの関係を示す情報とを記録する記録手段を有し、前記コマンド受信部側は、前記ＶＰ実行コードファイルと、前記ＶＰ実行コードファイルがＣＰＵ固有のコードであるネイティブ実行コードで記述されたネイティブ実行コードファイルとの関係を示す情報とを記録する記録手段を有するデバッガにおいて、特定のＣＰＵに依存しないＶＰアセンブリ言語と、前記ＶＰアセンブリ言語に対応するＶＰ実行コードを定義した仮想プロセッサを利用するデータ処理方法であって、
前記コマンド送出部側が、デバッグの対象となるプログラムのソースコードファイルと、前記プログラムのソースコードファイルが前記ＶＰ実行コードで記述されたＶＰ実行コードファイルとの関係を示す情報を参照して、前記仮想プロセッサ・レベルの指示を発するステップと、
前記コマンド受信部側が、インターフェイスを介して前記指示を受け取るステップと、
前記コマンド受信部側が前記ＶＰ実行コードファイルと、前記ＶＰ実行コードファイルがＣＰＵ固有のコードであるネイティブ実行コードで記述されたネイティブ実行コードファイルとの関係を示す情報を参照するステップと、
前記コマンド受信部側が前記指示を実行するステップとを、
有するデータ処理方法。
【請求項４】
特定のＣＰＵに依存しないＶＰアセンブリ言語と、前記ＶＰアセンブリ言語に対応するＶＰ実行コードを定義した仮想プロセッサを利用するデバッガであって、前記ＶＰ実行コードでの指示を発するコマンド送出部側と、前記指示を受け取り、前記指示を実行するコマンド受信部側と、前記指示の受渡しと、前記指示に対する前記コマンド受信部側から前記コマンド送出部側への応答の受渡しとを行うインターフェイスとで構成され、前記コマンド送出部側は、デバッグの対象となるプログラムのソースコードファイルと、前記プログラムのソースコードファイルが前記ＶＰ実行コードで記述されたＶＰ実行コードファイルとの関係を示す情報とを記録する記録手段を有し、前記コマンド受信部側は、前記ＶＰ実行コードファイルと、前記ＶＰ実行コードファイルがＣＰＵ固有のコードであるネイティブ実行コードで記述されたネイティブ実行コードファイルとの関係を示す情報とを記録する記録手段を有するデバッガにおいて、特定のＣＰＵに依存しないＶＰアセンブリ言語と、前記ＶＰアセンブリ言語に対応するＶＰ実行コードを定義した仮想プロセッサを利用するデータ処理方法であって、
前記コマンド送出部側がデバッグの対象となるプログラムのソースコードファイルと、前記プログラムのソースコードファイルが前記ＶＰ実行コードファイルとの関係を示す情報を参照して、前記仮想プロセッサ・レベルでの指示を発するステップと、
前記コマンド受信部側が、インターフェイスを介して前記指示を受け取るステップと、
前記コマンド受信部側が前記ＶＰ実行コードファイルと、前記ＶＰ実行コードファイルがＣＰＵ固有のコードであるネイティブ実行コードで記述されたネイティブ実行コードファイルとの関係を示す情報を参照するステップとを有し、
ＣＰＵ固有のステップ実行機能を利用して前記ステップを順次実行するデータ処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、効率的なアプリケーション開発のために考案された仮想プロセッサ・コードを用いたアプリケーション・プログラム開発用のデバッガ及びデータ処理方法に関する。
【０００２】
【従来の技術】
アプリケーション・プログラムをいろいろなＣＰＵプラットフォームの上で何ら変更することなく動かすことは、その開発コスト、流通コストの削減に大きなインパクトを与える。近年、仮想プロセッサとトランスレータの技術により、それが現実のものとなりつつある。
【０００３】
通常、アプリケーション・プログラムを開発する場合、その動作チェックをするためにデバッガと呼ばれる装置が用いられる。デバッガは、アプリケーション・プログラムのバグを追跡し、特定し、排除する作業を支援する装置である。デバッガにはいくつかの以下に挙げる基本的な方式がある。
【０００４】
（１）デバッガの表示部分並びに動作指示を発するホスト側と実機であるターゲット側が、シリアルケーブルやイーサネットケーブルなどで接続され、前記ターゲット側には、前記ホスト側と通信及び前記ホストの発する指示を実行するデバッガ用コードとデバッグされるプログラムが存在する方式（リモート方式）。
【０００５】
（２）デバッガの表示部分並びに動作指示を発するホスト側と実機であるターゲット側が、ＲＯＭソケットで接続され、前記ホスト側と通信並びに前記ホストの発する指示を実行するデバッガ用コードとデバッグされるプログラムが存在する方式（ROM-ICEもしくはソフトICEと呼ばれる方式）。デバッガ用プログラムの一部がターゲット用のＣＰＵ空間に置かれる。
【０００６】
（３）デバッガの表示部分並びに動作指示を発するホスト側と、実機のＣＰＵに付属するデバッグ専用の端子で接続する方式（JTAG方式など）。デバッガ用プログラムはターゲットのＣＰＵ空間に置かれない。
【０００７】
（４）デバッガの表示部分並びに動作指示を発するホスト側と、実機のＣＰＵの代わりをする専用ＣＰＵとで構成される方式（イン・サーキット・エミュレータ（ICE）方式）。デバッガ用プログラムは実機の代わりをする専用ＣＰＵの空間に置かれるのが一般的である。
【０００８】
上記のいずれの方式においても、デバッガを開発する場合、すでに他のＣＰＵ用に開発したものがあったとしても、ターゲットＣＰＵが異なると、その既存のデバッガをそのまま転用することは不可能である。それは、ＣＰＵ個々の割り込み機能や、レジスタの数、使用方法、プログラムのメモリ配置方法などが各ＣＰＵによって異なるからである。
【０００９】
従来、内容が基本的に同一のプログラムであってもＣＰＵやＯＳが異なることによって、それぞれに対応するコードを開発もしくは移植しなければならなかった。例えば特定のゲーム・ソフトなどが特定のゲーム機器のみで動作可能であることには、販売戦略といった非技術的要素も多く含まれているが、技術的に困難なことでもあった。複数の異なる機器に対応するように開発するためには、多大な時間と労力が必要とされていた。
【００１０】
こうしたアプリケーション開発の非効率を是正するために、特表平８−５０２６１２号公報により、特定のＣＰＵに依存しないＶＰ（Virtual Processor：仮想プロセッサ）アセンブリ言語とその実行コードを定義した仮想プロセッサによる解決策が開示されている。それによれば、アプリケーション・プログラムはＣなどの高級言語やＶＰアセンブリ言語で書かれ、コンパイラ、ＶＰアセンブラによってＶＰ実行コードになる。ＶＰ実行コードは、実ＣＰＵに応じたトランスレータによって実ＣＰＵ実行コードに変換され、実行される。ＣＰＵごとにトランスレータを用意することにより、どのタイプの実ＣＰＵを使用することも可能であり、いろいろなタイプの実ＣＰＵを組み合わせて使用することも可能である。ＶＰ実行コードは、サポートされているトランスレータ及びＣＰＵの上で動作することが保証されている。したがって、ＶＰ実行コード形式のプログラム・ファイルは、サポートされているどのプロセッサへも転送することができ、そこで実行され得る。
【００１１】
【発明が解決しようとする課題】
通常、アプリケーション・プログラムの開発のために必要なデバッガは、実ＣＰＵを意識して、その実ＣＰＵ向けに開発されたソフトウェアから成り立っている。すでに他のＣＰＵ用に開発されたものがあったとしても、実ＣＰＵが異なると、その既存のデバッガをそのまま転用することは不可能である。それは、ＣＰＵ個々の割り込み機能や、レジスタの数、使用方法、プログラムのメモリ配置方法などが異なるからである。
【００１２】
また、組み込み機器などの上で動作するアプリケーション・プログラムの開発に必要なデバッガは、従来、新ＣＰＵに対応するとき、そのソフトウェア一式がそろって開発されないと全く機能しないという問題を持っていた。本発明は、ソフトウェア一式全てを開発しなくても、Ｃ言語などの高級言語やＶＰアセンブリ言語、ＶＰ実行コードレベルでのデバッグを行うデバッガ及びデータ処理方法を提供することを目的としている。
【００１３】
【課題を解決するための手段】
上記従来の問題に鑑み、本発明では、特定のＣＰＵに依存しないＶＰアセンブリ言語と、前記ＶＰアセンブリ言語に対応するＶＰ実行コードを定義した仮想プロセッサを利用して、コマンド送出部側が、プログラムのソースコードファイルと、そのプログラムのソースコードファイルがＶＰ実行コードで記述されたＶＰ実行コードファイルとの関係を示す情報とを記録し、ＶＰ実行コードでの指示をコマンド受信部側に発してデバッグを行う。
【００１４】
すなわち本発明によれば、特定のＣＰＵに依存しないＶＰアセンブリ言語と、前記ＶＰアセンブリ言語に対応するＶＰ実行コードを定義した仮想プロセッサを利用するデバッガであって、
ＶＰ実行コードファイルと、前記ＶＰ実行コードファイルがＣＰＵ固有のコードであるネイティブ実行コードで記述されたネイティブ実行コードファイルとの関係を示す情報とを記録する記録手段を有するコマンド受信部側に対して、前記ＶＰ実行コードでの指示を発するコマンド送出部と、
前記指示の受渡しと、前記指示に対する前記コマンド受信部側から前記コマンド送出部側への応答の受渡しとを行うインターフェイスとで構成され、
前記コマンド送出部側は、デバッグの対象となるプログラムのソースコードファイルと、前記プログラムのソースコードファイルが前記ＶＰ実行コードで記述されたＶＰ実行コードファイルとの関係を示す情報とを記録する記録手段を有するデバッガが提供される。
【００１５】
また本発明によれば、特定のＣＰＵに依存しないＶＰアセンブリ言語と、前記ＶＰアセンブリ言語に対応するＶＰ実行コードを定義した仮想プロセッサを利用するデバッガであって、
前記ＶＰ実行コードでの指示を発するコマンド送出部側と、
前記指示を受け取り、前記指示を実行するコマンド受信部側と、
前記指示の受渡しと、前記指示に対する前記コマンド受信部側から前記コマンド送出部側への応答の受渡しとを行うインターフェイスとで構成され、
前記コマンド送出部側は、デバッグの対象となるプログラムのソースコードファイルと、前記プログラムのソースコードファイルが前記ＶＰ実行コードで記述されたＶＰ実行コードファイルとの関係を示す情報とを記録する記録手段を有し、
前記コマンド受信部側は、前記ＶＰ実行コードファイルと、前記ＶＰ実行コードファイルがＣＰＵ固有のコードであるネイティブ実行コードで記述されたネイティブ実行コードファイルとの関係を示す情報とを記録する記録手段を有するデバッガが提供される。
【００１７】
また本発明によれば、特定のＣＰＵに依存しないＶＰアセンブリ言語と、前記ＶＰアセンブリ言語に対応するＶＰ実行コードを定義した仮想プロセッサを利用するデバッガであって、前記ＶＰ実行コードでの指示を発するコマンド送出部側と、前記指示を受け取り、前記指示を実行するコマンド受信部側と、前記指示の受渡しと、前記指示に対する前記コマンド受信部側から前記コマンド送出部側への応答の受渡しとを行うインターフェイスとで構成され、前記コマンド送出部側は、デバッグの対象となるプログラムのソースコードファイルと、前記プログラムのソースコードファイルが前記ＶＰ実行コードで記述されたＶＰ実行コードファイルとの関係を示す情報とを記録する記録手段を有し、前記コマンド受信部側は、前記ＶＰ実行コードファイルと、前記ＶＰ実行コードファイルがＣＰＵ固有のコードであるネイティブ実行コードで記述されたネイティブ実行コードファイルとの関係を示す情報とを記録する記録手段を有するデバッガにおいて、特定のＣＰＵに依存しないＶＰアセンブリ言語と、前記ＶＰアセンブリ言語に対応するＶＰ実行コードを定義した仮想プロセッサを利用するデータ処理方法であって、
前記コマンド送出部側が、デバッグの対象となるプログラムのソースコードファイルと、前記プログラムのソースコードファイルが前記ＶＰ実行コードで記述されたＶＰ実行コードファイルとの関係を示す情報を参照して、前記仮想プロセッサ・レベルの指示を発するステップと、
前記コマンド受信部側が、インターフェイスを介して前記指示を受け取るステップと、
前記コマンド受信部側が前記ＶＰ実行コードファイルと、前記ＶＰ実行コードファイルがＣＰＵ固有のコードであるネイティブ実行コードで記述されたネイティブ実行コードファイルとの関係を示す情報を参照するステップと、
前記コマンド受信部側が前記指示を実行するステップとを、
有するデータ処理方法が提供される。
【００１８】
また本発明によれば、特定のＣＰＵに依存しないＶＰアセンブリ言語と、前記ＶＰアセンブリ言語に対応するＶＰ実行コードを定義した仮想プロセッサを利用するデバッガであって、前記ＶＰ実行コードでの指示を発するコマンド送出部側と、前記指示を受け取り、前記指示を実行するコマンド受信部側と、前記指示の受渡しと、前記指示に対する前記コマンド受信部側から前記コマンド送出部側への応答の受渡しとを行うインターフェイスとで構成され、前記コマンド送出部側は、デバッグの対象となるプログラムのソースコードファイルと、前記プログラムのソースコードファイルが前記ＶＰ実行コードで記述されたＶＰ実行コードファイルとの関係を示す情報とを記録する記録手段を有し、前記コマンド受信部側は、前記ＶＰ実行コードファイルと、前記ＶＰ実行コードファイルがＣＰＵ固有のコードであるネイティブ実行コードで記述されたネイティブ実行コードファイルとの関係を示す情報とを記録する記録手段を有するデバッガにおいて、特定のＣＰＵに依存しないＶＰアセンブリ言語と、前記ＶＰアセンブリ言語に対応するＶＰ実行コードを定義した仮想プロセッサを利用するデータ処理方法であって、
前記コマンド送出部側がデバッグの対象となるプログラムのソースコードファイルと、前記プログラムのソースコードファイルが前記ＶＰ実行コードファイルとの関係を示す情報を参照して、前記仮想プロセッサ・レベルでの指示を発するステップと、
前記コマンド受信部側が、インターフェイスを介して前記指示を受け取るステップと、
前記コマンド受信部側が前記ＶＰ実行コードファイルと、前記ＶＰ実行コードファイルがＣＰＵ固有のコードであるネイティブ実行コードで記述されたネイティブ実行コードファイルとの関係を示す情報を参照するステップとを有し、
ＣＰＵ固有のステップ実行機能を利用して前記ステップを順次実行するデータ処理方法が提供される。
【００１９】
【発明の実施の形態】
以下図面を参照して、本発明のデバッガ及びデータ処理方法について説明する。本発明では、特定のＣＰＵに依存しないＶＰアセンブリ言語と前記ＶＰアセンブリ言語に対応するＶＰ実行コードを定義した仮想プロセッサを利用する。アプリケーション・プログラムは、Ｃ言語などの高級言語やＶＰアセンブリ言語によって記述されるものとする。
【００２０】
図１は、本発明の実施例のうちデバッグ・レコードを示す構成図である。Ｃ言語の各行とＶＰ実行プログラムの各行のオフセットとの関係は、デバッグ・レコード記録手段ＤＢＧＲ１に記録される。一方、ＶＰ実行ファイルを実ＣＰＵの実行コード（Nativeコード）に変換するトランスレータにより、ＶＰ実行コードの各オフセットに対応するNativeコードのオフセットは、デバッグ・レコード記録手段ＤＢＧＲ２に記録される。
【００２１】
トランスレータは実ＣＰＵの種類ごとに作成されるが、ＶＰ実行コードとNative実行コード間のデバッグ・レコードの形式を統一し、不変とする。例えば図１に示すように、デバッグ・レコード記録手段ＤＢＧＲ２には、ＶＰ実行コードにおける各行がNative実行コードのオフセットでどの位置に対応するかが記録される。また、Ｃソースで定義された関数名や変数についてのマッピング情報が、図１に示すようにデバッグ・レコード記録手段ＤＢＧＲ３に記録される。すなわち、関数名もしくは変数名とその実体が配置されるメモリもしくはＶＰレジスタと、関数名もしくは変数名とその実体がメモリ、レジスタのいずれに配置されているかを示す項目がそれぞれ記録される。なお不図示ではあるが、関数や変数のスコープなども同時に、デバッグ・レコード記録手段ＤＢＧＲ３に記録される。
【００２２】
上記説明はＣ言語で書かれたソース・プログラムについて説明してきたが、ＶＰアセンブリ言語で書かれたソース・プログラムの場合は、デバッグ・レコード生成上同等である。すなわち、上記の説明のstabs以外についてはソース・プログラムという点でデバッグ・レコード生成上同等である。すなわち、ＶＰアセンブリ言語で書かれたプログラムは、ＶＰアセンブリ言語をソースとするＤＢＧＲ１を生成する。なお、デバッグ・レコードＤＢＧＲ１、ＤＢＧＲ３はＶＰ実行コードを生成するコンパイラもしくはアセンブラで生成される。一方、ＤＢＧＲ２、ＤＢＧＲ４はトランスレータによって生成される。
【００２３】
本発明は、アプリケーション・プログラムをデバッグするデバッグ方式に関し、前記ＤＢＧＲ２相当並びにＤＢＧＲ４相当のデバッグ・レコードをアプリケーション・プログラムとともに、あるインターフェイス（ホスト、ターゲット間インターフェイス）のターゲット側に保持することを特徴としたデバッガ及びデータ処理方法である。なお、このインターフェイスは必ずしも物理的なインターフェイスではない。例えば、フルICEやJTAG-ICEの場合には、ホストと呼ばれるＰＣもしくはＰＣから接続されたプローブまでの間にインターフェイスが存在し、いわゆるホストと呼ばれるＰＣ側とシリアルもしくはイーサネット、あるいはＲＯＭソケットなどのリモート接続で実機が接続される場合には、そのＰＣ側と実機との間にインターフェイスが存在する。すなわち、ここでいうホスト（コマンド送出部）、ターゲット（コマンド受信部）とは上記インターフェイスの場所より明らかにされるものである。
【００２４】
言い換えれば、本発明は同時にＤＢＧＲ１、ＤＢＧＲ３を含む側とＤＢＧＲ２、ＤＢＧＲ４を含む側の間にインターフェイスを設けることを特徴としたデバッグ方式とも言える。すなわち、通常、ホストはＰＣ上のソフトウェアをして構成され、ターゲットとはシリアル・ケーブルやイーサネットなどで物理的に構成されたものをいうが、前記インターフェイスが実際にはＰＣ上にあってもよい。以後説明の都合上、ＤＢＧＲ２、ＤＢＧＲ４は実機ターゲット上にあるということで説明する。また、ＰＣ上に前記インターフェイスがあるときにはターゲット機能の一部が物理的にＰＣ上にあると解釈する。
【００２５】
あらかじめターゲットにアプリケーション・プログラムがダウンロードにされている状況を想定して、本発明のデバッガ及びデータ処理方法に係る実施の形態を説明する。ＤＢＧＲ１によって、Ｃ言語で指定された行のＶＰ実行コードにおける位置が判明する。ユーザがＣ言語のその行のステップ実行を要求すれば、デバッガ・ホストはそのＤＢＧＲ１の情報からＶＰでのオフセットを取得し、その値を引数にＣの１行に当たるＶＰコードの実行指示を、前記インターフェイスを介してターゲットに送る。
【００２６】
ターゲットは前記インターフェイスを介して受け取った実行指示を解釈する。ＤＢＧＲ３を参照して実際のネイティブ・アドレスのオフセットと、関数の物理アドレス・マップを参照し、実際の実行アドレスを取得し実行する。関数の物理アドレス・マップはターゲット上での関数の実配置を決定するものである。それはトランスレータが出力するリロケータブル（オフセット・ベース）なネイティブ実行コードをユーザが指定するアドレスにマッピングするためのファイル形式（例えばIntel Hexなどの業界標準形式）に変換する指示を行う。
【００２７】
Ｃ言語で定義されている変数はＤＢＧＲ３で定義されている。ユーザがＣ言語で定義されている変数を参照しようとした場合、まずＤＢＧＲ３を参照し、それがＶＰレジスタもしくはデータ領域でどこに配置されているかを知る。ＶＰレジスタに配置されている場合、ターゲット側は前記インターフェイスを介してそのＶＰレジスタの値をターゲットに要求する。ターゲット側は、そのＤＢＧＲ４を参照し、ＶＰレジスタがネイティブ・レジスタに対応しているときには、その値を取得して前記インターフェイスを介してホストに値を返す。ＶＰレジスタがメモリに配置されているときには、その情報がメモリにある場合は、ＤＢＧＲ４で示されるオフセットと既知の変数領域先頭のアドレスからその値を取得し、前記インターフェイスを介してホスト側にその値を返す。
【００２８】
一方、Ｃ言語で定義された変数がＤＢＧＲ３の検索の結果、メモリに配置されていることがこの時点で明らかになれば、前記インターフェイスを介して、そのメモリ・アドレスと既知の変数領域先頭アドレスからその値を取得し、前記インターフェイスを介して、値を返す。上記のように、ＤＢＧＲ１〜ＤＢＧＲ４なるデバッグ・レコードを設け、（ＤＢＧＲ１、ＤＢＧＲ３）と（ＤＢＧＲ２、ＤＢＧＲ４）の間にインターフェイスを設け、前者をホスト側、後者をターゲット側に配すれば、デバッガのホスト側ソフトウェアはターゲット側とＶＰレベルでやり取りすることが可能となる。一方、アプリケーション・プログラムのＶＰ実行コードはＤＢＧＲ１、ＤＢＧＲ３に相当するデバッグ・レコードとともに、共通のコンパイラ、アセンブラによって生成される。
【００２９】
したがって、新規ＣＰＵ用のデバッガを作成する場合、第１点としてトランスレータの開発を行い、ＶＰ実行コードとなっているアプリケーション・プログラムに対してＤＢＧＲ２、ＤＢＧＲ４相当のデバッグ・レコードとともに実プロセッサコードを生成することと、第２点として、ホストＰＣとのやり取りをするデバッガ・スタブコードを開発すれば、すでに開発された（開発されていれば）ホスト側デバッガを、前記インターフェイスを介して使用することができる。
【００３０】
すなわち、本発明によれば、（ＤＢＧＲ１、ＤＢＧＲ３）と（ＤＢＧＲ２、ＤＢＧＲ４）との間にインターフェイスを設け、前者をホスト側に、後者をターゲット側に配して、その間のやり取りをＶＰベースで行うことにより、上記２点の開発を行えば、Ｃ言語などの高級言語やＶＰコード・レベルでのデバッグが可能となる。これにより、ホスト側とターゲットが対で開発されないと、デバッガとして全く機能しないという問題が解決する。
【００３１】
また、本発明のデータ処理方法を行うプログラムを記録媒体に記録することも可能である。上記データ処理方法が記録された記録媒体からプログラムをコンピュータにより読み出すことにより、本発明のデバッガで行われる機能が実現可能となり、また、本発明のデータ処理方法が実行可能となる。なお、記録媒体はコンピュータにより読み取り可能なものであり、記録媒体の具体的な例としては、ハードディスクやフロッピーディスクなどの磁気記録媒体、光記録媒体、光磁気記録媒体を含む記録手段がある。さらに、本発明のデータ処理方法を行うプログラムを伝送媒体で伝送することも可能である。伝送媒体によって接続されたコンピュータが、上記データ処理方法を行うプログラムを読み出すことにより、本発明のデバッガで行われる機能が実行可能となり、また、本発明のデータ処理方法が実行可能となる。なお、伝送媒体はコンピュータに所定の形式のデジタルデータを伝送可能とするものであり、伝送媒体の具体的な例としては、光ケーブルや無線ＬＡＮ、公衆回線、ＩＳＤＮ、衛星放送回線、ケーブルテレビ回線などが挙げられる。
【００３２】
【発明の効果】
本発明によれば、ホスト側ソフトウェアとターゲット側ソフトウェアが対で開発又は移植されないとデバッガとして全く機能しないという従来の問題を解決し、ホスト側の変更なしでＣやＶＰコード・レベルでデバッグを行うので、ネイティブ・レジスタの細かい値を見るといった個々のＣＰＵに依存するデバッグ機能を開発する前に、すでに開発済みのデバッガ・ホストを使用してＣ言語やＶＰレベルでデバッグを行うことが可能となる。また、Ｃ言語などでの開発の場合、必ずしもネイティブ・レジスタやネイティブ・アセンブラ・ベースでデバッグする必要はなくＣ言語ソースレベルで十分なことも多いので、一般に高額となるホスト側デバッガの開発を１回行えば、その後デバッガの開発を行わなくてもよいという利点がある。
【図面の簡単な説明】
【図１】本発明の実施例のうちデバッグ・レコードを示す構成図である。
【符号の説明】
１、３  デバッグ・レコード記録手段ＤＢＧＲ（ホスト側）
２、４  デバッグ・レコード記録手段ＤＢＧＲ（ターゲット側）
【図１】
0003692898.tif 000002