説明

トレース情報管理装置、トレース情報管理方法、およびトレース情報管理プログラム

【課題】プログラムの実行内容を示すトレース情報を保存するトレース情報記憶領域の容量に制約がある場合においても、例えば異常発生時などの状況や目的に応じて必要なトレースデータを残すことが可能なトレース情報管理装置を提供する。
【解決手段】プログラムの実行内容を示すトレース情報を記憶するリングバッファであるトレース情報記憶領域(110)と、トレース情報記憶領域(110)に記憶されたトレース情報を記憶するバックアップ情報記憶領域(120)と、を有する記憶部(107)と、トレース情報記憶領域(110)における記憶容量が所定記憶容量以上となった場合に、解析時に必要とする解析用トレース情報をトレース情報記憶領域(110)から選択し、バックアップ情報記憶領域(120)に記憶するバックアップ処理部(105)とを有するトレース情報管理装置。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラムの実行内容をトレースするためのトレース情報を管理するトレース情報管理装置、トレース情報管理方法、およびトレース情報管理プログラムに関する。
【背景技術】
【0002】
プログラムの実行内容をトレースする場合、パソコン以外のMPU(Micro Processing Unit)を有する組み込み機器などの情報処理装置では、搭載されるメモリのサイズに制約があるため、固定サイズのトレース領域をリングバッファとして用いる方式が採用されることが多い。すなわち、トレース領域の先頭から時系列にトレース情報を記録し、トレース領域の終端に到達するとトレース領域の先頭に戻り、記録済みの古いトレース情報に新しいトレース情報を順次上書きしていく。
【0003】
しかし、この方式では、トレース領域が小さい場合、例えば異常発生時のトレース情報を取得したい場合に、必要とするトレース情報がすでに新しいトレース情報に上書きされて消去されており、取得できないという問題が発生する。
このような問題を解決する方法として、特許文献1に記載のトレース方法では、第一の記憶手段と第二の記憶手段とを設け、第一の記憶手段には従来のようにトレースデータを格納し、第二の記憶手段には第一の記憶手段に格納されたトレースデータのうち、一定の時間間隔で抽出したトレースデータを格納することとしている。これにより、記憶容量を減らしても、装置の動作の大まかな流れを知ることができる。
【0004】
また、特許文献2に記載のトレース方法では、トレースデータのタイムスタンプ値をそのままトレース用メモリに記憶せずに前回のタイムスタンプ値との差分情報を記録することで、トレースデータのタイムスタンプ値が占めるメモリ量を低減させ、トレースデータが記録できる回数を増やすようにしている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平4−239336号公報
【特許文献2】特開2004−30505号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に記載の方法では、第一の記憶手段に格納されたトレースデータのうち、一定の時間間隔で抽出したトレースデータのみを第二の記憶手段に格納するため、装置の動作の大まかな流れを知ることはできても、例えば異常発生時のトレースデータなど、特定のトレースデータを残すことができず、不具合解析には役に立たない場合がある。
【0007】
また、特許文献2に記載の方法では、トレースデータのタイムスタンプ値をそのままトレースメモリに記録せずに前回のタイムスタンプ値との差分情報を記録するため、記録するトレースデータ量を減らすことはできるが、減らせるデータサイズが小さいため、大幅にトレースデータの記録回数が増えることは期待できない。
本発明は、上記課題を解決するためになされたものであり、トレース領域の容量に制約がある場合においても、例えば異常発生時などの状況や目的に応じて必要なトレース情報を残すことが可能なトレース情報管理装置、トレース情報管理方法、およびトレース情報管理プログラムを提供することにある。
【課題を解決するための手段】
【0008】
本発明の一態様によれば、情報処理装置のプログラムの実行内容を示すトレース情報を記憶するリングバッファ構成を有するトレース情報記憶領域と、前記トレース情報記憶領域に記憶された前記トレース情報をバックアップするバックアップ情報記憶領域とを有する記憶部と、前記トレース情報を前記トレース情報記憶領域に記憶するトレース情報格納部と、前記トレース情報記憶領域における記憶容量が所定記憶容量以上となった場合に、解析時に必要とする解析用トレース情報を選択して前記バックアップ情報記憶領域に記憶するバックアップ処理部とを備えたことを特徴とするトレース情報管理装置が提供される。
【0009】
この構成によれば、プログラムの実行内容を示すトレース情報を保存しておく場合に、トレース情報を保存するトレース情報記憶領域の容量に制約がある場合においても、例えば異常発生時などの状況や目的に応じて必要なトレース情報を残すことが可能である。
また、本発明の他の態様によれば、前記トレース情報格納部は、前記トレース情報を前記トレース情報記憶領域に記憶する際に、当該トレース情報にその属性を示す属性情報を関連付けて記憶し、前記バックアップ処理部は、前記属性情報に基づいて解析用トレース情報を選択することを特徴とするトレース情報管理装置が提供される。
【0010】
また、本発明の他の態様によれば、前記バックアップ処理部は、前記解析用トレース情報の前後に記憶されているトレース情報も合わせて選択して前記バックアップ情報記憶領域に記憶することを特徴とするトレース情報管理装置が提供される。
また、本発明の他の態様によれば、前記バックアップ処理部は、トレース情報から選択した前記解析用トレース情報が所定の間引き条件に合致する場合に当該解析用トレース情報のバックアップを中止することを特徴とするトレース情報管理装置が提供される。
【0011】
また、本発明の他の態様によれば、前記記憶部は、複数のバックアップ情報記憶領域を有し、前記バックアップ処理部は、解析用トレース情報を処理機能毎に分類して処理機能毎に異なるバックアップ情報記憶領域に記憶することを特徴とするトレース情報管理装置が提供される。
また、本発明の他の態様によれば、バックアップ条件を設定するバックアップ条件テーブルと、該バックアップ条件テーブルのバックアップ条件の設定及び変更を行うバックアップ条件設定変更部とを備え、前記バックアップ処理部は、前記バックアップ条件テーブルに設定されたバックアップ条件に基づいて前記解析用トレース情報を選択することを特徴とするトレース情報管理装置が提供される。
【0012】
本発明の他の態様によれば、情報処理装置のプログラムの実行内容を示すトレース情報を記憶するリングバッファ構成を有するトレース情報記憶領域と、前記トレース情報記憶領域に記憶された前記トレース情報をバックアップするバックアップ情報記憶領域とを有する記憶部と、トレース情報格納部と、バックアップ処理部と、を有するトレース情報管理装置が実行するトレース情報管理方法であって、前記トレース情報格納部により、前記トレース情報を前記トレース情報記憶領域に記憶する第1のステップと、前記バックアップ処理部により、前記トレース情報記憶領域における記憶容量が所定記憶容量以上となった場合に、解析時に必要とする解析用トレース情報を選択して前記バックアップ情報記憶領域に記憶する第2のステップを有するトレース情報管理方法が提供される。
【0013】
本発明の他の態様によれば、情報処理装置のプログラムの実行内容を示すトレース情報を記憶するリングバッファ構成を有するトレース情報記憶領域と、前記トレース情報記憶領域に記憶された前記トレース情報をバックアップするバックアップ情報記憶領域とを有する記憶部を有するコンピュータに、前記トレース情報を前記トレース情報記憶領域に記憶するトレース情報格納処理と、前記トレース情報記憶領域における記憶容量が所定記憶容量以上となった場合に、解析時に必要とする解析用トレース情報を選択して前記バックアップ情報記憶領域に記憶するバックアップ処理と、を実行させるためのトレース情報管理プログラムが提供される。
【発明の効果】
【0014】
本発明によれば、プログラムの実行内容を示すトレース情報を保存しておく場合に、トレース情報を保存するトレース情報記憶領域の容量に制約がある場合においても、例えば異常発生時などの状況や目的に応じて必要なトレース情報を残すことが可能である。
【図面の簡単な説明】
【0015】
【図1】本発明の一実施形態に係るトレース情報管理装置のハードウェア構成の一例を示す図である。
【図2】本発明の一実施形態に係るトレース情報管理装置を含む情報処理装置の構成の一例を示す図である。
【図3】トレース領域管理テーブル101の構造の一例を示す図である。
【図4】バックアップ条件テーブル104を管理する管理テーブルの構造の一例を示す図である。
【図5】バックアップ条件テーブル104の構造の一例を示す図である。
【図6】バックアップ条件定義(1〜n)1047の構造の一例を示す図である。
【図7】トレース情報記憶領域110およびバックアップ情報記憶領域120の構造の一例を示す図である。
【図8】トレース情報管理部1111の構造の一例を示す図である。
【図9】トレース情報(1〜n)1113の構造の一例を示す図である。
【図10】本発明の一実施形態に係る情報処理装置における処理の一例を示すフロー図である。
【発明を実施するための形態】
【0016】
以下、本発明の実施形態について、図面を参照しながら説明する。なお、以下の説明において参照する各図では、他の図と同等部分は同一符号によって示される。
(トレース情報管理装置のハードウェア構成)
図1は、本実施形態に係るトレース情報管理装置のハードウェア構成の一例を示すブロック図である。図1に示されるコンピュータ装置であるトレース情報管理装置10は、MPU11、RAM12、ROM13、外部I/F14などから構成され、それぞれがバス接続されている。
【0017】
ROM13はMPU11が実行するプログラムコードが格納されているメモリであり、MPU11がRAM12を一次記憶用ワークメモリとしてROM13に格納されているプログラムを実行することで、以上に説明したトレース情報格納部102、バックアップ条件設定変更部103、バックアップ処理部105、およびトレース情報出力部106における処理が実現される。
【0018】
また、RAM12は書き換え可能なメモリであり、トレース情報記憶領域110やバックアップ情報記憶領域120などのトレース情報の記憶領域が割り当てられる。また、トレース領域管理テーブル101、バックアップ条件テーブル104、およびその他の各種テーブルは、RAM12やROM13等の記憶領域に記憶されるデータベースやデータ記憶領域である。
【0019】
外部I/F14は、外部機器と接続するためのインタフェースであり、シリアルコントローラやLANコントローラといった通信デバイスが接続される。また、外部I/F14はCFカードやUSBメモリといったストレージデバイスが接続されてもよい。このインタフェース経由で、例えば、トレース情報出力部106におけるトレース情報の出力や、バックアップ条件設定変更部103におけるトレース情報のバックアップ条件の変更を行うことができる。
なお、図1に示される本実施形態に係るトレース情報管理装置のハードウェア構成は一例に過ぎず、その他の任意のハードウェア構成を用いることができることはいうまでもない。
【0020】
(情報処理装置の構成)
図2は、本実施形態に係るトレース情報管理装置を含む情報処理装置の構成の一例を示す図である。図2に示される情報処理装置1は、アプリケーションプログラム群20を構成する各機能プログラムのトレース情報を管理するためのトレース情報管理装置10を有する。
アプリケーションプログラム群20は、機能ごとに分割された複数のプログラム(機能Aプログラム201a、機能Bプログラム201b、・・・、機能Xプログラム201x)から構成されている。また、各プログラム201a〜201x内の任意の場所にトレース要求手段202a、202b、・・・、202xが組み込まれている。このトレース要求手段202a〜202xによって、後述するトレース情報管理装置10のトレース情報格納部102の機能が起動され、各プログラム201a〜201xのトレース情報が記憶部107のトレース情報記憶領域110に格納される。
【0021】
また、トレース情報管理装置10は、トレース領域管理テーブル101と、トレース情報格納部102と、バックアップ条件設定変更部103と、バックアップ条件テーブル104と、バックアップ処理部105と、トレース情報出力部106と、記憶部107とを有する。
記憶部107は、プログラムの実行内容を示すトレース情報を記憶するリングバッファであるトレース情報記憶領域110と、トレース情報記憶領域110に記憶されたトレース情報を記憶する複数(n個)のバックアップ情報記憶領域(1〜n)120と、を有する。また、本実施形態においては、記憶部107は、トレース情報に加えて、トレース情報の属性を示す属性情報をトレース情報に関連づけてトレース情報記憶領域110に記憶する。
【0022】
トレース情報格納部102は、アプリケーションプログラム群20の各プログラム201a〜201xに組み込まれているトレース要求手段202a〜202xによって起動されると、トレース領域管理テーブル101を参照して、各プログラム201a〜201xのトレース情報をトレース情報記憶領域110に格納する。
【0023】
(トレース領域管理テーブル101)
トレース領域管理テーブル101は、トレース情報記憶領域110およびバックアップ情報記憶領域120を管理するためのテーブルである。図3は、トレース領域管理テーブル101の構造の一例を示す図である。
トレース領域先頭アドレス1011は、記憶部107におけるトレース情報記憶領域110の先頭のアドレスを示す。トレース領域サイズ1012は、トレース情報記憶領域110のサイズを示す。バックアップ領域数1013は、バックアップ情報記憶領域120の数を示す。本実施形態においては、バックアップ情報記憶領域120はn個であり、トレース領域管理テーブル101には、このn個のバックアップ情報記憶領域120の先頭アドレスとサイズをそれぞれ格納するためのバックアップ領域先頭アドレス1014−1〜n、およびバックアップ領域サイズ1015−1〜nのフィールドが存在する。
【0024】
また、バックアップ処理部105は、トレース情報記憶領域110における記憶容量が所定記憶容量以上となった場合に、解析時に必要とする解析用トレース情報をトレース情報記憶領域110から選択してバックアップ情報記憶領域120に記憶する。解析用トレース情報としては、例えば、所定の条件に応じてトレース情報記憶領域110に記憶されているトレース情報が選択される。また、本実施形態においては、所定の条件は、バックアップ処理部105によって選択されるべきトレース情報の属性情報を示す条件であり、バックアップ処理部105は、この所定の条件に示される属性情報と関連づけられているトレース情報を解析用トレース情報として選択し、バックアップ情報記憶領域120に記憶する。
【0025】
さらに、バックアップ処理部105は、解析用トレース情報に加えて、解析用トレース情報の前後に記憶されているトレース情報も合わせてトレース情報記憶領域110から選択してバックアップ情報記憶領域120に記憶するようになっていてもよい。このように、所定の条件に定義された属性情報に一致する保存対象のトレース情報に加えて前後の関連するトレース情報も同時に保存することにより、不具合発生時における動作の解析が容易となる。
【0026】
また、本実施形態においては、この所定の条件は、トレース情報を複数(n個)のバックアップ情報記憶領域120のいずれに記憶するかを示す条件を含んでいる。そして、バックアップ処理部105は、この所定の条件の内容に応じて、トレース情報記憶領域110から選択した解析用トレース情報をn個のバックアップ情報記憶領域120に振り分けて記憶する。例えば、解析用トレース情報を処理機能毎に分類して処理機能毎に異なるバックアップ情報記憶領域120に記憶する。このように、バックアップ条件として保存先のトレース情報記憶領域110を指定可能とすることにより、目的に応じたトレース情報の集約管理が可能となる。
【0027】
また、所定の条件に応じて選択されるトレース情報のうち、バックアップ処理部105への記憶対象から除外するトレース情報の条件を示す間引き条件を別途設定し、バックアップ処理部105は、所定の条件に応じて選択するトレース情報のうち、この間引き条件に合致するトレース情報を除外してバックアップ情報記憶領域120に記憶するようになっていてもよい。すなわち、バックアップ処理部105は、トレース情報から選択した解析用トレース情報が所定の間引き条件に合致する場合に解析用トレース情報のバックアップを中止するようになっていてもよい。具体的には、例えば、所定の条件に合致する同一のトレース情報が複数存在する場合には、同一のトレース情報を間引いて保存する。これにより、トレース情報記憶領域110の使用容量が節約でき、効率的な管理が可能となる。
【0028】
(バックアップ条件テーブル104)
バックアップ条件テーブル104は、トレース情報を選択するための所定の条件(以下、適宜「バックアップ条件」という)を保持するためのテーブルである。バックアップ処理部105がトレース情報をトレース情報記憶領域110からバックアップ情報記憶領域120に記憶する際には、このテーブルを参照してバックアップ条件を取得し、これに合致するトレース情報を選択する。また、本実施形態においては、複数のバックアップ条件テーブル104が存在する(すなわち、バックアップ条件が複数存在する)ものとし、この複数のバックアップ条件テーブル104を管理するための管理テーブルが存在するものとする。図4は、バックアップ条件テーブル104を管理する管理テーブルの構造の一例を示す図である。
【0029】
バックアップ条件テーブル数1041は、バックアップ条件テーブル104の数を示す。バックアップ条件テーブル(1〜n)領域アドレス1042は、各バックアップ条件テーブル104が保存されているトレース情報管理装置10内のメモリのアドレスを示す。
なお、図4に示される管理テーブルは図2では図示されていないが、他のテーブル同様に、情報処理装置1内のメモリ等に記憶されて保持されるテーブルである。
【0030】
また、図5は、バックアップ条件テーブル104の構造の一例を示す図である。バックアップ先領域指定1044は、バックアップ処理部105において、トレース情報記憶領域110から選択したトレース情報をn個のバックアップ情報記憶領域120のいずれに記憶するかを指定する。バックアップ領域満杯時動作指定1045は、トレース情報を保存していくことによりバックアップ情報記憶領域120に空き容量がなくなった場合の動作を指定するものであり、空き容量がない場合には、トレース情報の格納を停止する、古いトレース情報から上書き保存してバックアップ情報記憶領域120をリングバッファとして動作させる、外部の装置にトレース情報を出力する、というような指定を行う。
【0031】
バックアップ条件定義数1046は、このバックアップ条件テーブル104にて定義されているバックアップ条件の数を示す。また、各バックアップ条件の具体的な内容は、バックアップ条件定義(1〜n)1047にて定義される。このバックアップ条件定義(1〜n)1047はそれぞれ、図6に示されるような構造をとる。
図6は、バックアップ条件定義(1〜n)1047の構造の一例を示す図である。条件種別1047aは、トレース情報記憶領域110からバックアップ情報記憶領域120に記憶すべきトレース情報の属性情報(以下、「トレース属性情報」という)を指定する。すなわち、バックアップ処理部105は、この条件種別1047aにて指定されている属性情報を有するトレース情報をトレース情報記憶領域110から検索し、バックアップ情報記憶領域120への記憶対象として認識する。また、本実施形態では、属性情報として、トレース種別、機能グループコード、機能コードなどを指定する。
【0032】
また、直前保存件数1047bおよび直後保存件数1047cは、バックアップ条件に一致するトレース情報とともに、このトレース情報の前後に保存されたトレース情報も保存する場合に用いられるフィールドである。直前保存件数1047bは、条件種別1047aに一致したトレース情報以前にトレース情報記憶領域110に格納されたトレース情報のうち、何件のトレース情報をバックアップ情報記憶領域120へ保存するかを示す。また、直後保存件数1047cは、条件種別1047aにー致したトレース情報以降に格納されたトレース情報のうち、何件のトレース情報をバックアップ情報記憶領域120へ保存するかを示す。
【0033】
すなわち、バックアップ処理部105は、条件種別1047aに一致するトレース情報に加えて、このトレース情報の直前にトレース情報記憶領域110に保存されたトレース情報のうち直前保存件数1047bで指定される数のトレース情報と、このトレース情報の直後にトレース情報記憶領域110に保存されたトレース情報のうち直後保存件数1047cで指定される数のトレース情報を、バックアップ情報記憶領域120への記憶対象として認識する。
【0034】
また、間引き指定1047dは、間引き条件を用いるか否かを示すフラグである。すなわち、間引き指定1047dは、トレース情報をバックアップ情報記憶領域120に保存する際に、バックアップ条件(条件種別1047a)に一致するトレース情報およびその前後のトレース情報において、間引き条件1047eで指定されるトレース情報が複数存在する場合にこのトレース情報を間引いて保存するか否かを指定する。
【0035】
また、間引き条件1047eは、間引き指定1047dが有効となっている場合に間引き条件の内容を示すものであり、例えば、トレース情報が同一内容であるもの、トレース位置情報が同一であるもの、といった条件内容を指定する。すなわち、バックアップ処理部105は、間引き指定1047dが有効となっているか否かをチェックし、有効となっている場合には、間引き条件1047eを参照して間引くトレース情報を決定する。
【0036】
また、トレース情報を間引いて保存する場合には、例えば、間引き対象のトレース情報が複数発見された場合には最初と最後のトレース情報のみを保存する、といった処理を行うようになっていてもよい。なお、間引き処理の内容についてはこれらの内容に限定するものではなく、別の方法でもよい。
また、バックアップ条件設定変更部103は、所定の条件(バックアップ条件)やバックアップ情報記憶領域120の容量などバックアップ処理に関連する各種の設定を変更する機能を有する。例えば、バックアップ条件を設定するバックアップ条件テーブル104と、バックアップ条件テーブル104のバックアップ条件の設定及び変更を行う。
【0037】
より具体的には、例えば、情報処理装置1のユーザが備え付けのキーボードやマウス等の入力装置によって所定条件を変更するための入力を行うと、この入力内容を示す入力データおよび変更コマンドがバックアップ条件設定変更部103に送信される。そして、この入力データに応じて、トレース領域管理テーブル101やバックアップ条件テーブル104などの内容が変更される。
バックアップ条件設定変更部103により、バックアップ情報記憶領域120およびバックアップ条件を外部から変更することが可能となり、メモリ容量や動作状況に応じて柔軟にトレース情報の構成を管理することが可能となる。
【0038】
次に、トレース情報記憶領域110およびバックアップ情報記憶領域120の構造について、図7〜図9を用いて説明する。図7は、トレース情報記憶領域110およびバックアップ情報記憶領域120の構造の一例を示す図である。なお、本実施形態においては、トレース情報記憶領域110およびバックアップ情報記憶領域120の構造は同じであるものとし、以下の説明においてはトレース情報記憶領域110について説明する。
【0039】
図7に示されるように、トレース情報記憶領域110(およびバックアップ情報記憶領域120)は、トレース情報管理部1111と、トレース情報データ部1112とから構成される。トレース情報管理部1111は、トレース情報記憶領域110に保存されている複数のトレース情報を管理するためのフィールドである。トレース情報データ部1112は、トレース情報の実体データや属性情報などを格納する領域である。このトレース情報データ部1112は、複数のトレース情報(1〜n)1113を格納するための領域からなる。
【0040】
図8は、トレース情報管理部1111の構造の一例を示す図である。トレース領域先頭アドレス1111aは、記憶部107におけるトレース情報記憶領域110の先頭のアドレスを示す。トレース領域終端アドレス1111bは、記憶部107におけるトレース情報記憶領域110の終端のアドレスを示す。また、バックアップ処理部105はトレース情報記憶領域110における使用容量が所定値以上となった場合にトレース情報の保存を開始するが、バックアップ開始条件(開始保存サイズ)1111cは、トレース情報の保存を開始する条件となるトレース情報記憶領域110の使用容量(もしくは空き容量)を示す。
また、読出しポインタ1111dは、トレース情報記憶領域110においてトレース情報を読み出す際の読み出し開始位置を示すポインタである。トレース書込みポインタ1111eは、トレース情報記憶領域110においてトレース情報を書き込む際の書き込み開始位置を示すポインタである。
【0041】
図9は、トレース情報(1〜n)1113の構造の一例を示す図である。トレース通番1113aは、トレース情報が格納される際に付与する通し番号が格納される。すなわち、このトレース通番はトレース情報の識別情報になる。時刻情報1113bは、トレース情報格納時の時刻情報が格納される。トレース位置情報1113cは、トレース情報格納部102を起動したトレース要求手段202a〜202xの各機能プログラム201a〜201xにおける位置情報が格納される。この位置惰報は、プログラムカウンタや各機能プログラム201a〜201xのプログラムソースファイルの行番号など、トレース要求手段202a〜202xが実行された場所が特定できるものであればよい。
【0042】
また、本実施形態では、トレース属性情報として、トレース種別1113d、機能グループコード1113e、機能コード1113fを定義し、バックアップ条件定義1047で設定する条件種別1047aとして使用する。トレース種別1113dはトレース情報の重要度を示す情報であり、具体的には例えば、異常、警告、(単なる)実行情報などがあり、トレース要求手段202a〜202xから指定される。この重要度はさらに細分化して定義されてもよい。
【0043】
機能グループコード1113eは、トレース要求手段202a〜202xを呼び出した機能プログラム201a〜201xのグループコードを指定する。機能グループコードとしては、例えば、ドライバ、ミドルウェア、アプリケーシヨンといった分類を採用してもよいし、ストレージ機能、通信機能、GUI機能といった、あるまとまった機能単位の分類として定義してもよい。
機能コード1113fは、機能グループコード1113eで分類した項目をさらに細分化して定義するコードである。トレースデータ1113hはトレース情報の実体データであり、トレースデータサイズ1113gは、このトレースデータ1113hのサイズである。
【0044】
なお、トレース情報出力部106は、トレース情報記憶領域110又はバックアップ情報記憶領域120に記憶されているトレース情報をディスプレイ等の表示装置に表示出力したり、外部の装置や記録媒体などに出力する機能を有する。例えば、情報処理装置1のユーザがトレース情報の内容をディスプレイ等に表示させて確認することができる。また、バックアップ情報記憶領域120の空き容量が所定値以下となった場合には、トレース情報出力部106から外部の装置に出力したり、CDやDVD等の記録媒体に記録することができる。
【0045】
(情報処理装置における処理フロー)
以下、本実施形態に係る情報処理装置における処理の流れについて説明する。図10は、情報処理装置1における処理の一例を示すフロー図である。
アプリケーションブログラム群20を構成する各機能プログラム201a~201xは、自プログラムに埋め込まれているプログラムコードによってトレース要求手段202a~202xを呼び出す(ステップS101)。トレース要求手段202a~202xを呼び出す際には、トレース情報とそのサイズ、およびトレース属性情報として、トレース種別、機能グループコード、機能コード、さらに位置情報、時刻情報等の付帯情報を指定する。また、呼び出されたトレース要求手段202a~202xによって、トレース情報管理装置10のトレース情報格納部102が起動される(ステップS102)。
【0046】
トレース情報格納部102は、トレース領域管理テーブル101を参照し、トレース領域管理テーブル101内のトレース領域先頭アドレス1011を取得する(ステップS103)。次に、トレース情報記憶領域110内のトレース情報管理部1111の書込みポインタ1111eからトレース通番を付加し、トレース要求手段202a~202xから取得したトレース情報およびそのトレース属性情報などの付帯情報を、トレース情報データ部1112にトレース情報1113として格納する(ステップS104)。
【0047】
また、これに伴い、書込みポインタ1111eを更新する(ステップS105)。この時、書込みポインタ1111eがバックアップ開始条件1111cに合致する場合は(ステップS106)、バックアップ処理部105が起動される(ステップS107)。
バックアップ処理部105はバックアップ条件テーブル104内のバックアップ条件定義1047を参照し、当該バックアップ条件定義1047の条件種別1047aに一致するトレース情報をトレース情報記憶領域110より検索する(ステップS108)。バックアップ条件に一致するトレース情報が見つかった場合、これを解析用トレース情報とし、直前の保存件数1047b、直後の保存件数1047c、問引き指定1047d、および間引き条件1047eを参照し、バックアップ対象リストを作成する(ステップS109)。
【0048】
具体的には、間引き指定1047dが有効になっている場合は、バックアップ対象リストを作成する際に間引き対象の同一のトレース情報が存在するか否かを検索し、存在する場合には、間引き条件1047eに従ってバックアップ対象リストから同一のトレース情報を除く。
次に、作成したバックアップ対象リストに応じて、トレース情報記憶領域110から、バックアップ先領域指定1044で指定されたバックアップ情報記憶領域120へ解析用トレース情報をコピーする(ステップS110)。なお、コピーする際にバックアップ情報記憶領域120に空き領域がなくなった場合の処理は、バックアップ領域満杯時動作指定1045に従い、停止または古いトレース情報から上書き保存する等の処理を行う。
【0049】
ステップS108〜ステップS110の処理を、図5のバックアップ条件テーブル数1041に示される数、およびバックアップ条件テーブル104内のバックアップ条件定義数1046に示される数だけ繰り返し行う(ステップS111)。
その後、情報処理装置1は、トレース情報の保存処理を終了するまで(例えば、情報処理装置1やトレース情報管理装置10の電源がOFFされた場合等)、以上の処理を繰り返す。すなわち、ステップS101に戻ってトレース情報のトレース情報記憶領域110への保存を継続し、トレース情報記憶領域110の最後までトレース情報を格納し終わった場合には、トレース情報記憶領域110の先頭に戻ってトレース情報の格納を継続する。そして、ステップS106にてトレース情報記憶領域110の書込みポインタがバックアップ開始条件に合致した場合には、ステップS107〜S111の処理を実行して解析用トレース情報をバックアップ情報記憶領域120に格納する。
【0050】
なお、これは一例であり、一旦トレース情報をバックアップ情報記憶領域120に格納した後の処理は様々に考えられる。例えば、ステップS104でトレース情報記憶領域110にトレース情報を格納した後は、書き込んだトレース情報の合計サイズ(すなわちトレース情報記憶領域110の使用容量)を算出しておく。そして、ステップS106においては、トレース情報記憶領域110に書き込んだトレース情報の合計サイズが所定サイズ以上になったかチェックし、所定サイズ以上になった場合には、ステップS107〜S111の処理を実行して解析用トレース情報をバックアップ情報記憶領域120に格納する、等の処理をするようになっていてもよい。
【0051】
また、バックアップ情報記憶領域120やバックアップ条件等の設定を外部から変更可能とするバックアップ条件設定変更部103により、情報処理装置1のメモリ容量に応じてバックアップ情報記憶領域120の容量の調整を行う、バックアップするトレース情報を増減させる、記憶対象とするトレース情報の種類を変更する等、柔軟にトレース情報の構成管理を行うことが可能となる。
【0052】
(まとめ)
以上のとおり、本実施形態によれば、プログラムの実行内容を示すトレース情報を保存しておく場合に、トレース情報を保存するトレース情報記憶領域の容量に制約がある場合においても、例えば異常発生時などの状況や目的に応じて必要なトレース情報を残すことが可能である。
なお、本発明の範囲は、図示され記載された例示的な実施形態に限定されるものではなく、本発明が目的とするものと均等な効果をもたらすすべての実施形態をも含む。さらに、本発明の範囲は、すべての開示されたそれぞれの特徴のうち特定の特徴のあらゆる所望する組み合わせによって画されうる。
【符号の説明】
【0053】
1 情報処理装置
10 トレース情報管理装置
20 アプリケーションプログラム群
101 トレース領域管理テーブル
102 トレース情報格納部
103 バックアップ条件設定変更部
104 バックアップ条件テーブル
105 バックアップ処理部
106 トレース情報出力部
107 記憶部
110 トレース情報記憶領域
120 バックアップ情報記憶領域
201a〜201x 各機能プログラム
202a〜202x トレース要求手段
1011 トレース領域先頭アドレス
1012 トレース領域サイズ
1013 バックアップ領域数
1014 バックアップ領域先頭アドレス
1015 バックアップ領域サイズ
1041 バックアップ条件テーブル数
1042 領域アドレス
1044 バックアップ先領域指定
1045 バックアップ領域満杯時動作指定
1046 バックアップ条件定義数
1047 バックアップ条件定義
1047a 条件種別
1047b 直前保存件数
1047c 直後保存件数
1047d 指定
1047e 条件
1111 トレース情報管理部
1111a トレース領域先頭アドレス
1111b トレース領域終端アドレス
1111c バックアップ開始条件
1111d ポインタ
1111e ポインタ
1112 トレース情報データ部
1113 トレース情報
1113a トレース通番
1113b 時刻情報
1113c トレース位置情報
1113d トレース種別
1113e 機能グループコード
1113f 機能コード
1113g トレースデータサイズ
1113h トレースデータ

