(57)【要約】【課題】仮想記憶方式の主記憶管理をする電子計算機において、ソフトウェアコード（プログラム）のテストの進捗度を測るにあたって、プログラムの動作に全く影響を与えず、また、解析すべきデータ量を低減する。【解決手段】中央演算装置（ＣＰＵ１０１）が仮想記憶方式によって主記憶を参照する際に生じる可能性のある、メモリ管理ユニット（ＭＭＵ１０３）のページウォーク処理を、ページ要求記録手段１０４によって外部へログ出力することにより、プログラムの動作には全く影響を与えずに、おおよそのカバレッジ（テストの進捗度）が測定可能である。また、高速変換バッファ（ＴＬＢ１０２）のサイズを限定することにより、ページ単位でのトレース機能が実現する。【選択図】図１
2008123130.tif 000002
【特許請求の範囲】
【請求項１】
メモリ管理ユニットと高速変換バッファとを具備して仮想記憶方式による主記憶管理を行う電子計算機によるカバレッジ測定方法であって、
テスト対象のソフトウェアコードの実行中、
前記メモリ管理ユニットが前記高速変換バッファを参照しても仮想アドレスに対応する物理アドレスが見つからずページテーブルを参照するページウォークが発生する場合ごとに、
前記ページウォークが発生した仮想アドレスと、該仮想アドレスのデータとを記録するページ要求記録ステップを有し、
解析手段が、前記ページ要求記録ステップが記録した前記仮想アドレスと前記データとに基づいて前記ソフトウェアコードの前記テストのカバレッジを測定するステップを行うことを特徴とするカバレッジ測定方法。
【請求項２】
メモリ管理ユニットと高速変換バッファとを具備して仮想記憶方式による主記憶管理を行う電子計算機によるモジュールのトレース方法であって、
テスト対象のソフトウェアコードの実行中、
前記メモリ管理ユニットが前記高速変換バッファを参照しても仮想アドレスに対応する物理アドレスが見つからずページテーブルを参照するページウォークが発生する場合ごとに、
前記ページウォークが発生した仮想アドレスと、該仮想アドレスのデータとを記録するページ要求記録ステップを有し、
解析手段が、前記ページ要求記録ステップが記録した前記仮想アドレスと前記データとに基づいて前記ソフトウェアコードのモジュールのトレースをするステップを行うことを特徴とするモジュールのトレース方法。
【請求項３】
請求項２に記載のモジュールのトレース方法であって、
前記高速変換バッファは、保持可能なエントリ数を唯１つに設定されたことを特徴とするモジュールのトレース方法。
【請求項４】
メモリ管理ユニットと高速変換バッファとを具備して仮想記憶方式による主記憶管理を行うカバレッジ測定装置であって、
テスト対象のソフトウェアコードの実行中、
前記メモリ管理ユニットが前記高速変換バッファを参照しても仮想アドレスに対応する物理アドレスが見つからずページテーブルを参照するページウォークが発生する場合ごとに、
前記ページウォークが発生した仮想アドレスと、該仮想アドレスのデータとを記録するページ要求記録手段と、
前記ページ要求記録手段が記録した前記仮想アドレスと前記データとに基づいて前記ソフトウェアコードの前記テストのカバレッジを測定する解析手段と、
を有することを特徴とするカバレッジ測定装置。
【請求項５】
請求項４に記載のカバレッジ測定装置であって、
前記ページ要求記録手段は、ＦＩＦＯ方式によって前記仮想アドレスとデータとを記録することを特徴とするカバレッジ測定装置。
【請求項６】
請求項４又は５に記載のカバレッジ測定装置であって、
前記ページ要求記録手段は、実記憶領域内にあることを特徴とするカバレッジ測定装置。
【請求項７】
請求項４から６のいずれか１項に記載のカバレッジ測定装置であって、
前記ページ要求記録手段が記録した前記仮想アドレスと前記データとを、前記解析手段に送信する送信手段を有することを特徴とするカバレッジ測定装置。
【請求項８】
メモリ管理ユニットと高速変換バッファとを具備して仮想記憶方式による主記憶管理を行うトレース装置であって、
テスト対象のソフトウェアコードの実行中、
前記メモリ管理ユニットが前記高速変換バッファを参照しても仮想アドレスに対応する物理アドレスが見つからずページテーブルを参照するページウォークが発生する場合ごとに、
前記ページウォークが発生した仮想アドレスと、該仮想アドレスのデータとを記録するページ要求記録手段と、
前記ページ要求記録手段が記録した前記仮想アドレスと前記データとに基づいて前記ソフトウェアコードのモジュールのトレースをする解析手段と、
を有することを特徴とするトレース装置。
【請求項９】
請求項８に記載のトレース装置であって、
前記ページ要求記録手段は、ＦＩＦＯ方式によって前記仮想アドレスとデータとを記録することを特徴とするトレース装置。
【請求項１０】
請求項８又は９に記載のトレース装置であって、
前記ページ要求記録手段は、実記憶領域内にあることを特徴とするトレース装置。
【請求項１１】
請求項８から１０のいずれか１項に記載のトレース装置であって、
前記ページ要求記録手段が記録した前記仮想アドレスと前記データとを、前記解析手段に送信する送信手段を有することを特徴とするトレース装置。
【請求項１２】
請求項８から１１のいずれか１項に記載のトレース装置であって、
前記高速変換バッファは、保持可能なエントリ数を唯１つに設定されたことを特徴とするトレース装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア開発のテストフェーズにおける、カバレッジ測定方法及び装置、モジュールのトレース方法及び装置に関する。
【背景技術】
【０００２】
従来、電子計算機（コンピュータ）アーキテクチャの分野では、オペレーティングシステムによる主記憶管理の一方式として、仮想記憶方式が知られている。これは、論理上の主記憶を仮想して、中央演算装置（ＣＰＵ）が主記憶を参照しようとすると、その論理上の主記憶の仮想アドレスと、仮想アドレスに対応する実アドレス（物理アドレス）とを自動的に変換して、実アドレスのデータを返すという方式である。
【０００３】
実アドレスのデータの配置される部分は、主記憶装置に限られず、（磁気ディスクなどの）補助記憶装置にも配置可能である。したがって、電子計算機が仮想記憶方式を実装すると、単価が高く比較的大容量化の難しい主記憶装置（メモリ）の、容量上限を超えて、主記憶利用が可能になる。
【０００４】
仮想記憶方式には、大きく分けてセグメント方式（アドレス単位で有するデータが可変長）とページング方式（アドレス単位で有するデータが固定長）の２種類があるが、以下ではページング方式を扱うこととする。
仮想記憶方式において中心的な役割を果たすのがＭＭＵ（メモリ管理ユニット）である。ＭＭＵは、仮想アドレスと実アドレスの変換を、主記憶装置上に構築されることの多いページテーブルを参照して、実行する。この行為をページングという。
【０００５】
また、ページングのためにＭＭＵが逐一バスを介して主記憶装置にアクセスしていたのでは処理が遅くなるため、ＭＭＵは、ＴＬＢ（Translation Look-aside Buffer、高速変換バッファ）という、ページング結果のキャッシュを有していることが多い。ＭＭＵが仮想アドレスの問い合わせをＴＬＢに行い、キャッシュが存在していた場合のことをＴＬＢヒット、存在していなかった場合のことをＴＬＢミスと、一般に呼ぶ。このＴＬＢミスのケースに、ＭＭＵが主記憶装置上のページングテーブルを参照する行為をページウォークという。
【０００６】
他方で、ソフトウェア開発のテストフェーズにおいて、テストの進捗度合いを「カバレッジ（Coverage、網羅率）」という言葉で表現することがある。このカバレッジは、ソフトウェアコード（ソフトウェアプログラム）の、すべての関数や宣言を一通り実行してエラーがないかチェックする、すべての分岐文を一通り実行してエラーがないかチェックする、など、いくつかのレベル・段階で捕らえられる。
【０００７】
したがって、カバレッジを測定するには、従来、ソフトウェアコードの関数の入り口及び出口のすべてに又は分岐文すべてに記録用のフックを入れるといった方法がとられてきた（この方法は本発明の課題において後述するように問題点が存在する）。
【０００８】
また、同様にソフトウェアコードのテストにおいて、主記憶に残された障害やエラーの痕跡を手がかりにデバッグをするため、「モジュールのトレースを取る」という行為がなされることがある。モジュールのトレースとは、多くは一定のメモリをリカーシブルに使用するデータ領域（リング構造）のデータエリアに、動いたモジュール毎にその名前（記号）とリタンコードを順々に入れたものである。このようなトレースしたものをメモリダンプなどで取り出し、解析するのが従来なされている方法である（この方法も同様に、後述するように問題点が存在する）。
【０００９】
さて、上述した仮想記憶方式をとる電子計算機アーキテクチャにおいて、仮想記憶方式に特有の機構を関連させて、上述のソフトウェアコードのテストを行うことを含んだ、従来の技術的思想としては、例えば下記の特許文献１から３があった。
また、ソフトウェアコードのテスト（特にカバレッジの測定方法）に関しては、例えば下記の特許文献４があった。
以下に、その特許文献１から４に記載の従来発明について、述べる。
【００１０】
特許文献１に記載の従来発明は、特に２頁右下１８行目から３頁左下１３行目までを参照すると、仮想記憶式計算機において、メモリ参照時にＴＬＢの未登録の有無を検出し、検出された場合、論理アドレスをバッファや外部記憶装置に書き出すという構成を持つ、アドレス・トレース方式であると認められる。
【００１１】
特許文献２に記載の従来発明は、特に３頁左上１９行目から右上１８行目までを参照すると、仮想記憶機構を有するマイクロプロセッサにおいて、ＴＬＢがｈｉｔしない場合、割り込みが発生し、仮想アドレス等の情報がメインメモリ上に格納される（ステップＳ２）という構成を持つ、トレース機能付マイクロプロセッサであると認められる。
【００１２】
特許文献３に記載の従来発明は、特に５頁左上２行目から右下２０行目までと７頁左上１８行目から右下２行目までとを参照すると、計算機システムにおいて、ＴＬＢのヒット有無を判断し（ステップＳ１２）、ヒットしない場合、ＴＬＢ上に利用状況情報を記録（ステップＳ１３、ステップＳ１４）する（なお、記録先は主メモリでもよい）という構成を持つアドレス変換バッファ利用状況モニタ方式であると認められる。
【００１３】
特許文献４に記載の従来発明は、プログラムのカバレージトレース方法に関し、オブジェクト指向プログラミング言語のソースプログラムを読み込み、クラスごとにメンバ関数や関数の型／因数を解析して、それを基に、カバレージ取得用命例を埋め込んだロードファイルを生成し、実行、クラス単位にカバレージを集計するという構成を持つことが認められる。
【特許文献１】特開昭５６−０５１０７４号公報
【特許文献２】特開昭６３−０８２５２５号公報
【特許文献３】特開平０３−１４４７４８号公報
【特許文献４】特開平０９−２５１４００号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかしながら、上述の従来技術には下記のような問題点が存在した。
【００１５】
プログラムの分岐を全て出力した場合、ｍｅｍｃｐｙなどのループする処理があった場合に局所的に出力するデータが膨大となり、欠落のないデータの取り出し及び解析が困難な場合があった。
【００１６】
また、関数の入り口及び全ての出口、場合によっては分岐文で、記録用のフックを入れた場合はプログラムの動作に影響を与えてしまう。
【００１７】
また、リアルタイムＯＳが動作している組込機器では、動作性能に影響があるような測定方法では、実動作に影響を与えてうまく動作しない場合がある。
【００１８】
そこで本発明は、上記従来技術の問題点に鑑みて、ソフトウェアコード（プログラム）のテストの進捗度を測るにあたって、プログラムの動作に全く影響を与えず、また、解析すべきデータ量を低減する。
【課題を解決するための手段】
【００１９】
上記の目的を達成するための請求項１に記載の発明は、メモリ管理ユニットと高速変換バッファとを具備して仮想記憶方式による主記憶管理を行う電子計算機によるカバレッジ測定方法であって、テスト対象のソフトウェアコードの実行中、前記メモリ管理ユニットが前記高速変換バッファを参照しても仮想アドレスに対応する物理アドレスが見つからずページテーブルを参照するページウォークが発生する場合ごとに、前記ページウォークが発生した仮想アドレスと、該仮想アドレスのデータとを記録するページ要求記録ステップを有し、解析手段が、前記ページ要求記録ステップが記録した前記仮想アドレスと前記データとに基づいて前記ソフトウェアコードの前記テストのカバレッジを測定するステップを行うことを特徴とするカバレッジ測定方法である。
【００２０】
請求項２に記載の発明は、メモリ管理ユニットと高速変換バッファとを具備して仮想記憶方式による主記憶管理を行う電子計算機によるモジュールのトレース方法であって、テスト対象のソフトウェアコードの実行中、前記メモリ管理ユニットが前記高速変換バッファを参照しても仮想アドレスに対応する物理アドレスが見つからずページテーブルを参照するページウォークが発生する場合ごとに、前記ページウォークが発生した仮想アドレスと、該仮想アドレスのデータとを記録するページ要求記録ステップを有し、解析手段が、前記ページ要求記録ステップが記録した前記仮想アドレスと前記データとに基づいて前記ソフトウェアコードのモジュールのトレースをするステップを行うことを特徴とするモジュールのトレース方法である。
【００２１】
請求項３に記載の発明は、請求項２に記載のモジュールのトレース方法であって、前記高速変換バッファは、保持可能なエントリ数を唯１つに設定されたことを特徴とするモジュールのトレース方法である。
【００２２】
請求項４に記載の発明は、メモリ管理ユニットと高速変換バッファとを具備して仮想記憶方式による主記憶管理を行うカバレッジ測定装置であって、テスト対象のソフトウェアコードの実行中、前記メモリ管理ユニットが前記高速変換バッファを参照しても仮想アドレスに対応する物理アドレスが見つからずページテーブルを参照するページウォークが発生する場合ごとに、前記ページウォークが発生した仮想アドレスと、該仮想アドレスのデータとを記録するページ要求記録手段と、前記ページ要求記録手段が記録した前記仮想アドレスと前記データとに基づいて前記ソフトウェアコードの前記テストのカバレッジを測定する解析手段と、を有することを特徴とするカバレッジ測定装置である。
【００２３】
請求項５に記載の発明は、請求項４に記載のカバレッジ測定装置であって、前記ページ要求記録手段は、ＦＩＦＯ方式によって前記仮想アドレスとデータとを記録することを特徴とするカバレッジ測定装置である。
【００２４】
請求項６に記載の発明は、請求項４又は５に記載のカバレッジ測定装置であって、前記ページ要求記録手段は、実記憶領域内にあることを特徴とするカバレッジ測定装置である。
【００２５】
請求項７に記載の発明は、請求項４から６のいずれか１項に記載のカバレッジ測定装置であって、前記ページ要求記録手段が記録した前記仮想アドレスと前記データとを、前記解析手段に送信する送信手段を有することを特徴とするカバレッジ測定装置である。
【００２６】
請求項８に記載の発明は、メモリ管理ユニットと高速変換バッファとを具備して仮想記憶方式による主記憶管理を行うトレース装置であって、テスト対象のソフトウェアコードの実行中、前記メモリ管理ユニットが前記高速変換バッファを参照しても仮想アドレスに対応する物理アドレスが見つからずページテーブルを参照するページウォークが発生する場合ごとに、前記ページウォークが発生した仮想アドレスと、該仮想アドレスのデータとを記録するページ要求記録手段と、前記ページ要求記録手段が記録した前記仮想アドレスと前記データとに基づいて前記ソフトウェアコードのモジュールのトレースをする解析手段と、を有することを特徴とするトレース装置である。
【００２７】
請求項９に記載の発明は、請求項８に記載のトレース装置であって、前記ページ要求記録手段は、ＦＩＦＯ方式によって前記仮想アドレスとデータとを記録することを特徴とするトレース装置である。
【００２８】
請求項１０に記載の発明は、請求項８又は９に記載のトレース装置であって、前記ページ要求記録手段は、実記憶領域内にあることを特徴とするトレース装置である。
【００２９】
請求項１１に記載の発明は、請求項８から１０のいずれか１項に記載のトレース装置であって、前記ページ要求記録手段が記録した前記仮想アドレスと前記データとを、前記解析手段に送信する送信手段を有することを特徴とするトレース装置である。
【００３０】
請求項１２に記載の発明は、請求項８から１１のいずれか１項に記載のトレース装置であって、前記高速変換バッファは、保持可能なエントリ数を唯１つに設定されたことを特徴とするトレース装置である。
【発明の効果】
【００３１】
本発明によれば、ソフトウェアコードのテストの進捗度を測るにあたって、プログラムの動作に全く影響を与えず、また、解析すべきデータ量を低減する。
【発明を実施するための最良の形態】
【００３２】
以下、本発明の好適な実施の形態について図面を参照して説明する。
〔第１の実施形態〕
図１は、本発明の第１の実施形態に該当する電子計算機１００の構成を示すブロック図である。以下に、各ブロックの簡単な説明をする。
【００３３】
図１において、ＣＰＵ（Central Processing Unit）１０１は中央演算ユニットであり、また、仮想記憶方式による主記憶管理をサポートする。ＣＰＵ１０１のメモリ参照要求は、ＭＭＵ１０３へと伝わる。
ＭＭＵ（Memory Management Unit）１０３は、メモリ管理ユニットであり、また、仮想記憶方式による主記憶管理において中心的な役割を果たす。
【００３４】
ＴＬＢ１０２（Translation Look-aside Buffer）は、ページテーブル１０７による仮想アドレス（論理アドレス）と実アドレス（物理アドレス）の変換を行った結果をキャッシュとして保存し、処理の高速化を実現する。
メモリ１０６は、電子計算機１００の主記憶装置であり、内部の記憶領域にページテーブル１０７を保持している。
【００３５】
ページ要求記録手段１０４は、例えばＦＩＦＯバッファを有するＵＡＲＴ（Universal Asynchronous Receiver Transmitter）などで実現される。ＭＭＵ１０３から下記の所定の条件を満たした場合にパラレルバスを介して送られてくる仮想アドレス／物理アドレス及び内部のシンボル情報等を、バッファに記録し、外部インターフェース１０５へ送出する。
【００３６】
外部インターフェース１０５は、例えばシリアルポートなどで実現される。上記のデータをページ要求記録手段１０４から受け取った後、接続される外部の解析手段（図１では図示しない）へと送出する。
【００３７】
なお、本実施形態（及び後述の実施例）では、解析手段を外部に設定するが、これはシステム全体の柔軟性や拡張性を高めるのに有利であるからである。本発明はこのような構成に限ると解すべきではなく、外部インターフェース１０５を構成に含めず内部に解析手段を設置する等の構成は、本発明の一変形例である。
以上で、本実施形態の概略構成の説明を終える。以下で、本実施形態の動作について述べる。
【００３８】
通常、仮想メモリをサポートしたＣＰＵ１０１は、ＭＭＵ１０３を介してメモリ１０６にアクセスする。ＭＭＵ１０３はメモリ１０６上のページテーブル１０７を検索して仮想アドレスと実アドレスの変換を行う。このＭＭＵ１０３が行う検索処理をページウォークという。
【００３９】
ところが、毎回ページウォークを行うと性能が劣化するため、ＴＬＢ１０２において、変換結果をキャッシュして、ページウォークの発生を抑制している。
【００４０】
本実施形態では、図１に示した構成の装置をソフトウェアコードのテストに用い、ＭＭＵ１０３で発生したすべてのページウォークをページ要求記録手段１０４にて記録し、外部インターフェース１０５を経由してデータを取り出し、図示しない外部の電子計算機などが解析し、ページ単位でのカバレッジの測定を可能とする。
【００４１】
解析手段は、少なくとも仮想アドレスと内部のシンボル情報を含む上記のデータに基づいて、ソフトウェアコード（パス）のパス・カバレッジの大まかな測定をしたり、ソフトウェアコードの有するモジュールのトレースをしたりする。
【００４２】
上記の実施形態によれば、測定のためにページフォルトを発生させるような性能劣化となる処理が一切不要なので、実動作の性能に影響を全く与えず、ＭＭＵのページウォーク処理を外部へログ出力するので、大まかな網羅率（カバレッジ）が測定可能であるという効果を奏する。
また、上記の実施形態は、ＴＬＢミスヒットのときのみデータが出力されるため、解析すべきデータ量が非常に少ない。
【００４３】
〔他の実施形態〕
本発明は、次に述べる態様でも実施可能である。
第１の実施形態において、ＴＬＢに対して、唯一つのみバッファを持つように設定する。このように構成することによって、ページの範囲を超えた分岐をすべて出力可能となる。よって、ページ単位でのトレース機能が実現可能となる。
【００４４】
上記の設定は、ＭＭＵの管理をするためのソフトウェアプログラム、すなわち、オペレーティングシステムのカーネルドライバなどで設定する。
【００４５】
上記のオペレーティングシステムのカーネルドライバ等は、磁気又は光ディスク等を含む、人間の知覚によって読み取りが不可能であってもコンピュータによる読み取りが可能である記録媒体によって提供される。
【００４６】
また、本発明は、次に述べる態様でも実施可能である。
第１の実施形態において、図１のページ要求記録手段１０４内部のバッファを、大容量の内蔵メモリとなるよう構成する（なお、下記の実施例ではＦＩＦＯとする）。このように構成することによって、ソフトウェアコードのテストのカバレッジ（進捗度合い）測定及びモジュールのトレースが欠落することなく実行できる。
【００４７】
また、本発明は、次に述べる態様でも実施可能である。
第１の実施形態において、図１のページ要求記録手段１０４内部のバッファを、電子計算機１００の主記憶であるメモリ１０６の記憶領域の一部に割り当てるよう、構成する。すなわち、メモリ１０６と共用とするのである。このように構成することによって、ソフトウェアコードのテストのカバレッジ（進捗度合い）測定及びモジュールのトレースが欠落することなく実行できる。
【実施例１】
【００４８】
上述の第１の実施形態をさらに具体的に実施するための一例を、実施例１として提示し、図面を参照して説明する。
【００４９】
図２は、本実施例に該当するデバッガ２００とＰＣ２１０の構成を示すブロック図である。なお、図１と共通し混同の虞がない部分については同じ符号を付して説明を省略する。
【００５０】
図２において、デバッガ２００は、ＦＩＦＯメモリ２０８と、外部通信手段としての機能を有するＵＡＲＴ２０９とを具備するページ要求記録手段１０４を有し、また、外部インターフェース１０５としてＲＳ−２３２Ｃ（シリアルポート）２０５を有する構成である。そして、デバッガ２００の外部にデータ解析用のＰＣ（パーソナルコンピュータ）２１０を備える。
【００５１】
ＦＩＦＯメモリ２０８は、ＦＩＦＯ（First in, First out）方式でデータの入出力を行う、ＵＡＲＴ２０９のバッファメモリである。
ＵＡＲＴ２０９は、デバッガ２００のパラレルバス（ＭＭＵ１０３等からの信号路である）からやってくるバイトデータをシリアルのビットストリームに変換する。
その他の部分は、すでに図１において説明をした。
【００５２】
本実施例は、上記のような構成であり、下記のように動作する。
図３を参照して本実施例の動作時の流れを説明する。
図３は、本実施例の動作を説明するためのタイミングチャート図である。
【００５３】
図３において、図中に示したケースＡ（ＴＬＢヒットした場合）とケースＢ（ＴＬＢミスした場合）との２種類のケースが存在し、ケースＢが本実施例に特徴的な動作である。ケースＢの理解を助けるためケースＡについても説明する。
【００５４】
ステップＳ３０１では、ＣＰＵ１０１が、メモリ１０６にアクセスしようとして仮想アドレスのデータを参照する要求を出す。この要求を受けたＭＭＵ１０３は、ＴＬＢ１０２に、該当する仮想アドレスと物理アドレスのハッシュを持つキャッシュが存在するか、問い合わせを行う（ステップＳ３０２）。
【００５５】
ＴＬＢ１０２にキャッシュのエントリがあった場合は、物理メモリのアドレス（物理アドレス）を返す（ステップＳ３０３）。そして、ステップＳ３０１における要求の延長でメモリ１０６に対してアクセスを実行する（ステップＳ３０４）。
【００５６】
メモリ１０６はそのアクセスに対して、要求されたアドレス（実アドレス）のデータを返す（ステップＳ３０５）。なお、ＴＬＢ１０２にエントリがあったということは過去に一度アクセスしたことがあるので、ここでは特にデータを、ＲＳ−２３２Ｃ２０５を経由して、外部へ出すことはない。
以上で、ケースＡについての説明を終える。
【００５７】
次に、ケースＢについての説明をする。
ケースＢでは、ＣＰＵ１０１がメモリアクセスしようとして要求を出す（ステップＳ３０６）と、まず、ＭＭＵ１０３はＴＬＢ１０２に問い合わせを行う（ステップＳ３０７）。
【００５８】
ケースＢは、ＴＬＢ１０２にページテーブル１０７のキャッシュエントリがない場合に相当するので、ＴＬＢ１０２はＭＭＵ１０３に、その旨、応答する（ステップＳ３０８）。
【００５９】
応答を受け取ったＭＭＵ１０３は、変換テーブルであるページテーブル１０７を参照するためにメモリ１０６へアクセスする（ステップＳ３０９）。
メモリ１０６は、要求されたアドレス、ここでは変換テーブル（ページテーブル１０７）のデータが置いてあるアドレスのデータを返却する（ステップＳ３１０）。
【００６０】
ようやく物理メモリのアドレスが判明したので、ＭＭＵ１０３は、ステップＳ３０６におけるアクセス要求の延長で、メモリ１０６にアクセスを実行する（ステップＳ３１２）。このアクセスに応答して、メモリ１０６は、要求されたアドレスのデータを返す（ステップＳ３１３）。
【００６１】
本実施例では、ステップＳ３１２と同時に、ページウォークが発生したので、ＦＩＦＯ２０８へ要求されたアドレスを渡す（ステップＳ３１１）。
ＵＡＲＴ２０９は、ＦＩＦＯ２０８にデータがたまると、そのデータを取り出して（ステップＳ３１４）、ＲＳ−２３２Ｃ２０５経由にて、外部へ通知する（ステップＳ３１５）。
【００６２】
解析用のＰＣ２１０は、ＲＳ−２３２Ｃ２０５経由でデータを受信し（ステップＳ３１６）、内部のシンボル情報を基に解析を行う。
以上でケースＢについての説明を終える。
【００６３】
上記の実施例は、解析手段として外部の電子計算機を利用するので、ソフトウェアコードのテスト／デバッグ・システム全体の、拡張性と柔軟性を高めることができるという効果を奏する。
【産業上の利用可能性】
【００６４】
本発明は、ソフトウェア開発におけるテストフェーズ、特に、リアルタイムＯＳの組み込み機器のためのソフトウェア開発に利用可能性がある。
【図面の簡単な説明】
【００６５】
【図１】本発明の実施形態の構成を示すブロック図である。
【図２】本発明の一実施例の構成を示すブロック図である。
【図３】本発明の一実施例を説明するためのタイミングチャート図である。
【符号の説明】
【００６６】
１００    電子計算機
１０１    ＣＰＵ
１０２    ＴＬＢ
１０３    ＭＭＵ
１０４    ページ要求記録手段
１０５    外部インターフェース
１０６    メモリ
１０７    ページテーブル
２００    デバッガ
２０５    ＲＳ−２３２Ｃ
２０８    ＦＩＦＯメモリ
２０９    ＵＡＲＴ
２１０    ＰＣ
【図１】
2008123130.tif 000003
【図２】
2008123130.tif 000004
【図３】
2008123130.tif 000005