(57)【要約】【課題】プログラムの実行内容を示すトレース情報を保存するトレース情報記憶領域の容量に制約がある場合においても、例えば異常発生時などの状況や目的に応じて必要なトレースデータを残すことが可能なトレース情報管理装置を提供する。【解決手段】プログラムの実行内容を示すトレース情報を記憶するリングバッファであるトレース情報記憶領域（１１０）と、トレース情報記憶領域（１１０）に記憶されたトレース情報を記憶するバックアップ情報記憶領域（１２０）と、を有する記憶部（１０７）と、トレース情報記憶領域（１１０）における記憶容量が所定記憶容量以上となった場合に、解析時に必要とする解析用トレース情報をトレース情報記憶領域（１１０）から選択し、バックアップ情報記憶領域（１２０）に記憶するバックアップ処理部（１０５）とを有するトレース情報管理装置。【選択図】図２
2012252636.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置のプログラムの実行内容を示すトレース情報を記憶するリングバッファ構成を有するトレース情報記憶領域と、前記トレース情報記憶領域に記憶された前記トレース情報をバックアップするバックアップ情報記憶領域とを有する記憶部と、
前記トレース情報を前記トレース情報記憶領域に記憶するトレース情報格納部と、
前記トレース情報記憶領域における記憶容量が所定記憶容量以上となった場合に、解析時に必要とする解析用トレース情報を選択して前記バックアップ情報記憶領域に記憶するバックアップ処理部と
を備えたことを特徴とするトレース情報管理装置。
【請求項２】
前記トレース情報格納部は、前記トレース情報を前記トレース情報記憶領域に記憶する際に、当該トレース情報にその属性を示す属性情報を関連付けて記憶し、前記バックアップ処理部は、前記属性情報に基づいて解析用トレース情報を選択することを特徴とする請求項１に記載のトレース情報管理装置。
【請求項３】
前記バックアップ処理部は、前記解析用トレース情報の前後に記憶されているトレース情報も合わせて選択して前記バックアップ情報記憶領域に記憶することを特徴とする請求項１又は２に記載のトレース情報管理装置。
【請求項４】
前記バックアップ処理部は、トレース情報から選択した前記解析用トレース情報が所定の間引き条件に合致する場合に当該解析用トレース情報のバックアップを中止することを特徴とする請求項１から３のいずれか一項に記載のトレース情報管理装置。
【請求項５】
前記記憶部は、複数のバックアップ情報記憶領域を有し、
前記バックアップ処理部は、解析用トレース情報を処理機能毎に分類して処理機能毎に異なるバックアップ情報記憶領域に記憶することを特徴とする請求項１から４のいずか一項に記載のトレース情報管理装置。
【請求項６】
バックアップ条件を設定するバックアップ条件テーブルと、該バックアップ条件テーブルのバックアップ条件の設定及び変更を行うバックアップ条件設定変更部とを備え、
前記バックアップ処理部は、前記バックアップ条件テーブルに設定されたバックアップ条件に基づいて前記解析用トレース情報を選択することを特徴とする請求項１から５のいずれか一項に記載のトレース情報管理装置。
【請求項７】
情報処理装置のプログラムの実行内容を示すトレース情報を記憶するリングバッファ構成を有するトレース情報記憶領域と、前記トレース情報記憶領域に記憶された前記トレース情報をバックアップするバックアップ情報記憶領域とを有する記憶部と、トレース情報格納部と、バックアップ処理部と、を有するトレース情報管理装置が実行するトレース情報管理方法であって、
前記トレース情報格納部により、前記トレース情報を前記トレース情報記憶領域に記憶する第１のステップと、
前記バックアップ処理部により、前記トレース情報記憶領域における記憶容量が所定記憶容量以上となった場合に、解析時に必要とする解析用トレース情報を選択して前記バックアップ情報記憶領域に記憶する第２のステップ
を有するトレース情報管理方法。
【請求項８】
情報処理装置のプログラムの実行内容を示すトレース情報を記憶するリングバッファ構成を有するトレース情報記憶領域と、前記トレース情報記憶領域に記憶された前記トレース情報をバックアップするバックアップ情報記憶領域とを有する記憶部を有するコンピュータに、
前記トレース情報を前記トレース情報記憶領域に記憶するトレース情報格納処理と、
前記トレース情報記憶領域における記憶容量が所定記憶容量以上となった場合に、解析時に必要とする解析用トレース情報を選択して前記バックアップ情報記憶領域に記憶するバックアップ処理と、
を実行させるためのトレース情報管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムの実行内容をトレースするためのトレース情報を管理するトレース情報管理装置、トレース情報管理方法、およびトレース情報管理プログラムに関する。
【背景技術】
【０００２】
プログラムの実行内容をトレースする場合、パソコン以外のＭＰＵ（Micro Processing Unit）を有する組み込み機器などの情報処理装置では、搭載されるメモリのサイズに制約があるため、固定サイズのトレース領域をリングバッファとして用いる方式が採用されることが多い。すなわち、トレース領域の先頭から時系列にトレース情報を記録し、トレース領域の終端に到達するとトレース領域の先頭に戻り、記録済みの古いトレース情報に新しいトレース情報を順次上書きしていく。
【０００３】
しかし、この方式では、トレース領域が小さい場合、例えば異常発生時のトレース情報を取得したい場合に、必要とするトレース情報がすでに新しいトレース情報に上書きされて消去されており、取得できないという問題が発生する。
このような問題を解決する方法として、特許文献１に記載のトレース方法では、第一の記憶手段と第二の記憶手段とを設け、第一の記憶手段には従来のようにトレースデータを格納し、第二の記憶手段には第一の記憶手段に格納されたトレースデータのうち、一定の時間間隔で抽出したトレースデータを格納することとしている。これにより、記憶容量を減らしても、装置の動作の大まかな流れを知ることができる。
【０００４】
また、特許文献２に記載のトレース方法では、トレースデータのタイムスタンプ値をそのままトレース用メモリに記憶せずに前回のタイムスタンプ値との差分情報を記録することで、トレースデータのタイムスタンプ値が占めるメモリ量を低減させ、トレースデータが記録できる回数を増やすようにしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平４−２３９３３６号公報
【特許文献２】特開２００４−３０５０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の方法では、第一の記憶手段に格納されたトレースデータのうち、一定の時間間隔で抽出したトレースデータのみを第二の記憶手段に格納するため、装置の動作の大まかな流れを知ることはできても、例えば異常発生時のトレースデータなど、特定のトレースデータを残すことができず、不具合解析には役に立たない場合がある。
【０００７】
また、特許文献２に記載の方法では、トレースデータのタイムスタンプ値をそのままトレースメモリに記録せずに前回のタイムスタンプ値との差分情報を記録するため、記録するトレースデータ量を減らすことはできるが、減らせるデータサイズが小さいため、大幅にトレースデータの記録回数が増えることは期待できない。
本発明は、上記課題を解決するためになされたものであり、トレース領域の容量に制約がある場合においても、例えば異常発生時などの状況や目的に応じて必要なトレース情報を残すことが可能なトレース情報管理装置、トレース情報管理方法、およびトレース情報管理プログラムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一態様によれば、情報処理装置のプログラムの実行内容を示すトレース情報を記憶するリングバッファ構成を有するトレース情報記憶領域と、前記トレース情報記憶領域に記憶された前記トレース情報をバックアップするバックアップ情報記憶領域とを有する記憶部と、前記トレース情報を前記トレース情報記憶領域に記憶するトレース情報格納部と、前記トレース情報記憶領域における記憶容量が所定記憶容量以上となった場合に、解析時に必要とする解析用トレース情報を選択して前記バックアップ情報記憶領域に記憶するバックアップ処理部とを備えたことを特徴とするトレース情報管理装置が提供される。
【０００９】
この構成によれば、プログラムの実行内容を示すトレース情報を保存しておく場合に、トレース情報を保存するトレース情報記憶領域の容量に制約がある場合においても、例えば異常発生時などの状況や目的に応じて必要なトレース情報を残すことが可能である。
また、本発明の他の態様によれば、前記トレース情報格納部は、前記トレース情報を前記トレース情報記憶領域に記憶する際に、当該トレース情報にその属性を示す属性情報を関連付けて記憶し、前記バックアップ処理部は、前記属性情報に基づいて解析用トレース情報を選択することを特徴とするトレース情報管理装置が提供される。
【００１０】
また、本発明の他の態様によれば、前記バックアップ処理部は、前記解析用トレース情報の前後に記憶されているトレース情報も合わせて選択して前記バックアップ情報記憶領域に記憶することを特徴とするトレース情報管理装置が提供される。
また、本発明の他の態様によれば、前記バックアップ処理部は、トレース情報から選択した前記解析用トレース情報が所定の間引き条件に合致する場合に当該解析用トレース情報のバックアップを中止することを特徴とするトレース情報管理装置が提供される。
【００１１】
また、本発明の他の態様によれば、前記記憶部は、複数のバックアップ情報記憶領域を有し、前記バックアップ処理部は、解析用トレース情報を処理機能毎に分類して処理機能毎に異なるバックアップ情報記憶領域に記憶することを特徴とするトレース情報管理装置が提供される。
また、本発明の他の態様によれば、バックアップ条件を設定するバックアップ条件テーブルと、該バックアップ条件テーブルのバックアップ条件の設定及び変更を行うバックアップ条件設定変更部とを備え、前記バックアップ処理部は、前記バックアップ条件テーブルに設定されたバックアップ条件に基づいて前記解析用トレース情報を選択することを特徴とするトレース情報管理装置が提供される。
【００１２】
本発明の他の態様によれば、情報処理装置のプログラムの実行内容を示すトレース情報を記憶するリングバッファ構成を有するトレース情報記憶領域と、前記トレース情報記憶領域に記憶された前記トレース情報をバックアップするバックアップ情報記憶領域とを有する記憶部と、トレース情報格納部と、バックアップ処理部と、を有するトレース情報管理装置が実行するトレース情報管理方法であって、前記トレース情報格納部により、前記トレース情報を前記トレース情報記憶領域に記憶する第１のステップと、前記バックアップ処理部により、前記トレース情報記憶領域における記憶容量が所定記憶容量以上となった場合に、解析時に必要とする解析用トレース情報を選択して前記バックアップ情報記憶領域に記憶する第２のステップを有するトレース情報管理方法が提供される。
【００１３】
本発明の他の態様によれば、情報処理装置のプログラムの実行内容を示すトレース情報を記憶するリングバッファ構成を有するトレース情報記憶領域と、前記トレース情報記憶領域に記憶された前記トレース情報をバックアップするバックアップ情報記憶領域とを有する記憶部を有するコンピュータに、前記トレース情報を前記トレース情報記憶領域に記憶するトレース情報格納処理と、前記トレース情報記憶領域における記憶容量が所定記憶容量以上となった場合に、解析時に必要とする解析用トレース情報を選択して前記バックアップ情報記憶領域に記憶するバックアップ処理と、を実行させるためのトレース情報管理プログラムが提供される。
【発明の効果】
【００１４】
本発明によれば、プログラムの実行内容を示すトレース情報を保存しておく場合に、トレース情報を保存するトレース情報記憶領域の容量に制約がある場合においても、例えば異常発生時などの状況や目的に応じて必要なトレース情報を残すことが可能である。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態に係るトレース情報管理装置のハードウェア構成の一例を示す図である。
【図２】本発明の一実施形態に係るトレース情報管理装置を含む情報処理装置の構成の一例を示す図である。
【図３】トレース領域管理テーブル１０１の構造の一例を示す図である。
【図４】バックアップ条件テーブル１０４を管理する管理テーブルの構造の一例を示す図である。
【図５】バックアップ条件テーブル１０４の構造の一例を示す図である。
【図６】バックアップ条件定義（１〜ｎ）１０４７の構造の一例を示す図である。
【図７】トレース情報記憶領域１１０およびバックアップ情報記憶領域１２０の構造の一例を示す図である。
【図８】トレース情報管理部１１１１の構造の一例を示す図である。
【図９】トレース情報（１〜ｎ）１１１３の構造の一例を示す図である。
【図１０】本発明の一実施形態に係る情報処理装置における処理の一例を示すフロー図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態について、図面を参照しながら説明する。なお、以下の説明において参照する各図では、他の図と同等部分は同一符号によって示される。
（トレース情報管理装置のハードウェア構成）
図１は、本実施形態に係るトレース情報管理装置のハードウェア構成の一例を示すブロック図である。図１に示されるコンピュータ装置であるトレース情報管理装置１０は、ＭＰＵ１１、ＲＡＭ１２、ＲＯＭ１３、外部Ｉ／Ｆ１４などから構成され、それぞれがバス接続されている。
【００１７】
ＲＯＭ１３はＭＰＵ１１が実行するプログラムコードが格納されているメモリであり、ＭＰＵ１１がＲＡＭ１２を一次記憶用ワークメモリとしてＲＯＭ１３に格納されているプログラムを実行することで、以上に説明したトレース情報格納部１０２、バックアップ条件設定変更部１０３、バックアップ処理部１０５、およびトレース情報出力部１０６における処理が実現される。
【００１８】
また、ＲＡＭ１２は書き換え可能なメモリであり、トレース情報記憶領域１１０やバックアップ情報記憶領域１２０などのトレース情報の記憶領域が割り当てられる。また、トレース領域管理テーブル１０１、バックアップ条件テーブル１０４、およびその他の各種テーブルは、ＲＡＭ１２やＲＯＭ１３等の記憶領域に記憶されるデータベースやデータ記憶領域である。
【００１９】
外部Ｉ／Ｆ１４は、外部機器と接続するためのインタフェースであり、シリアルコントローラやＬＡＮコントローラといった通信デバイスが接続される。また、外部Ｉ／Ｆ１４はＣＦカードやＵＳＢメモリといったストレージデバイスが接続されてもよい。このインタフェース経由で、例えば、トレース情報出力部１０６におけるトレース情報の出力や、バックアップ条件設定変更部１０３におけるトレース情報のバックアップ条件の変更を行うことができる。
なお、図１に示される本実施形態に係るトレース情報管理装置のハードウェア構成は一例に過ぎず、その他の任意のハードウェア構成を用いることができることはいうまでもない。
【００２０】
（情報処理装置の構成）
図２は、本実施形態に係るトレース情報管理装置を含む情報処理装置の構成の一例を示す図である。図２に示される情報処理装置１は、アプリケーションプログラム群２０を構成する各機能プログラムのトレース情報を管理するためのトレース情報管理装置１０を有する。
アプリケーションプログラム群２０は、機能ごとに分割された複数のプログラム（機能Ａプログラム２０１ａ、機能Ｂプログラム２０１ｂ、・・・、機能Ｘプログラム２０１ｘ）から構成されている。また、各プログラム２０１ａ〜２０１ｘ内の任意の場所にトレース要求手段２０２ａ、２０２ｂ、・・・、２０２ｘが組み込まれている。このトレース要求手段２０２ａ〜２０２ｘによって、後述するトレース情報管理装置１０のトレース情報格納部１０２の機能が起動され、各プログラム２０１ａ〜２０１ｘのトレース情報が記憶部１０７のトレース情報記憶領域１１０に格納される。
【００２１】
また、トレース情報管理装置１０は、トレース領域管理テーブル１０１と、トレース情報格納部１０２と、バックアップ条件設定変更部１０３と、バックアップ条件テーブル１０４と、バックアップ処理部１０５と、トレース情報出力部１０６と、記憶部１０７とを有する。
記憶部１０７は、プログラムの実行内容を示すトレース情報を記憶するリングバッファであるトレース情報記憶領域１１０と、トレース情報記憶領域１１０に記憶されたトレース情報を記憶する複数（ｎ個）のバックアップ情報記憶領域（１〜ｎ）１２０と、を有する。また、本実施形態においては、記憶部１０７は、トレース情報に加えて、トレース情報の属性を示す属性情報をトレース情報に関連づけてトレース情報記憶領域１１０に記憶する。
【００２２】
トレース情報格納部１０２は、アプリケーションプログラム群２０の各プログラム２０１ａ〜２０１ｘに組み込まれているトレース要求手段２０２ａ〜２０２ｘによって起動されると、トレース領域管理テーブル１０１を参照して、各プログラム２０１ａ〜２０１ｘのトレース情報をトレース情報記憶領域１１０に格納する。
【００２３】
（トレース領域管理テーブル１０１）
トレース領域管理テーブル１０１は、トレース情報記憶領域１１０およびバックアップ情報記憶領域１２０を管理するためのテーブルである。図３は、トレース領域管理テーブル１０１の構造の一例を示す図である。
トレース領域先頭アドレス１０１１は、記憶部１０７におけるトレース情報記憶領域１１０の先頭のアドレスを示す。トレース領域サイズ１０１２は、トレース情報記憶領域１１０のサイズを示す。バックアップ領域数１０１３は、バックアップ情報記憶領域１２０の数を示す。本実施形態においては、バックアップ情報記憶領域１２０はｎ個であり、トレース領域管理テーブル１０１には、このｎ個のバックアップ情報記憶領域１２０の先頭アドレスとサイズをそれぞれ格納するためのバックアップ領域先頭アドレス１０１４−１〜ｎ、およびバックアップ領域サイズ１０１５−１〜ｎのフィールドが存在する。
【００２４】
また、バックアップ処理部１０５は、トレース情報記憶領域１１０における記憶容量が所定記憶容量以上となった場合に、解析時に必要とする解析用トレース情報をトレース情報記憶領域１１０から選択してバックアップ情報記憶領域１２０に記憶する。解析用トレース情報としては、例えば、所定の条件に応じてトレース情報記憶領域１１０に記憶されているトレース情報が選択される。また、本実施形態においては、所定の条件は、バックアップ処理部１０５によって選択されるべきトレース情報の属性情報を示す条件であり、バックアップ処理部１０５は、この所定の条件に示される属性情報と関連づけられているトレース情報を解析用トレース情報として選択し、バックアップ情報記憶領域１２０に記憶する。
【００２５】
さらに、バックアップ処理部１０５は、解析用トレース情報に加えて、解析用トレース情報の前後に記憶されているトレース情報も合わせてトレース情報記憶領域１１０から選択してバックアップ情報記憶領域１２０に記憶するようになっていてもよい。このように、所定の条件に定義された属性情報に一致する保存対象のトレース情報に加えて前後の関連するトレース情報も同時に保存することにより、不具合発生時における動作の解析が容易となる。
【００２６】
また、本実施形態においては、この所定の条件は、トレース情報を複数（ｎ個）のバックアップ情報記憶領域１２０のいずれに記憶するかを示す条件を含んでいる。そして、バックアップ処理部１０５は、この所定の条件の内容に応じて、トレース情報記憶領域１１０から選択した解析用トレース情報をｎ個のバックアップ情報記憶領域１２０に振り分けて記憶する。例えば、解析用トレース情報を処理機能毎に分類して処理機能毎に異なるバックアップ情報記憶領域１２０に記憶する。このように、バックアップ条件として保存先のトレース情報記憶領域１１０を指定可能とすることにより、目的に応じたトレース情報の集約管理が可能となる。
【００２７】
また、所定の条件に応じて選択されるトレース情報のうち、バックアップ処理部１０５への記憶対象から除外するトレース情報の条件を示す間引き条件を別途設定し、バックアップ処理部１０５は、所定の条件に応じて選択するトレース情報のうち、この間引き条件に合致するトレース情報を除外してバックアップ情報記憶領域１２０に記憶するようになっていてもよい。すなわち、バックアップ処理部１０５は、トレース情報から選択した解析用トレース情報が所定の間引き条件に合致する場合に解析用トレース情報のバックアップを中止するようになっていてもよい。具体的には、例えば、所定の条件に合致する同一のトレース情報が複数存在する場合には、同一のトレース情報を間引いて保存する。これにより、トレース情報記憶領域１１０の使用容量が節約でき、効率的な管理が可能となる。
【００２８】
（バックアップ条件テーブル１０４）
バックアップ条件テーブル１０４は、トレース情報を選択するための所定の条件（以下、適宜「バックアップ条件」という）を保持するためのテーブルである。バックアップ処理部１０５がトレース情報をトレース情報記憶領域１１０からバックアップ情報記憶領域１２０に記憶する際には、このテーブルを参照してバックアップ条件を取得し、これに合致するトレース情報を選択する。また、本実施形態においては、複数のバックアップ条件テーブル１０４が存在する（すなわち、バックアップ条件が複数存在する）ものとし、この複数のバックアップ条件テーブル１０４を管理するための管理テーブルが存在するものとする。図４は、バックアップ条件テーブル１０４を管理する管理テーブルの構造の一例を示す図である。
【００２９】
バックアップ条件テーブル数１０４１は、バックアップ条件テーブル１０４の数を示す。バックアップ条件テーブル（１〜ｎ）領域アドレス１０４２は、各バックアップ条件テーブル１０４が保存されているトレース情報管理装置１０内のメモリのアドレスを示す。
なお、図４に示される管理テーブルは図２では図示されていないが、他のテーブル同様に、情報処理装置１内のメモリ等に記憶されて保持されるテーブルである。
【００３０】
また、図５は、バックアップ条件テーブル１０４の構造の一例を示す図である。バックアップ先領域指定１０４４は、バックアップ処理部１０５において、トレース情報記憶領域１１０から選択したトレース情報をｎ個のバックアップ情報記憶領域１２０のいずれに記憶するかを指定する。バックアップ領域満杯時動作指定１０４５は、トレース情報を保存していくことによりバックアップ情報記憶領域１２０に空き容量がなくなった場合の動作を指定するものであり、空き容量がない場合には、トレース情報の格納を停止する、古いトレース情報から上書き保存してバックアップ情報記憶領域１２０をリングバッファとして動作させる、外部の装置にトレース情報を出力する、というような指定を行う。
【００３１】
バックアップ条件定義数１０４６は、このバックアップ条件テーブル１０４にて定義されているバックアップ条件の数を示す。また、各バックアップ条件の具体的な内容は、バックアップ条件定義（１〜ｎ）１０４７にて定義される。このバックアップ条件定義（１〜ｎ）１０４７はそれぞれ、図６に示されるような構造をとる。
図６は、バックアップ条件定義（１〜ｎ）１０４７の構造の一例を示す図である。条件種別１０４７ａは、トレース情報記憶領域１１０からバックアップ情報記憶領域１２０に記憶すべきトレース情報の属性情報（以下、「トレース属性情報」という）を指定する。すなわち、バックアップ処理部１０５は、この条件種別１０４７ａにて指定されている属性情報を有するトレース情報をトレース情報記憶領域１１０から検索し、バックアップ情報記憶領域１２０への記憶対象として認識する。また、本実施形態では、属性情報として、トレース種別、機能グループコード、機能コードなどを指定する。
【００３２】
また、直前保存件数１０４７ｂおよび直後保存件数１０４７ｃは、バックアップ条件に一致するトレース情報とともに、このトレース情報の前後に保存されたトレース情報も保存する場合に用いられるフィールドである。直前保存件数１０４７ｂは、条件種別１０４７ａに一致したトレース情報以前にトレース情報記憶領域１１０に格納されたトレース情報のうち、何件のトレース情報をバックアップ情報記憶領域１２０へ保存するかを示す。また、直後保存件数１０４７ｃは、条件種別１０４７ａにー致したトレース情報以降に格納されたトレース情報のうち、何件のトレース情報をバックアップ情報記憶領域１２０へ保存するかを示す。
【００３３】
すなわち、バックアップ処理部１０５は、条件種別１０４７ａに一致するトレース情報に加えて、このトレース情報の直前にトレース情報記憶領域１１０に保存されたトレース情報のうち直前保存件数１０４７ｂで指定される数のトレース情報と、このトレース情報の直後にトレース情報記憶領域１１０に保存されたトレース情報のうち直後保存件数１０４７ｃで指定される数のトレース情報を、バックアップ情報記憶領域１２０への記憶対象として認識する。
【００３４】
また、間引き指定１０４７ｄは、間引き条件を用いるか否かを示すフラグである。すなわち、間引き指定１０４７ｄは、トレース情報をバックアップ情報記憶領域１２０に保存する際に、バックアップ条件（条件種別１０４７ａ）に一致するトレース情報およびその前後のトレース情報において、間引き条件１０４７ｅで指定されるトレース情報が複数存在する場合にこのトレース情報を間引いて保存するか否かを指定する。
【００３５】
また、間引き条件１０４７ｅは、間引き指定１０４７ｄが有効となっている場合に間引き条件の内容を示すものであり、例えば、トレース情報が同一内容であるもの、トレース位置情報が同一であるもの、といった条件内容を指定する。すなわち、バックアップ処理部１０５は、間引き指定１０４７ｄが有効となっているか否かをチェックし、有効となっている場合には、間引き条件１０４７ｅを参照して間引くトレース情報を決定する。
【００３６】
また、トレース情報を間引いて保存する場合には、例えば、間引き対象のトレース情報が複数発見された場合には最初と最後のトレース情報のみを保存する、といった処理を行うようになっていてもよい。なお、間引き処理の内容についてはこれらの内容に限定するものではなく、別の方法でもよい。
また、バックアップ条件設定変更部１０３は、所定の条件（バックアップ条件）やバックアップ情報記憶領域１２０の容量などバックアップ処理に関連する各種の設定を変更する機能を有する。例えば、バックアップ条件を設定するバックアップ条件テーブル１０４と、バックアップ条件テーブル１０４のバックアップ条件の設定及び変更を行う。
【００３７】
より具体的には、例えば、情報処理装置１のユーザが備え付けのキーボードやマウス等の入力装置によって所定条件を変更するための入力を行うと、この入力内容を示す入力データおよび変更コマンドがバックアップ条件設定変更部１０３に送信される。そして、この入力データに応じて、トレース領域管理テーブル１０１やバックアップ条件テーブル１０４などの内容が変更される。
バックアップ条件設定変更部１０３により、バックアップ情報記憶領域１２０およびバックアップ条件を外部から変更することが可能となり、メモリ容量や動作状況に応じて柔軟にトレース情報の構成を管理することが可能となる。
【００３８】
次に、トレース情報記憶領域１１０およびバックアップ情報記憶領域１２０の構造について、図７〜図９を用いて説明する。図７は、トレース情報記憶領域１１０およびバックアップ情報記憶領域１２０の構造の一例を示す図である。なお、本実施形態においては、トレース情報記憶領域１１０およびバックアップ情報記憶領域１２０の構造は同じであるものとし、以下の説明においてはトレース情報記憶領域１１０について説明する。
【００３９】
図７に示されるように、トレース情報記憶領域１１０（およびバックアップ情報記憶領域１２０）は、トレース情報管理部１１１１と、トレース情報データ部１１１２とから構成される。トレース情報管理部１１１１は、トレース情報記憶領域１１０に保存されている複数のトレース情報を管理するためのフィールドである。トレース情報データ部１１１２は、トレース情報の実体データや属性情報などを格納する領域である。このトレース情報データ部１１１２は、複数のトレース情報（１〜ｎ）１１１３を格納するための領域からなる。
【００４０】
図８は、トレース情報管理部１１１１の構造の一例を示す図である。トレース領域先頭アドレス１１１１ａは、記憶部１０７におけるトレース情報記憶領域１１０の先頭のアドレスを示す。トレース領域終端アドレス１１１１ｂは、記憶部１０７におけるトレース情報記憶領域１１０の終端のアドレスを示す。また、バックアップ処理部１０５はトレース情報記憶領域１１０における使用容量が所定値以上となった場合にトレース情報の保存を開始するが、バックアップ開始条件（開始保存サイズ）１１１１ｃは、トレース情報の保存を開始する条件となるトレース情報記憶領域１１０の使用容量（もしくは空き容量）を示す。
また、読出しポインタ１１１１ｄは、トレース情報記憶領域１１０においてトレース情報を読み出す際の読み出し開始位置を示すポインタである。トレース書込みポインタ１１１１ｅは、トレース情報記憶領域１１０においてトレース情報を書き込む際の書き込み開始位置を示すポインタである。
【００４１】
図９は、トレース情報（１〜ｎ）１１１３の構造の一例を示す図である。トレース通番１１１３ａは、トレース情報が格納される際に付与する通し番号が格納される。すなわち、このトレース通番はトレース情報の識別情報になる。時刻情報１１１３ｂは、トレース情報格納時の時刻情報が格納される。トレース位置情報１１１３ｃは、トレース情報格納部１０２を起動したトレース要求手段２０２ａ〜２０２ｘの各機能プログラム２０１ａ〜２０１ｘにおける位置情報が格納される。この位置惰報は、プログラムカウンタや各機能プログラム２０１ａ〜２０１ｘのプログラムソースファイルの行番号など、トレース要求手段２０２ａ〜２０２ｘが実行された場所が特定できるものであればよい。
【００４２】
また、本実施形態では、トレース属性情報として、トレース種別１１１３ｄ、機能グループコード１１１３ｅ、機能コード１１１３ｆを定義し、バックアップ条件定義１０４７で設定する条件種別１０４７ａとして使用する。トレース種別１１１３ｄはトレース情報の重要度を示す情報であり、具体的には例えば、異常、警告、（単なる）実行情報などがあり、トレース要求手段２０２ａ〜２０２ｘから指定される。この重要度はさらに細分化して定義されてもよい。
【００４３】
機能グループコード１１１３ｅは、トレース要求手段２０２ａ〜２０２ｘを呼び出した機能プログラム２０１ａ〜２０１ｘのグループコードを指定する。機能グループコードとしては、例えば、ドライバ、ミドルウェア、アプリケーシヨンといった分類を採用してもよいし、ストレージ機能、通信機能、ＧＵＩ機能といった、あるまとまった機能単位の分類として定義してもよい。
機能コード１１１３ｆは、機能グループコード１１１３ｅで分類した項目をさらに細分化して定義するコードである。トレースデータ１１１３ｈはトレース情報の実体データであり、トレースデータサイズ１１１３ｇは、このトレースデータ１１１３ｈのサイズである。
【００４４】
なお、トレース情報出力部１０６は、トレース情報記憶領域１１０又はバックアップ情報記憶領域１２０に記憶されているトレース情報をディスプレイ等の表示装置に表示出力したり、外部の装置や記録媒体などに出力する機能を有する。例えば、情報処理装置１のユーザがトレース情報の内容をディスプレイ等に表示させて確認することができる。また、バックアップ情報記憶領域１２０の空き容量が所定値以下となった場合には、トレース情報出力部１０６から外部の装置に出力したり、ＣＤやＤＶＤ等の記録媒体に記録することができる。
【００４５】
（情報処理装置における処理フロー）
以下、本実施形態に係る情報処理装置における処理の流れについて説明する。図１０は、情報処理装置１における処理の一例を示すフロー図である。
アプリケーションブログラム群２０を構成する各機能プログラム２０１ａ~２０１ｘは、自プログラムに埋め込まれているプログラムコードによってトレース要求手段２０２ａ~２０２ｘを呼び出す（ステップＳ１０１）。トレース要求手段２０２ａ~２０２ｘを呼び出す際には、トレース情報とそのサイズ、およびトレース属性情報として、トレース種別、機能グループコード、機能コード、さらに位置情報、時刻情報等の付帯情報を指定する。また、呼び出されたトレース要求手段２０２ａ~２０２ｘによって、トレース情報管理装置１０のトレース情報格納部１０２が起動される（ステップＳ１０２）。
【００４６】
トレース情報格納部１０２は、トレース領域管理テーブル１０１を参照し、トレース領域管理テーブル１０１内のトレース領域先頭アドレス１０１１を取得する（ステップＳ１０３）。次に、トレース情報記憶領域１１０内のトレース情報管理部１１１１の書込みポインタ１１１１ｅからトレース通番を付加し、トレース要求手段２０２ａ~２０２ｘから取得したトレース情報およびそのトレース属性情報などの付帯情報を、トレース情報データ部１１１２にトレース情報１１１３として格納する（ステップＳ１０４）。
【００４７】
また、これに伴い、書込みポインタ１１１１ｅを更新する（ステップＳ１０５）。この時、書込みポインタ１１１１ｅがバックアップ開始条件１１１１ｃに合致する場合は（ステップＳ１０６）、バックアップ処理部１０５が起動される（ステップＳ１０７）。
バックアップ処理部１０５はバックアップ条件テーブル１０４内のバックアップ条件定義１０４７を参照し、当該バックアップ条件定義１０４７の条件種別１０４７ａに一致するトレース情報をトレース情報記憶領域１１０より検索する（ステップＳ１０８）。バックアップ条件に一致するトレース情報が見つかった場合、これを解析用トレース情報とし、直前の保存件数１０４７ｂ、直後の保存件数１０４７ｃ、問引き指定１０４７ｄ、および間引き条件１０４７ｅを参照し、バックアップ対象リストを作成する（ステップＳ１０９）。
【００４８】
具体的には、間引き指定１０４７ｄが有効になっている場合は、バックアップ対象リストを作成する際に間引き対象の同一のトレース情報が存在するか否かを検索し、存在する場合には、間引き条件１０４７ｅに従ってバックアップ対象リストから同一のトレース情報を除く。
次に、作成したバックアップ対象リストに応じて、トレース情報記憶領域１１０から、バックアップ先領域指定１０４４で指定されたバックアップ情報記憶領域１２０へ解析用トレース情報をコピーする（ステップＳ１１０）。なお、コピーする際にバックアップ情報記憶領域１２０に空き領域がなくなった場合の処理は、バックアップ領域満杯時動作指定１０４５に従い、停止または古いトレース情報から上書き保存する等の処理を行う。
【００４９】
ステップＳ１０８〜ステップＳ１１０の処理を、図５のバックアップ条件テーブル数１０４１に示される数、およびバックアップ条件テーブル１０４内のバックアップ条件定義数１０４６に示される数だけ繰り返し行う（ステップＳ１１１）。
その後、情報処理装置１は、トレース情報の保存処理を終了するまで（例えば、情報処理装置１やトレース情報管理装置１０の電源がＯＦＦされた場合等）、以上の処理を繰り返す。すなわち、ステップＳ１０１に戻ってトレース情報のトレース情報記憶領域１１０への保存を継続し、トレース情報記憶領域１１０の最後までトレース情報を格納し終わった場合には、トレース情報記憶領域１１０の先頭に戻ってトレース情報の格納を継続する。そして、ステップＳ１０６にてトレース情報記憶領域１１０の書込みポインタがバックアップ開始条件に合致した場合には、ステップＳ１０７〜Ｓ１１１の処理を実行して解析用トレース情報をバックアップ情報記憶領域１２０に格納する。
【００５０】
なお、これは一例であり、一旦トレース情報をバックアップ情報記憶領域１２０に格納した後の処理は様々に考えられる。例えば、ステップＳ１０４でトレース情報記憶領域１１０にトレース情報を格納した後は、書き込んだトレース情報の合計サイズ（すなわちトレース情報記憶領域１１０の使用容量）を算出しておく。そして、ステップＳ１０６においては、トレース情報記憶領域１１０に書き込んだトレース情報の合計サイズが所定サイズ以上になったかチェックし、所定サイズ以上になった場合には、ステップＳ１０７〜Ｓ１１１の処理を実行して解析用トレース情報をバックアップ情報記憶領域１２０に格納する、等の処理をするようになっていてもよい。
【００５１】
また、バックアップ情報記憶領域１２０やバックアップ条件等の設定を外部から変更可能とするバックアップ条件設定変更部１０３により、情報処理装置１のメモリ容量に応じてバックアップ情報記憶領域１２０の容量の調整を行う、バックアップするトレース情報を増減させる、記憶対象とするトレース情報の種類を変更する等、柔軟にトレース情報の構成管理を行うことが可能となる。
【００５２】
（まとめ）
以上のとおり、本実施形態によれば、プログラムの実行内容を示すトレース情報を保存しておく場合に、トレース情報を保存するトレース情報記憶領域の容量に制約がある場合においても、例えば異常発生時などの状況や目的に応じて必要なトレース情報を残すことが可能である。
なお、本発明の範囲は、図示され記載された例示的な実施形態に限定されるものではなく、本発明が目的とするものと均等な効果をもたらすすべての実施形態をも含む。さらに、本発明の範囲は、すべての開示されたそれぞれの特徴のうち特定の特徴のあらゆる所望する組み合わせによって画されうる。
【符号の説明】
【００５３】
１  情報処理装置
１０  トレース情報管理装置
２０  アプリケーションプログラム群
１０１  トレース領域管理テーブル
１０２  トレース情報格納部
１０３  バックアップ条件設定変更部
１０４  バックアップ条件テーブル
１０５  バックアップ処理部
１０６  トレース情報出力部
１０７  記憶部
１１０  トレース情報記憶領域
１２０  バックアップ情報記憶領域
２０１ａ〜２０１ｘ  各機能プログラム
２０２ａ〜２０２ｘ  トレース要求手段
１０１１  トレース領域先頭アドレス
１０１２  トレース領域サイズ
１０１３  バックアップ領域数
１０１４  バックアップ領域先頭アドレス
１０１５  バックアップ領域サイズ
１０４１  バックアップ条件テーブル数
１０４２  領域アドレス
１０４４  バックアップ先領域指定
１０４５  バックアップ領域満杯時動作指定
１０４６  バックアップ条件定義数
１０４７  バックアップ条件定義
１０４７ａ  条件種別
１０４７ｂ  直前保存件数
１０４７ｃ  直後保存件数
１０４７ｄ  指定
１０４７ｅ  条件
１１１１  トレース情報管理部
１１１１ａ  トレース領域先頭アドレス
１１１１ｂ  トレース領域終端アドレス
１１１１ｃ  バックアップ開始条件
１１１１ｄ  ポインタ
１１１１ｅ  ポインタ
１１１２  トレース情報データ部
１１１３  トレース情報
１１１３ａ  トレース通番
１１１３ｂ  時刻情報
１１１３ｃ  トレース位置情報
１１１３ｄ  トレース種別
１１１３ｅ  機能グループコード
１１１３ｆ  機能コード
１１１３ｇ  トレースデータサイズ
１１１３ｈ  トレースデータ
【図１】
2012252636.tif 000003
【図２】
2012252636.tif 000004
【図３】
2012252636.tif 000005
【図４】
2012252636.tif 000006
【図５】
2012252636.tif 000007
【図６】
2012252636.tif 000008
【図７】
2012252636.tif 000009
【図８】
2012252636.tif 000010
【図９】
2012252636.tif 000011
【図１０】
2012252636.tif 000012