【特許請求の範囲】
【請求項1】
情報処理装置のプログラムの実行内容を示すトレース情報を記憶するリングバッファ構成を有するトレース情報記憶領域と、前記トレース情報記憶領域に記憶された前記トレース情報をバックアップするバックアップ情報記憶領域とを有する記憶部と、
前記トレース情報を前記トレース情報記憶領域に記憶するトレース情報格納部と、
前記トレース情報記憶領域における記憶容量が所定記憶容量以上となった場合に、解析時に必要とする解析用トレース情報を選択して前記バックアップ情報記憶領域に記憶するバックアップ処理部と
を備えたことを特徴とするトレース情報管理装置。
【請求項2】
前記トレース情報格納部は、前記トレース情報を前記トレース情報記憶領域に記憶する際に、当該トレース情報にその属性を示す属性情報を関連付けて記憶し、前記バックアップ処理部は、前記属性情報に基づいて解析用トレース情報を選択することを特徴とする請求項1に記載のトレース情報管理装置。
【請求項3】
前記バックアップ処理部は、前記解析用トレース情報の前後に記憶されているトレース情報も合わせて選択して前記バックアップ情報記憶領域に記憶することを特徴とする請求項1又は2に記載のトレース情報管理装置。
【請求項4】
前記バックアップ処理部は、トレース情報から選択した前記解析用トレース情報が所定の間引き条件に合致する場合に当該解析用トレース情報のバックアップを中止することを特徴とする請求項1から3のいずれか一項に記載のトレース情報管理装置。
【請求項5】
前記記憶部は、複数のバックアップ情報記憶領域を有し、
前記バックアップ処理部は、解析用トレース情報を処理機能毎に分類して処理機能毎に異なるバックアップ情報記憶領域に記憶することを特徴とする請求項1から4のいずか一項に記載のトレース情報管理装置。
【請求項6】
バックアップ条件を設定するバックアップ条件テーブルと、該バックアップ条件テーブルのバックアップ条件の設定及び変更を行うバックアップ条件設定変更部とを備え、
前記バックアップ処理部は、前記バックアップ条件テーブルに設定されたバックアップ条件に基づいて前記解析用トレース情報を選択することを特徴とする請求項1から5のいずれか一項に記載のトレース情報管理装置。
【請求項7】
情報処理装置のプログラムの実行内容を示すトレース情報を記憶するリングバッファ構成を有するトレース情報記憶領域と、前記トレース情報記憶領域に記憶された前記トレース情報をバックアップするバックアップ情報記憶領域とを有する記憶部と、トレース情報格納部と、バックアップ処理部と、を有するトレース情報管理装置が実行するトレース情報管理方法であって、
前記トレース情報格納部により、前記トレース情報を前記トレース情報記憶領域に記憶する第1のステップと、
前記バックアップ処理部により、前記トレース情報記憶領域における記憶容量が所定記憶容量以上となった場合に、解析時に必要とする解析用トレース情報を選択して前記バックアップ情報記憶領域に記憶する第2のステップ
を有するトレース情報管理方法。
【請求項8】
情報処理装置のプログラムの実行内容を示すトレース情報を記憶するリングバッファ構成を有するトレース情報記憶領域と、前記トレース情報記憶領域に記憶された前記トレース情報をバックアップするバックアップ情報記憶領域とを有する記憶部を有するコンピュータに、
前記トレース情報を前記トレース情報記憶領域に記憶するトレース情報格納処理と、
前記トレース情報記憶領域における記憶容量が所定記憶容量以上となった場合に、解析時に必要とする解析用トレース情報を選択して前記バックアップ情報記憶領域に記憶するバックアップ処理と、
を実行させるためのトレース情報管理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate