(57)【特許請求の範囲】
【請求項１】
記憶部と、
アクセス情報記録部と、
前記記憶部のアドレスを指定し、前記記憶部から前記指定アドレスにおけるデータを読み出すかまたは前記記憶部の前記指定アドレスにデータを書き込むためのアクセス命令を少なくとも実行するための命令実行部と、
前記記憶部において前記命令実行部が読み出しまたは書き込みを行なう単位の領域ごとに、前記アクセス命令に対応するアクセス情報を記録するためのトレース領域を前記アクセス情報記録部に設け、前記アクセス情報を取得して対応の前記トレース領域に保存するためのアクセス情報取得部と、
前記トレース領域に保存された前記アクセス情報を出力するためのアクセス情報出力部とを備える、情報処理装置。
【請求項２】
前記アクセス情報取得部は、前記アクセス情報として、前記アクセス命令の保存場所の情報、前記アクセス命令が示す前記指定アドレスおよび前記記憶部の前記指定アドレスにおけるデータを少なくとも取得する、請求項１に記載の情報処理装置。
【請求項３】
前記トレース領域は、さらに、前記命令実行部が前記記憶部から前記指定アドレスにおけるデータを読み出すためのロード命令に対応するロード用領域と、前記命令実行部が前記記憶部の前記指定アドレスにデータを書き込むためのストア命令に対応するストア用領域とに分割され、
前記アクセス情報取得部は、前記アクセス命令が前記ロード命令であるか前記ストア命令であるかに応じて、対応の前記ロード用領域または前記ストア用領域に前記アクセス情報を保存する、請求項１または２に記載の情報処理装置。
【請求項４】
記憶部を備える情報処理装置におけるデバッグ情報取得方法であって、
前記記憶部のアドレスを指定し、前記記憶部から前記指定アドレスにおけるデータを読み出すかまたは前記記憶部の前記指定アドレスにデータを書き込むためのアクセス命令を実行するステップと、
前記記憶部において前記アクセス命令によって読み出しまたは書き込みが行なわれる単位の領域ごとに、前記アクセス命令に対応するアクセス情報を記録するためのトレース領域を設け、前記アクセス情報を取得して対応の前記トレース領域に保存するステップと、
前記トレース領域に保存された前記アクセス情報を出力するステップとを含む、デバッグ情報取得方法。
【請求項５】
記憶部を備える情報処理装置におけるデバッグ情報取得プログラムであって、コンピュータに、
前記記憶部のアドレスを指定し、前記記憶部から前記指定アドレスにおけるデータを読み出すかまたは前記記憶部の前記指定アドレスにデータを書き込むためのアクセス命令を実行するステップと、
前記記憶部において前記アクセス命令によって読み出しまたは書き込みが行なわれる単位の領域ごとに、前記アクセス命令に対応するアクセス情報を記録するためのトレース領域を設け、前記アクセス情報を取得して対応の前記トレース領域に保存するステップと、
前記トレース領域に保存された前記アクセス情報を出力するステップとを実行させる、デバッグ情報取得プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、デバッグ情報取得方法、およびデバッグ情報取得プログラムに関し、特に、メモリアクセスに関する情報を取得する情報処理装置、デバッグ情報取得方法、およびデバッグ情報取得プログラムに関する。
【背景技術】
【０００２】
稼働中のコンピュータシステムにおいて、メモリに対するアクセス履歴をリアルタイムでメモリに保持しておき、異常なメモリアクセスによりメモリ内のデータが破壊された場合に、保持しておいたアクセス履歴を参照することにより、異常なメモリアクセスが行なわれた原因を調査することは有効な手段である。
【０００３】
コンピュータシステムにおける異常を解析するための構成として、たとえば、特許文献１（特開２００１−１４０２７号公報）には、以下のような技術が開示されている。すなわち、制御コントローラ内に配置されて、上記制御コントローラ内の制御プログラムが使用するメモリデータについて、所定周期前までと現在のプログラム命令の全入力値データおよび全出力値データを記憶手段に保存するデータ保存手段と、上記制御コントローラに接続された保守装置内に配置されて、上記データ保存手段によって記憶手段に保存された所定周期前までの全入力値データおよび全出力値データと現在の全入力値データおよび全出力値データとを読み出すデータ読み出し手段と、上記保守装置内に配置されて、上記データ読み出し手段の読み出した所定周期前までの全入力値データおよび全出力値データの値と現在の全入力値データおよび全出力値データの値を用いて、各周期毎の制御プログラムの命令実行結果データを表示するデータ表示手段とを備える。そして、制御コントローラ内の制御プログラムが複数のブロックに分割されている場合に、上記制御プログラムの、上記制御コントローラ内の記憶手段にデータを保存すべきブロックのブロック番号を、上記制御コントローラ内のデータ保存手段に対して指定するブロック指定手段を保守装置内に設ける。そして、上記データ保存手段が、上記ブロック指定手段によってブロック番号が指定された上記制御プログラムのブロックについてのみ、所定周期前までと現在のプログラム命令の全入力値データおよび全出力値データを記憶手段に保存する。
【０００４】
また、特許文献２（特開平７−１９１８７５号公報）には、以下のような技術が開示されている。すなわち、デバックのターゲットプログラムを１ステップ実行する度に、現在実行中のステップの命令により変更のあったレジスタ、メモリ、およびプログラムカウンタ等の情報をロギング情報として記憶していく。現ステップからスタートステップの方向へバックトレース要求がされた時、記憶されたロギング情報をもとにして１ステップずつ前ステップ（後方）の状態を再現していくことによって目的のステップにおける状態を再現し再実行を可能とする。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−１４０２７号公報
【特許文献２】特開平７−１９１８７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一般的に、メモリアクセスでは、局所的なアクセスが多数発生することが多い。このため、メモリに対するすべてのアクセス履歴を保持し続けることはメモリアクセス記録領域
の容量を考えると困難である。
【０００７】
このような問題点を解決する方法としては、記録するデータの形式を変更したり、アクセス履歴を保存する対象となるアクセス先のアドレス等を制限したりすることにより、保持するデータを削減することが考えられる。
【０００８】
しかしながら、異常なメモリアクセスがどのアドレスにおいていつ発生するかを予測することは困難である。また、プログラムは、異常な動作を行なうと、メモリにおける意図していないアドレスに異常な値を書き込むことがある。ところが、次に当該アドレスからデータを読み出すまで異常は検出されないところ、書き込みから読み出しまでの間隔が長い場合には、異常が検出された際にすでに書き込み時のメモリアクセス情報が消えている場合がある。
【０００９】
そして、特許文献１および特許文献２には、このような問題点を解決するための構成は開示されていない。
【００１０】
この発明は、上述の課題を解決するためになされたもので、その目的は、少ないメモリ容量でメモリアクセスに関する情報を適切に保存し、異常解析を容易にすることが可能な情報処理装置、デバッグ情報取得方法、およびデバッグ情報取得プログラムを提供することである。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、この発明のある局面に係わる情報処理装置は、記憶部と、アクセス情報記録部と、上記記憶部のアドレスを指定し、上記記憶部から上記指定アドレスにおけるデータを読み出すかまたは上記記憶部の上記指定アドレスにデータを書き込むためのアクセス命令を少なくとも実行するための命令実行部と、上記記憶部において上記命令実行部が読み出しまたは書き込みを行なう単位の領域ごとに、上記アクセス命令に対応するアクセス情報を記録するためのトレース領域を上記アクセス情報記録部に設け、上記アクセス情報を取得して対応の上記トレース領域に保存するためのアクセス情報取得部と、上記トレース領域に保存された上記アクセス情報を出力するためのアクセス情報出力部とを備える。
【００１２】
上記課題を解決するために、この発明のある局面に係わるデバッグ情報取得方法は、記憶部を備える情報処理装置におけるデバッグ情報取得方法であって、上記記憶部のアドレスを指定し、上記記憶部から上記指定アドレスにおけるデータを読み出すかまたは上記記憶部の上記指定アドレスにデータを書き込むためのアクセス命令を実行するステップと、上記記憶部において上記アクセス命令によって読み出しまたは書き込みが行なわれる単位の領域ごとに、上記アクセス命令に対応するアクセス情報を記録するためのトレース領域を設け、上記アクセス情報を取得して対応の上記トレース領域に保存するステップと、上記トレース領域に保存された上記アクセス情報を出力するステップとを含む。
【００１３】
上記課題を解決するために、この発明のある局面に係わるデバッグ情報取得プログラムは、記憶部を備える情報処理装置におけるデバッグ情報取得プログラムであって、コンピュータに、上記記憶部のアドレスを指定し、上記記憶部から上記指定アドレスにおけるデータを読み出すかまたは上記記憶部の上記指定アドレスにデータを書き込むためのアクセス命令を実行するステップと、上記記憶部において上記アクセス命令によって読み出しまたは書き込みが行なわれる単位の領域ごとに、上記アクセス命令に対応するアクセス情報を記録するためのトレース領域を設け、上記アクセス情報を取得して対応の上記トレース領域に保存するステップと、上記トレース領域に保存された上記アクセス情報を出力するステップとを実行させる。
【発明の効果】
【００１４】
本発明によれば、少ないメモリ容量でメモリアクセスに関する情報を適切に保存し、異常解析を容易にすることができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態に係る情報処理装置の概略構成図である。
【図２】本発明の実施の形態に係る情報処理装置が提供する制御構造を示すブロック図である。
【図３】本発明の実施の形態に係る情報処理装置におけるメモリの領域およびメモリアクセス情報記録部の領域の対応関係を示す図である。
【図４】本発明の実施の形態に係る情報処理装置におけるメモリアクセス情報記録部に保存されるアクセス情報を示す図である。
【図５】本発明の実施の形態に係る情報処理装置がデバッグ情報取得処理を行なう際の動作手順を示すフローチャートである。
【発明を実施するための形態】
【００１６】
［概要］
本発明の実施の形態では、コンピュータシステム内のデバッグ情報保存領域に対してデバッグ情報をラップアラウンド方式で順次書き込んでいく方式の装置において、メモリアクセス単位、たとえばワード単位またはバイト単位で、かつロード命令およびストア命令ごとにデバッグ領域を分割して利用する。これにより、メモリにおける特定のアドレスにのみ多数のアクセスがあった場合でも、各アドレスの最終メモリアクセス情報が失われることを防ぐことができる。
【００１７】
本発明の実施の形態に係る情報処理装置は、典型的には、汎用的なアーキテクチャを有するコンピュータを基本構造としており、あらかじめインストールされたプログラムを実行することで各種機能を提供する。一般的に、このようなプログラムは、フレキシブルディスク（Flexible Disk）およびＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの記録媒体に格納されて、あるいはネットワークなどを介して流通する。
【００１８】
本発明の実施の形態に係るプログラムは、ＯＳ等の他のプログラムの一部に組み込まれて提供されるものであってもよい。この場合でも、本発明の実施の形態に係るプログラム自体は、上記のような組み込み先の他のプログラムが有するモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。すなわち、本発明の実施の形態に係るプログラムとしては、このような他のプログラムに組み込まれた形態であってもよい。
【００１９】
なお、代替的に、プログラムの実行により提供される機能の一部または全部を専用のハードウェア回路として実装してもよい。
【００２０】
以下、本発明の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
【００２１】
［装置構成］
図１は、本発明の実施の形態に係る情報処理装置の概略構成図である。図１を参照して、情報処理装置２０１は、演算処理部であるＣＰＵ（Central Processing Unit）１０１と、メインメモリ１０２およびハードディスク１０３と、入力インターフェイス１０４と、表示コントローラ１０５と、データリーダ／ライタ１０６と、通信インターフェイス１０７とを備える。これらの各部は、バス１２１を介して互いにデータ通信可能に接続される。
【００２２】
ＣＰＵ１０１は、ハードディスク１０３に格納されたプログラム（コード）をメインメモリ１０２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ１０２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）などの揮発性の記憶装置であり、ハードディスク１０３から読み出されたプログラムに加えて、各種の演算処理結果を示すデータなどを保持する。また、ハードディスク１０３は不揮発性の磁気記憶装置であり、ＣＰＵ１０１で実行されるプログラムに加えて、各種設定値などが格納される。このハードディスク１０３にインストールされるプログラムは、後述するように、記録媒体１１１に格納された状態で流通する。なお、ハードディスク１０３に加えて、あるいはハードディスク１０３に代えて、フラッシュメモリなどの半導体記憶装置を採用してもよい。
【００２３】
入力インターフェイス１０４は、ＣＰＵ１０１とキーボード１０８、マウス１０９および図示しないタッチパネルなどの入力部との間のデータ伝送を仲介する。すなわち、入力インターフェイス１０４は、ユーザが入力部を操作することで与えられる操作指令などの外部からの入力を受け付ける。
【００２４】
表示コントローラ１０５は、表示部の典型例であるディスプレイ１１０と接続され、ディスプレイ１１０での表示を制御する。すなわち、表示コントローラ１０５は、ＣＰＵ１０１による画像処理の結果などをユーザに対して表示する。ディスプレイ１１０は、たとえばＬＣＤ（Liquid Crystal Display）またはＣＲＴ（Cathode Ray Tube）である。
【００２５】
データリーダ／ライタ１０６は、ＣＰＵ１０１と記録媒体１１１の間のデータ伝送を仲介する。すなわち、記録媒体１１１は、情報処理装置２０１で実行されるプログラムなどが格納された状態で流通し、データリーダ／ライタ１０６は、この記録媒体１１１からプログラムを読み出す。また、データリーダ／ライタ１０６は、ＣＰＵ１０１の内部指令に応答して、情報処理装置２０１における処理結果などを記録媒体１１１へ書き込む。なお、記録媒体１１１は、たとえば、ＣＦ（Compact Flash）およびＳＤ（Secure Digital）などの汎用的な半導体記憶デバイス、フレキシブルディスク（Flexible Disk）などの磁気記憶媒体、またはＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記憶媒体である。
【００２６】
通信インターフェイス１０７は、ＣＰＵ１０１とパーソナルコンピュータおよびサーバ装置などの間のデータ伝送を仲介する。通信インターフェイス１０７は、典型的には、イーサネット（登録商標）またはＵＳＢ（Universal Serial Bus）の通信機能を有する。なお、記録媒体１１１に格納されたプログラムを情報処理装置２０１にインストールする形態に代えて、通信インターフェイス１０７を介して配信サーバなどからダウンロードしたプログラムを情報処理装置２０１にインストールしてもよい。
【００２７】
また、情報処理装置２０１には、必要に応じてプリンタなどの他の出力装置が接続されてもよい。
【００２８】
［制御構造］
次に、情報処理装置２０１における各種機能を提供するための制御構造について説明する。
【００２９】
図２は、本発明の実施の形態に係る情報処理装置が提供する制御構造を示すブロック図である。
【００３０】
図２に示す情報処理装置２０１の各ブロックは、ハードディスク１０３に格納されたプ
ログラム（コード）などをメインメモリ１０２に展開して、ＣＰＵ１０１に実行させることで提供される。なお、図２に示すモジュールの一部または全部がハードウェアに実装されているファームウェアによって提供される場合もある。あるいは、図２に示す制御構造の一部または全部を専用ハードウェアおよび／または配線回路によって実現してもよい。
【００３１】
図２を参照して、情報処理装置２０１は、ＣＰＵ１０１と、メモリ（記憶部）３と、メモリアクセス情報記録部４と、入出力部６とを備える。ＣＰＵ１０１は、その制御構造として、命令実行部１と、メモリアクセス情報取得部２と、メモリアクセス情報出力部５とを備える。メモリ３およびメモリアクセス情報記録部４は、たとえば図１に示すメインメモリ１０２に相当する。入出力部６は、たとえば図１に示すハードディスク１０３またはディスプレイ１１０に相当する。
【００３２】
ＣＰＵ１０１は、図２に示す各部の他に、多くのユニットによって構成されるのが一般的であるが、説明を簡単にするために、本発明に関係しないユニットについては図示していない。
【００３３】
命令実行部１は、メモリ３のアドレスを指定し、メモリ３から指定したアドレス（以下、指定アドレスとも称する。）におけるデータを読み出すかまたはメモリ３の指定アドレスにデータを書き込むためのアクセス命令を少なくとも実行する。
【００３４】
メモリアクセス情報取得部２は、命令実行部１からメモリ３に対するアクセスが発生すると、当該アクセス情報を取得してメモリアクセス情報記録部４に記録する。
【００３５】
メモリアクセス情報出力部５は、メモリアクセス情報記録部４に記録されたアクセス情報を入出力部６へ出力する。
【００３６】
図３は、本発明の実施の形態に係る情報処理装置におけるメモリの領域およびメモリアクセス情報記録部の領域の対応関係を示す図である。
【００３７】
図３を参照して、メモリアクセス情報取得部２は、メモリ３において命令実行部１が読み出しまたは書き込みを行なう単位の領域ごと、たとえば各アドレス０ｘ００００１０００，０ｘ００００１００１，０ｘ００００１００２，０ｘ００００１００３のアクセス単位ごとに、アクセス命令に対応するアクセス情報を記録するためのトレース領域をアクセス情報記録部４に論理的に設ける。
【００３８】
たとえば、トレース領域は、命令実行部１がメモリ３から指定アドレスにおけるデータを読み出すためのロード命令に対応するロード用領域と、命令実行部１がメモリ３の指定アドレスにデータを書き込むためのストア命令に対応するストア用領域とに論理的に分割される。
【００３９】
メモリアクセス情報取得部２は、アクセス命令がロード命令であるかストア命令であるかに応じて、対応のロード用領域またはストア用領域にアクセス情報を保存する。
【００４０】
具体的には、メモリアクセス情報記録部４は、あらかじめ命令実行部１によるメモリアクセスの最小単位に合わせて複数のバッファすなわちトレース領域に論理的に分割されており、アクセス先のアドレスとロード命令およびストア命令とによってどのトレース領域に保存するかが決定される。分割された各トレース領域は一定の容量を有しており、保存されるアクセス情報がその容量を超えたときはラップアラウンド方式によって古い情報が削除され、上書きされる。
【００４１】
図４は、本発明の実施の形態に係る情報処理装置におけるメモリアクセス情報記録部に保存されるアクセス情報を示す図である。
【００４２】
図４を参照して、メモリアクセス情報取得部２は、命令実行部１からメモリ３に対してロード命令またはストア命令が発行されると、インストラクションアドレス、アクセスアドレス、およびメモリ内容を、メモリアクセス情報記録部４に保存する。すなわち、メモリアクセス情報取得部２は、アクセス情報として、アクセス命令の保存場所の情報、アクセス命令が示す指定アドレスおよびメモリ３の指定アドレスにおけるデータを少なくとも取得する。インストラクションアドレスは、たとえばメモリ３に保存されている。
【００４３】
ユーザは、異常なメモリアクセスでメモリ内容が破壊される不具合についてデバッグを行なう際などに、メモリアクセス情報出力部５および入出力部６を利用してメモリアクセス情報記録部４に記録されたアクセス情報の履歴を参照する。これにより、ユーザは異常なメモリアクセスが発生したメモリアドレスに対するアクセス情報を利用したデバッグを行なうことができる。
【００４４】
［動作］
次に、本発明の実施の形態に係る情報処理装置の動作について図面を用いて説明する。本発明の実施の形態では、情報処理装置２０１を動作させることによって、本発明の実施の形態に係るデバッグ情報取得方法が実施される。よって、本発明の実施の形態に係るデバッグ情報取得方法の説明は、以下の情報処理装置２０１の動作説明に代える。なお、以下の説明においては、適宜図２を参照する。
【００４５】
図５は、本発明の実施の形態に係る情報処理装置がデバッグ情報取得処理を行なう際の動作手順を示すフローチャートである。
【００４６】
図５を参照して、命令実行部１は、アクセス命令を実行する。すなわち、命令実行部１は、メモリ３のアドレスを指定し、メモリ３から指定アドレスにおけるデータを読み出すロード命令またはメモリ３における指定アドレスにデータを書き込むためのストア命令を実行する（ステップＳ２）。
【００４７】
次に、メモリアクセス情報取得部２は、命令実行部１の実行したロード命令またはストア命令に対応するアクセス情報を取得する（ステップＳ４）。
【００４８】
次に、メモリアクセス情報取得部２は、アクセス情報記録部４にトレース領域を設け、取得したアクセス情報をアクセス情報記録部４における対応のトレース領域に保存する（ステップＳ６）。
【００４９】
次に、メモリアクセス情報出力部５は、アクセス情報記録部４に保存されたアクセス情報をハードディスク１０３へ出力する（ステップＳ８）。
【００５０】
そして、ユーザは、異常なメモリアクセスでメモリ内容が破壊される不具合が発生すると、たとえばハードディスク１０３に記録されたアクセス情報を参照することにより、デバッグを行なう。
【００５１】
ところで、一般的に、メモリアクセスでは、局所的なアクセスが多数発生することが多い。このため、すべてのアクセス履歴を保持し続けることはメモリアクセス記録領域の容量を考えると困難である。このような問題点を解決する方法としては、記録するデータの形式を変更したり、アクセス履歴を保存する対象となるアクセス先のアドレス等を制限したりすることにより、保持するデータを削減する方法が考えられる。しかしながら、異常
なメモリアクセスがどのアドレスにおいていつ発生するかを予測することは困難であり、また、異常な値が書き込まれたアドレスからデータを読み出すまで異常は検出されないところ、書き込みから読み出しまでの間隔が長い場合には、異常が検出された際にすでに書き込み時のメモリアクセス情報が消えている場合がある。
【００５２】
これに対して、本発明の実施の形態では、メモリアクセス情報取得部２は、メモリ３において命令実行部１が読み出しまたは書き込みを行なう単位の領域ごとに、アクセス命令に対応するアクセス情報を記録するためのトレース領域をアクセス情報記録部４に設ける。そして、メモリアクセス情報取得部２は、アクセス情報を取得してアクセス情報記録部４における対応のトレース領域に保存する。メモリアクセス情報出力部５は、アクセス情報記録部４に保存されたアクセス情報を出力する。
【００５３】
このような構成により、メモリにおける領域の一部に多数のメモリアクセスがあっても、各アドレスの最終のアクセス情報が消えることを防ぐことができるため、異常なメモリアクセスのデバッグを容易に行なうことができる。また、メモリに対するすべてのアクセス履歴を保持し続ける必要もなくなる。また、異常な値が書き込まれたアドレスからデータを読み出すまでの間隔が長い場合でも、書き込み時のメモリアクセス情報が消えることを防ぐことができる。
【００５４】
すなわち、本発明の実施の形態に係る情報処理装置２０１における各構成要素のうち、命令実行部１、メモリアクセス情報取得部２、メモリ３、アクセス情報記録部４およびメモリアクセス情報出力部５からなる最小構成により、少ないメモリ容量でメモリアクセスに関する情報を適切に保存し、異常解析を容易にするという本発明の目的を達成することが可能となる。
【００５５】
また、本発明の実施の形態では、たとえば、トレース領域は、命令実行部１がメモリ３から指定アドレスにおけるデータを読み出すためのロード命令に対応するロード用領域と、命令実行部１がメモリ３の指定アドレスにデータを書き込むためのストア命令に対応するストア用領域とに分割される。そして、メモリアクセス情報取得部２は、アクセス命令がロード命令であるかストア命令であるかに応じて、対応のロード用領域またはストア用領域にアクセス情報を保存する。
【００５６】
すなわち、本発明の実施の形態では、メモリをアクセス単位ごとかつロード命令およびストア命令ごとに分割し、分割した単位でアクセス情報を記録する。このような構成により、メモリにおける各アドレスの最終のアクセス情報が消えることをさらに確実に防ぐことができる。
【００５７】
また、本発明の実施の形態では、メモリアクセス情報取得部２は、アクセス情報として、アクセス命令の保存場所の情報、アクセス命令が示す指定アドレスおよびメモリ３の指定アドレスにおけるデータを少なくとも取得する。このような構成により、異常解析を容易にすることが可能となる。
【００５８】
なお、本発明の実施の形態では、メモリ３およびアクセス情報記録部４はメインメモリ１０２に相当するとしたが、これに限定するものではない。メモリ３およびアクセス情報記録部４がそれぞれ物理的に別個のメモリであってもよい。
【００５９】
上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記説明ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【００６０】
本発明によれば、少ないメモリ容量でメモリアクセスに関する情報を適切に保存し、異常解析を容易にすることができる。したがって、本発明は、産業上の利用可能性を有している。
【００６１】
上記実施の形態の一部または全部は以下の付記のようにも記載されうるが、本発明の範囲は、以下の付記に限定されるものではない。
【００６２】
［付記１］
記憶部を備える情報処理装置におけるデバッグ情報取得方法であって、
前記記憶部のアドレスを指定し、前記記憶部から前記指定アドレスにおけるデータを読み出すかまたは前記記憶部の前記指定アドレスにデータを書き込むためのアクセス命令を実行するステップと、
前記記憶部において前記アクセス命令によって読み出しまたは書き込みが行なわれる単位の領域ごとに、前記アクセス命令に対応するアクセス情報を記録するためのトレース領域を設け、前記アクセス情報を取得して対応の前記トレース領域に保存するステップと、
前記トレース領域に保存された前記アクセス情報を出力するステップとを含む、デバッグ情報取得方法。
【００６３】
［付記２］
前記アクセス情報を取得して保存するステップにおいては、前記アクセス情報として、前記アクセス命令の保存場所の情報、前記アクセス命令が示す前記指定アドレスおよび前記記憶部の前記指定アドレスにおけるデータを少なくとも取得する、付記１に記載のデバッグ情報取得方法。
【００６４】
［付記３］
前記アクセス情報を取得して保存するステップにおいては、前記トレース領域を、前記記憶部から前記指定アドレスにおけるデータを読み出すためのロード命令に対応するロード用領域と、前記記憶部の前記指定アドレスにデータを書き込むためのストア命令に対応するストア用領域とに分割し、前記アクセス命令が前記ロード命令であるか前記ストア命令であるかに応じて、対応の前記ロード用領域または前記ストア用領域に前記アクセス情報を保存する、付記１または２に記載のデバッグ情報取得方法。
【００６５】
［付記４］
記憶部を備える情報処理装置におけるデバッグ情報取得プログラムであって、コンピュータに、
前記記憶部のアドレスを指定し、前記記憶部から前記指定アドレスにおけるデータを読み出すかまたは前記記憶部の前記指定アドレスにデータを書き込むためのアクセス命令を実行するステップと、
前記記憶部において前記アクセス命令によって読み出しまたは書き込みが行なわれる単位の領域ごとに、前記アクセス命令に対応するアクセス情報を記録するためのトレース領域を設け、前記アクセス情報を取得して対応の前記トレース領域に保存するステップと、
前記トレース領域に保存された前記アクセス情報を出力するステップとを実行させる、デバッグ情報取得プログラム。
【００６６】
［付記５］
前記アクセス情報を取得して保存するステップにおいては、前記アクセス情報として、前記アクセス命令の保存場所の情報、前記アクセス命令が示す前記指定アドレスおよび前記記憶部の前記指定アドレスにおけるデータを少なくとも取得する、付記４に記載のデバッグ情報取得プログラム。
【００６７】
［付記６］
前記アクセス情報を取得して保存するステップにおいては、前記トレース領域を、前記記憶部から前記指定アドレスにおけるデータを読み出すためのロード命令に対応するロード用領域と、前記記憶部の前記指定アドレスにデータを書き込むためのストア命令に対応するストア用領域とに分割し、前記アクセス命令が前記ロード命令であるか前記ストア命令であるかに応じて、対応の前記ロード用領域または前記ストア用領域に前記アクセス情報を保存する、付記４または５に記載のデバッグ情報取得プログラム。
【符号の説明】
【００６８】
１  命令実行部
２  メモリアクセス情報取得部
３  メモリ（記憶部）
４  メモリアクセス情報記録部
５  メモリアクセス情報出力部
６  入出力部
１０１  ＣＰＵ
１０２  メインメモリ
１０３  ハードディスク
１０４  入力インターフェイス
１０５  表示コントローラ
１０６  データリーダ／ライタ
１０７  通信インターフェイス
１０８  キーボード
１０９  マウス
１１０  ディスプレイ
１１１  記録媒体
１２１  バス
２０１  情報処理装置
【図１】
0005447841.tif 000002
【図２】
0005447841.tif 000003
【図３】
0005447841.tif 000004
【図４】
0005447841.tif 000005
【図５】
0005447841.tif 000006