(57)【特許請求の範囲】
【請求項１】
シミュレーション対象となるターゲットＣＰＵシステム用のオブジェクトコードをローディングするメモリと、ユーザインターフェイスと、ホストＣＰＵシステムとを備え、前記メモリにローディングした前記オブジェクトコードを前記ホストＣＰＵシステムに実行させて、前記ターゲットＣＰＵシステムの動作を前記ホストＣＰＵシステム上でシミュレートするシミュレータであって、
高級言語で作成されコンパイルされた所定の処理を実行するための複数のデバッグコードと、各前記デバッグコードを前記オブジェクトコードの前記ユーザインターフェイスで指定されたアドレスにリンクさせるリンク情報と、各前記デバッグコードに対して、デバッグコード毎に該デバッグコードの実行の有効／無効を設定する有効／無効情報とを記憶する記憶手段を備え、
前記ホストＣＰＵシステムに前記オブジェクトコードを実行させる際に、該オブジェクトコードの実行対象のアドレスに対して前記リンク情報でリンクされた前記デバッグコードを、該アドレスの前記オブジェクトコードを実行する前に前記ホストＣＰＵシステムに実行させ、該デバッグコードの実行完了後に、前記実行対象のアドレスの前記オブジェクトコードを前記ホストＣＰＵシステムに実行させ、
また、前記デバッグコードは、前記有効／無効情報により実行が有効とされている場合のみ前記ホストＣＰＵシステムに実行させることを特徴とするシミュレータ。
【請求項２】
前記オブジェクトコードの同一のアドレスに対して前記リンク情報の指定する複数の前記デバッグコードの実行順序を前記ユーザインターフェイスの指定に応じて設定する順序情報をさらに記憶し、前記ホストＣＰＵシステムに前記オブジェクトコードを実行させる際に、該オブジェクトコードの実行対象のアドレスに対して前記リンク情報でリンクされた複数の前記デバッグコードを、前記順序情報に応じた順序で前記ホストＣＰＵシステムに実行させることを特徴とする請求項１記載のシミュレータ。
【請求項３】
前記リンク情報を所定のリンク情報ファイルとして出力する手段と、
該手段により出力されたリンク情報ファイルから１つのリンク情報ファイルを選択してロードし、そのロードしたリンク情報から前記デバッグコードのオブジェクトコードに対するリンクを行う手段とを設けたことを特徴とする請求項１又は２に記載のシミュレータ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、シミュレータに関し、詳細には、ターゲットＣＰＵシステム上でのオブジェクトコードの動作をシミュレートするシミュレータに関する。
【０００２】
【従来の技術】
ＣＰＵ（Central Processing Unit ）やＤＳＰ（Digital Signal Processor）等のプロセッサを含むＣＰＵシステム及びこのＣＰＵシステム用のプログラムの開発においては、実際のＣＰＵシステム（以下、ターゲットＣＰＵシステムという。）の完成前に、当該ターゲットＣＰＵシステム用に開発されたプログラム（以下、ターゲットプログラムという。）を、ターゲットＣＰＵシステムとは別のＣＰＵシステム（以下、ホストＣＰＵシステムという。）で、ターゲットＣＰＵシステムと模擬的に動作させるシミュレータを用いて、デバッグしたり、性能評価を行うことが行われている。
【０００３】
このようなシミュレータにおいては、プログラム実行中のある特定のパラメータ、例えば、メモリやレジスタの内容等を視覚的に解析することが行われているが、従来、このようなパラメータの内容を視覚的に解析するためには、何らかの方法で特定のパラメータに関するデータをファイルに出力し、グラフ表示を行うことのできる他のアプリケーションで当該データに対してデータ設定してグラフ表示等の視覚的な表示を行わせるか、シミュレータに標準で装備されている機能を利用して、グラフ表示等を行わせている。
【０００４】
また、従来、プログラムのあるポイントに、一時的なテストコードを挿入する場合、アセンブラのソースコードそのものに対して追加・変更を行い、アセンブル、リンク、シミュレータへのローディングを順次行うか、あるいは、テストコード挿入位置の命令をプログラムメモリの空き領域への分岐命令とし、処理の追加・変更をアセンブラ言語にて空き領域上で実現し、元のアドレスに復帰するような、一般的にパッチ処理といわれる作業を行うことになる。
【０００５】
【発明が解決しようとする課題】
しかしながら、このような従来のシミュレータにあっては、作成したオブジェクトコードの動作解析、問題点の抽出、性能向上のための変更等の作業を行う際、オブジェクトコードの任意のアドレスで一時的なプログラム変更による内部データの加工、グラフ表示、ファイル出力等の処理が必要となるが、シミュレータに標準で備わっている機能だけでは、開発者が必要とする状況に全て対応することは困難である。
【０００６】
また、複雑な演算を必要とするテストコードをアセンブラ言語で実現するのは、多大な労力を必要とし、特に、最終的には不要となるプログラムの場合には、その作成に費やされる時間が多いほど開発効率の低下を招く。また、これらの必要とされる処理は、開発対象によって異なっており、それら全ての処理を予めシミュレータの機能として準備することは不可能である。
【０００７】
さらに、ソースコード自体を変更する場合には、最終的に不要となるコードが一時的に含まれる場合もあり、バグ混入の原因ともなる。バッチ処理の場合は、多くの労力を必要とするとともに、作成したテストコードが一時的なものであり、他の部分への流用が簡単に行うことができず、再ローディング時の再現性がない等の問題がある。
【０００８】
そこで、この発明は、これらの問題を解決し、ターゲットＣＰＵシステム上でのオブジェクトコードの動作をシミュレートするシミュレータにおいて、オブジェクトコードのデバッグ効率を向上させることを目的とする。
【０００９】
【００１０】
【００１１】
【００１２】
【課題を解決するための手段】
請求項１記載の発明のシミュレータは、シミュレーション対象となるターゲットＣＰＵシステム用のオブジェクトコードをローディングするメモリと、ユーザインターフェイスと、ホストＣＰＵシステムとを備え、前記メモリにローディングした前記オブジェクトコードを前記ホストＣＰＵシステムに実行させて、前記ターゲットＣＰＵシステムの動作を前記ホストＣＰＵシステム上でシミュレートするシミュレータであって、高級言語で作成されコンパイルされた所定の処理を実行するためのデバッグコードと、前記デバッグコードを前記オブジェクトコードの前記ユーザインターフェイスで指定されたアドレスにリンクさせるリンク情報と、前記デバッグコードに対して、デバッグコード毎に該デバッグコードの実行の有効／無効を設定する有効／無効情報とを記憶する記憶手段を備え、前記ホストＣＰＵシステムに前記オブジェクトコードを実行させる際に、該オブジェクトコードの実行対象のアドレスに対して前記リンク情報でリンクされた前記デバッグコードを、該アドレスの前記オブジェクトコードを実行する前に前記ホストＣＰＵシステムに実行させ、該デバッグコードの実行完了後に、前記実行対象のアドレスの前記オブジェクトコードを前記ホストＣＰＵシステムに実行させ、また、前記デバッグコードは、前記有効／無効情報により実行が有効とされている場合のみ前記ホストＣＰＵシステムに実行させることにより、上記目的を達成している。
【００１３】
【００１４】
この場合、例えば、請求項２に記載するように、前記オブジェクトコードの同一のアドレスに対して前記リンク情報の指定する複数の前記デバッグコードの実行順序を前記ユーザインターフェイスの指定に応じて設定する順序情報をさらに記憶し、前記ホストＣＰＵシステムに前記オブジェクトコードを実行させる際に、該オブジェクトコードの実行対象のアドレスに対して前記リンク情報でリンクされた複数の前記デバッグコードを、前記順序情報に応じた順序で前記ホストＣＰＵシステムに実行させるようにしてもよい。
【００１５】
【００１６】
【００１７】
【００１８】
さらに、例えば、請求項３に記載するように、前記リンク情報を所定のリンク情報ファイルとして出力する手段と、該手段により出力されたリンク情報ファイルから１つのリンク情報ファイルを選択してロードし、そのロードしたリンク情報から前記デバッグコードのオブジェクトコードに対するリンクを行う手段とを設けてもよい。
【００１９】
【００２０】
【発明の実施の形態】
以下、本発明の好適な実施の形態を添付図面に基づいて詳細に説明する。なお、以下に述べる実施の形態は、本発明の好適な実施の形態であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。
【００２１】
図１及び図２は、本発明のシミュレータの一実施の形態を示す図であり、図１は、本発明のシミュレータの一実施の形態を適用したシミュレータ１の概念図である。
【００２２】
図１において、シミュレータ１は、ターゲットプログラムであるシミュレートプログラム２、シミュレートプログラム２のオブジェクトコードのロードされるオブジェクトコードローディングメモリ３、デバッグコードリンク情報４及び状態素子５等を備えており、シミュレーション対象となるターゲットＣＰＵ（Central Processing Unit ）あるいはターゲットＤＳＰ（Digital Signal Processor）（以下、総称して、ターゲットＣＰＵという。）やシミュレーション対象となる入出力装置及びターゲット入出力Ｉ／Ｏに接続されるシミュレーション対象となる周辺機器等で構成されるＣＰＵシステム（以下、ターゲットＣＰＵシステムという。）用に作成されたシミュレートプログラム２の動作を、ターゲットＣＰＵシステムとは異なるＣＰＵやＤＳＰ、状態素子５等のＣＰＵシステム（以下、ホストＣＰＵシステムという。）上でシミュレートするものである。
【００２３】
このシミュレータ１は、オブジェクトコードのシミュレーションを行うとともに、オブジェクトコードの動作解析、問題点抽出及び性能向上を図る上で必要となるグラフ表示、ファイル出力等の各種処理用のデバッグコード６をオブジェクトコードの所定アドレスの実行と同期して実行させる。デバッグコード６は、図１に示すように、複数のデバッグコードＤｃ１〜Ｄｃｎからなり、ホストＣＰＵシステムの所定のメモリにロードされる。このデバッグコードＤｃ１〜Ｄｃｎは、高級言語で作成され、例えば、当該高級言語の作成ツールに標準で備えられているコンパイラにより機械言語（アセンブラ）にコンパイルされたものである。
【００２４】
デバッグコードリンク情報４は、リンク情報として、オブジェクトコードの格納されているアドレスを示す複数のオブジェクトコードアドレスＡｏ１〜Ａｏｎと、当該オブジェクトコードアドレスＡｏ１〜Ａｏｎに対応して実行されるデバッグコードＤｃ１〜Ｄｃｎをリンクさせるデバッグコード情報Ｄｉ１〜Ｄｉｎと、を有しており、１つのオブジェクトコードアドレスＡｏ１〜Ａｏｎに対して複数のデバッグコード情報Ｄｉ１〜Ｄｉｎを設定することができる。また、１つのオブジェクトコードアドレスＡｏ１〜Ａｏｎに設定されるデバッグコード情報Ｄｉ１〜Ｄｉｎは、その順序を任意に指定することができ、この設定された順序は、図示しない順序情報に格納される。
【００２５】
そして、これらのデバッグコード情報Ｄｉ１〜ＤｉｎとオブジェクトコードアドレスＡｏ１〜Ａｏｎとは、ホストＣＰＵシステムのディスプレイに表示させて、マウス等の入力手段で選択指定することにより、リンクされるようになっており、また、上記１つのオブジェクトコードアドレスＡｏ１〜Ａｏｎに対して設定される複数のデバッグコード情報Ｄｉ１〜Ｄｉｎの順序を入力手段で任意に指定できるようになっている。すなわち、シミュレータ１は、デバッグコード情報Ｄｉ１〜ＤｉｎとオブジェクトコードアドレスＡｏ１〜Ａｏｎとをオブジェクトコードの任意のアドレスであるオブジェクトコードアドレスＡｏ１〜Ａｏｎに対してデバッグコードＤｃ１〜Ｄｃｎを割り付け、また、１つのオブジェクトコードアドレスＡｏ１〜Ａｏｎに対して割り付けるデバッグコード情報Ｄｉ１〜Ｄｉｎの順序を任意に指定するユーザインターフェイス機能を有しており、ユーザインターフェイスにより指定されたオブジェクトコードアドレスＡｏ１〜ＡｏｎのオブジェクトコードとデバッグコードＤｃ１〜Ｄｃｎとをリンクさせて、デバッグコードリンク情報４に格納し、また、指定されたデバッグコード情報Ｄｉ１〜Ｄｉｎの順序を順序情報として格納する。
【００２６】
また、シミュレータ１は、上記デバッグコードリンク情報４をデバッグコードリンク情報ファイル７としてファイル出力する機能を有しており、ホストＣＰＵシステムのユーザインターフェイスからの指示に応じてデバッグコードリンク情報４を所定のファイル形式でデバッグコードリンク情報ファイル７としてファイル出力する。
【００２７】
さらに、シミュレータ１は、デバッグコードリンク情報４の一部として、あるいは、デバッグコードリンク情報４とは別に、各デバッグコードＤｃ１〜Ｄｃｎの実行の有効／無効状態を示す有効／無効情報を有しており、この有効／無効情報に基づいて当該デバッグコードＤｃ１〜Ｄｃｎの実行及び非実行を決定して、シミュレーションを行う。各デバッグコードＤｃ１〜Ｄｃｎについては、上記ユーザインターフェイスによりユーザが各デバッグコードＤｃ１〜Ｄｃｎ毎に、あるいは、複数のデバッグコードＤｃ１〜Ｄｃｎを一括して、適宜有効／無効を設定することができ、シミュレータ１は、このユーザインターフェイスからのデバッグコードＤｃ１〜Ｄｃｎの実行の有効／無効の設定に応じて、当該有効／無効の設定状態を有効／無効情報に登録する。シミュレータ１は、上記デバッグコードリンク情報のファイル出力に際して、上記有効／無効情報をもデバッグコードリンク情報ファイル７としてファイル出力する。
【００２８】
シミュレータ１は、この出力したデバッグコードリンク情報ファイル７から任意の１つのファイルをユーザインターフェイスの指示に応じてデバッグコードリンク情報４にロードし、オブジェクトコードの実行に際して、当該ロードしたデバッグコード情報４に基づいて、すなわち、オブジェクトコードアドレスＡｏ１〜Ａｏｎとデバッグコード情報Ｄｉ１〜Ｄｉｎのリンクの設定情報、順序情報及び有効／無効情報に基づいて、当該リンク設定情報及び順序情報に対応したリンクを行い、有効／無効情報に基づいた処理を実行する。
【００２９】
上記状態素子５は、例えば、シミュレーション対象のターゲットレジスタ、ターゲットメモリ、ターゲット周辺機器及びターゲット入出力Ｉ／Ｏ等の動作をシミュレーションするホストＣＰＵシステムのレジスタ、メモリ、周辺機器、入出力Ｉ／Ｏ等であり、シミュレートプログラム２がシミュレートし、また、デバッグコードＤｃ１〜Ｄｃｎによりデバッグ処理する。
【００３０】
次に、本実施の形態の作用を説明する。シミュレータ１は、ホストＣＰＵシステム上でシミュレートプログラム２を実行する際、オブジェクトコードローディングメモリ３にロードし、オブジェクトコードを順次実行するが、このとき、デバッグコードリンク情報４に基づいて実行するオブジェクトコードアドレスＡｏ１〜Ａｏｎ毎に、当該オブジェクトコードアドレスＡｏ１〜Ａｏｎに対応してデバッグコード情報Ｄｉ１〜Ｄｉｎが設定されて当該オブジェクトコードアドレスＡｏ１〜ＡｏｎにデバッグコードＤｃ１〜Ｄｃｎがリンクされているかチェックし、リンクされているデバッグコードＤｃ１〜Ｄｃｎがあると、当該オブジェクトコードアドレスＡｏ１〜Ａｏｎのオブジェクトコードの実行と同期して、リンクされているデバッグコードＤｃ１〜Ｄｃｎを実行する。
【００３１】
すなわち、シミュレータ１は、オブジェクトコードを実行する際、図２に示すように、デバッグコード実行判定処理を行う。まず、シミュレータ１は、今回実行するオブジェクトコードアドレスＡｏ１〜Ａｏｎに対応して、デバッグコードリンク情報４にデバッグコード情報Ｄｉ１〜Ｄｉｎが登録されているか調べ（ステップＳ１）、登録されていないときには、そのままオブジェクトコードの命令を実行して、シミュレートする（ステップＳ８）。
【００３２】
ステップＳ２で、今回実行対象のオブジェクトコードのオブジェクトコードアドレスＡｏ１〜Ａｏｎに対応してデバッグコード情報Ｄｉ１〜Ｄｉｎが登録されていると、デバッグコード情報Ｄｉ１〜ＤｉｎでリンクされているデバッグコードＤｃ１〜Ｄｃｎが実行対象であるかどうかをデバッグコードリンク情報４の有効／無効情報から調べ（ステップＳ３）、実行が有効であると、シミュレータ１の記憶素子アドレスを因数として、すなわち、ホストＣＰＵシステムのメモリのアドレスを因数としてデバッグコードＤｃ１〜Ｄｃｎをコールして、当該コールしたデバッグコードＤｃ１〜Ｄｃｎを実行する（ステップＳ５）。
【００３３】
１つのデバッグコードＤｃ１〜Ｄｃｎを実行すると、次に実行するデバッグコードＤｃ１〜Ｄｃｎが存在するかをデバッグコードリンク情報４から調べ（ステップＳ６）、実行するデバッグコードＤｃ１〜Ｄｃｎがあるかチェックする（ステップＳ７）。
【００３４】
ステップＳ７で、次に実行するデバッグコードＤｃ１〜Ｄｃｎがあると、ステップＳ３に戻って、上記同様に、リンクされたデバッグコードＤｃ１〜Ｄｃｎが実行対象であるかどうかを有効／無効情報で調べ、実行対象であると、当該リンクされたデバッグコードＤｃ１〜Ｄｃｎを実行して、再度、次に実行するデバッグコードＤｃ１〜Ｄｃｎがあるかをデバッグコードリンク情報４で調べる（ステップＳ３〜Ｓ６）。
【００３５】
上記処理を順次行って、ステップＳ７で、次に実行するデバッグコードＤｃ１〜Ｄｃｎがないときには、当該オブジェクトコードアドレスＡｏ１〜Ａｏｎのオブジェクトコードの命令を実行する（ステップＳ８）。
【００３６】
上記処理を、オブジェクトコードアドレスＡｏ１〜Ａｏｎのそれぞれについて行って、全てのオブジェクトコードアドレスＡｏ１〜Ａｏｎのオブジェクトコードの処理及びリンクされているデバッグコードＤｃ１〜Ｄｃｎの処理を実行すると、処理を終了する。
【００３７】
このように、本実施の形態のシミュレータ１は、高級言語で作成されコンパイルされた所定の処理を実行するためのデバッグコードＤｃ１〜Ｄｃｎを、ユーザインターフェイスで指定されたオブジェクトコードアドレスＡｏ１〜Ａｏｎにリンク情報であるデバッグコード情報Ｄｉ１〜Ｄｉｎでリンクさせ、オブジェクトコード実行時に、オブジェクトコードの実行対象のオブジェクトコードアドレスＡｏ１〜Ａｏｎに対してデバッグコード情報Ｄｉ１〜ＤｉｎでリンクされたデバッグコードＤｃ１〜Ｄｃｎを、当該オブジェクトコードアドレスＡｏ１〜Ａｏｎのオブジェクトコードの実行に同期して実行している。
【００３８】
したがって、グラフ表示、ファイル出力及びデータ加工等の処理を高級言語で作成して処理することができ、オブジェクトコードのアセンブラコードを変更することなく、また、不要なデバッグコードを付加することなく、高級言語で実現するとともに、オブジェクトコードの任意のオブジェクトコードアドレスＡｏ１〜Ａｏｎで、オブジェクトコード命令のシミュレートに同期してデバッグコードＤｃ１〜Ｄｃｎを実現して、プログラム開発やデバッグ時に必要となるグラフ表示等の各種処理を、バグ混入を回避しつつ、簡単にかつ再現性良く行うことができる。
【００３９】
また、シミュレータ１は、オブジェクトコードの同一のオブジェクトコードアドレスＡｏ１〜Ａｏｎに対してリンク情報として設定された複数のデバッグコード情報Ｄｉ１〜Ｄｉｎの指定する複数のデバッグコードＤｃ１〜Ｄｃｎの実行順序をユーザインターフェイスの指定に応じて順序情報として設定し、オブジェクトコード実行時に、オブジェクトコードの当該実行対象のオブジェクトコードアドレスＡｏ１〜Ａｏｎにデバッグコード情報Ｄｉ１〜Ｄｉｎでリンクされた複数のデバッグコードＤｃ１〜Ｄｃｎを順序情報に応じた順序で実行している。
【００４０】
したがって、内部データのグラフ表示、ファイルへの入力、ファイルへの出力及び最大値の検出等の汎用性の高い処理を別々のデバッグコードＤｃ１〜Ｄｃｎとして機能別に高級言語で準備して、これらのデバッグコードＤｃ１〜Ｄｃｎを意図する順序で組み合わせて用いることができ、より効率的なシミュレーションを簡単かつ再現性良く行うことができる。
【００４１】
さらに、シミュレータ１は、複数のデバッグコードＤｃ１〜Ｄｃｎに対して、個々にあるいは所定数を一括して当該デバッグコードＤｃ１〜Ｄｃｎの実行の有効／無効を有効／無効情報として設定して、オブジェクトコード実行時に、複数のデバッグコードＤｃ１〜Ｄｃｎの実行を有効／無効情報に応じて処理している。
【００４２】
したがって、デバッグコードＤｃ１〜Ｄｃｎのリンクの設定及びリンクの解除の作業を簡単に行えるようにすることができ、より効率的なシミュレーションを簡単かつ再現性良く行うことができる。
【００４３】
また、シミュレータ１は、リンク情報を所定のリンク情報ファイルとして出力するとともに、当該出力された複数のリンク情報ファイルから１つのリンク情報ファイルを選択してロードし、当該ロードしたリンク情報からデバッグコードＤｃ１〜Ｄｃｎのオブジェクトコードに対するリンクを行っている。
【００４４】
したがって、デバッグコードＤｃ１〜Ｄｃｎの設定時間を短縮することができるとともに、複数のデバッグコードＤｃ１〜Ｄｃｎの組み合わせの再現性を確保することができ、より効率的なシミュレーションを簡単かつ再現性良く行うことができる。
【００４５】
以上、本発明者によってなされた発明を好適な実施の形態に基づき具体的に説明したが、本発明は上記のものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
以上説明してきたシミュレータによれば、高級言語で作成されコンパイルされた所定の処理を実行するためのデバッグコードを、オブジェクトコードのユーザインターフェイスで指定されたアドレスにリンク情報でリンクさせ、オブジェクトコード実行時に、オブジェクトコードの実行対象のアドレスに対してリンク情報でリンクされたデバッグコードを、当該アドレスのオブジェクトコードの実行に同期して実行するので、グラフ表示、ファイル出力及びデータ加工等の処理を高級言語で作成して処理することができ、オブジェクトコードのアセンブラコードを変更することなく、また、不要なデバッグコードを付加することなく、高級言語で実現するとともに、オブジェクトコードの任意のアドレスで、オブジェクトコード命令のシミュレートに同期してデバッグコードを実現して、プログラム開発やデバッグ時に必要となるグラフ表示等の各種処理を、バグ混入を回避しつつ、簡単にかつ再現性良く行うことができる。
また、オブジェクトコードの同一のアドレスに対してリンク情報の指定する複数のデバッグコードの実行順序をユーザインターフェイスの指定に応じて順序情報として設定し、オブジェクトコード実行時に、オブジェクトコードの当該実行対象のアドレスにリンク情報でリンクされた複数のデバッグコードを順序情報に応じた順序で実行するので、内部データのグラフ表示、ファイルへの入力、ファイルへの出力及び最大値の検出等の汎用性の高い処理を別々のデバッグコードとして機能別に高級言語で準備して、これらのデバッグコードを意図する順序で組み合わせて用いることができ、より効率的なシミュレーションを簡単かつ再現性良く行うことができる。
また、複数のデバッグコードに対して、個々にあるいは所定数を一括して当該デバッグコードの実行の有効／無効を有効／無効情報として設定して、オブジェクトコード実行時に、複数のデバッグコードの実行を有効／無効情報に応じて処理するので、デバッグコードのリンクの設定及びリンクの解除の作業を簡単に行えるようにすることができ、より効率的なシミュレーションを簡単かつ再現性良く行うことができる。
また、リンク情報を所定のリンク情報ファイルとして出力するとともに、当該出力された複数のリンク情報ファイルから１つのリンク情報ファイルを選択してロードし、当該ロードしたリンク情報からデバッグコードのオブジェクトコードに対するリンクを行うので、デバッグコードの設定時間を短縮することができるとともに、複数のデバッグコードの組み合わせの再現性を確保することができ、より効率的なシミュレーションを簡単かつ再現性良く行うことができる。
【００４６】
【発明の効果】
以上説明してきたこの発明のシミュレータによれば、ターゲットＣＰＵシステム上でのオブジェクトコードの動作をシミュレートするシミュレータにおいて、オブジェクトコードのデバッグ効率を向上させることができる。
【００４７】
【００４８】
【００４９】
【図面の簡単な説明】
【図１】本発明のシミュレータの一実施の形態を適用したシミュレータの概念図。
【図２】図１のシミュレータによるデバッグコード実行判定処理を示すフローチャート。
【符号の説明】
１ シミュレータ
２ シミュレートプログラム
３ オブジェクトコードローディングメモリ
４ デバッグコードリンク情報
５ 状態素子
６ デバッグコード
７ デバッグコードリンク情報ファイル
Ａｏ１〜Ａｏｎ オブジェクトコードアドレス
Ｄｉ１〜Ｄｉｎ デバッグコード情報
Ｄｃ１〜Ｄｃｎ デバッグコード
【図１】
0004149047.tif 000002
【図２】
0004149047.tif 000003