(58)【調査した分野】(Int.Cl.,DB名)
第1コンピュータにおいてオペレーティングシステムにより固定容量の一時記憶用バッファに逐次に書き出されているトレース情報を当該第1コンピュータに通信可能に接続されている第2コンピュータの記録装置に記録するトレース情報記録方法であって、
前記第1コンピュータにおいて、前記トレース情報を予め定めた設定容量毎に逐次に取得したトレース情報部分を前記第2コンピュータに逐次に送信し、
前記第2コンピュータにおいて、前記設定容量を設定する容量設定コマンドを前記第1コンピュータに送信し、逐次に受信する前記トレース情報部分を以下の(1)から(3)のいずれか1つの記録形態で記録し、
(1)前記トレース情報部分を受信する毎に、当該トレース情報部分毎に前記記録装置にファイルとして逐次に記録する。
(2)前記トレース情報部分を予め設定した複数個受信する毎に、前記複数個の前記トレース情報部分を纏めて前記記録装置にファイルとして逐次に記録する。
(3)前記トレース情報部分を、逐次に受信する前記トレース情報部分の容量の合計が予め定めた記録容量に達する毎に、前記記録装置にファイルとして逐次に記録する。
前記第1コンピュータのメモリに、前記一時記憶用バッファのバッファ容量を超え前記設定容量以上の容量を備える第2の一時記憶用バッファを設け、前記トレース情報を時系列に沿って逐次に前記一時記憶用バッファから前記第2の一時記憶用バッファに複製し、前記第2の一時記憶用バッファに複製した前記トレース情報を前記設定容量毎に時系列に沿って逐次に取得して前記トレース情報部分とすることを特徴とするトレース情報記録方法。
オペレーティングシステムによってトレース情報が逐次に書き出されている固定容量の一時記憶用バッファを備える第1コンピュータと、当該第1コンピュータと通信可能に接続されており、前記トレース情報を記録保持するための記録装置を備える第2コンピュータと、を有するトレース情報記録システムにおいて、
前記第1コンピュータは、前記トレース情報を予め定めた設定容量毎に逐次に取得したトレース情報部分を前記第2コンピュータに逐次に送信するトレース情報取得送信部を備えており、
前記第2コンピュータは、前記設定容量を設定する容量設定コマンドを前記第1コンピュータに送信するコマンド送受信部と、逐次に受信する前記トレース情報部分を以下の(
1)から(3)のいずれか1つの記録形態で記録するトレース情報記録部を備え、
(1)前記トレース情報部分を受信する毎に、当該トレース情報部分毎に前記記録装置にファイルとして逐次に記録する。
(2)前記トレース情報部分を予め設定した複数個受信する毎に、前記複数個の前記トレース情報部分を纏めて前記記録装置にファイルとして逐次に記録する。
(3)前記トレース情報部分を、逐次に受信する前記トレース情報部分の容量の合計が予め定めた記録容量に達する毎に、前記記録装置にファイルとして逐次に記録する。
前記第1コンピュータは、メモリと、前記一時記憶用バッファのバッファ容量よりも大きい容量で前記メモリに設定された第2の一時記憶用バッファと、前記トレース情報を時系列に沿って逐次に前記一時記憶用バッファから前記第2の一時記憶用バッファに複製するトレース情報複製部と、を有し、
前記設定容量は、前記一時記憶用バッファのバッファ容量より大きく、且つ、前記第2の一時記憶用バッファの容量以下に設定されており、
前記トレース情報取得送信部は、前記第2の一時記憶用バッファに複製された前記トレース情報を設定容量毎に時系列に沿って逐次に取得してトレース情報部分とすることを特徴とするトレース情報記録システム。
オペレーティングシステムによってトレース情報が逐次に書き出されている固定容量の一時記憶用バッファを備える第1コンピュータを、当該第1コンピュータに通信可能に接続された第2コンピュータからの容量設定コマンドを受け付けるコマンド受信手段、および、前記トレース情報を前記容量設定コマンドにより設定される設定容量毎に逐次に取得したトレース情報部分を前記第2コンピュータに逐次に送信するトレース情報取得送信手段として機能させ、
前記第1コンピュータのメモリに、前記一時記憶用バッファのバッファ容量を超え前記設定容量以上の容量を備える第2の一時記憶用バッファが設けられ、
前記トレース情報取得送信手段は、前記トレース情報を時系列に沿って逐次に前記一時記憶用バッファから前記第2の一時記憶用バッファに複製し、前記第2の一時記憶用バッファに複製した前記トレース情報を前記設定容量毎に時系列に沿って逐次に取得して前記トレース情報部分とすることを特徴とするトレース情報送信プログラム。
【発明の概要】
【発明が解決しようとする課題】
【0005】
第1コンピュータで書き出されているトレース情報を第2コンピュータの側で記録するコンピュータシステムでは、一般的に、トレーサによるトレース情報の書き出し開始から書き出し終了までのトレース期間中、第1コンピュータではリングバッファに書き出されるトレース情報をそのまま時系列に沿って第2コンピュータに送信し続ける。第2コンピュータの側では第1コンピュータからのトレース情報を継続的に受信して、トレース期間の終了後に、受信が完了したトレース情報の全部を1つのファイルとして記録装置に記録する。
【0006】
第1コンピュータが組み込み機器の場合には、限られているCPUの能力を複数の処理に適切に配分して全体のパフォーマンスを確保することが求められる。ここで、トレース期間中に、第1コンピュータから第2コンピュータにトレース情報を送信し続ける場合には、第1コンピュータのCPUの能力がトレース情報の送信処理のために常に消費され続けるので、CPUの能力の配分を柔軟に行うことが困難になるという問題がある。また、トレース期間の終了後に、第2コンピュータにおいて受信が完了したトレース情報の全部を1つのファイルに記録する場合には、トレース期間の終了まで待たなければ、第2コンピュータの側に送信されたトレース情報をデバッグ等に利用することができないという問題がある。
【0007】
以上の点に鑑みて、本発明の課題は、トレース情報を送信する第1コンピュータのCPUの能力を有効に活用することができるとともに、第2コンピュータの側に送信されてくるトレース情報をトレース期間の終了を待たずに利用できるトレース情報記録方法およびトレース情報記録システムを提供することにある。また、トレース情報を送信する第1コンピュータの側のCPUを有効に活用できるトレース情報送信プラグラム、および、第2コンピュータの側に送信されてくるトレース情報をトレース期間の終了を待たずに利用可能とするトレース情報記録プログラムを提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明は、第1コンピュータにおいてオペレーティングシステムにより固定容量の一時記憶用バッファに逐次に書き出されているトレース情報を当該第1コンピュータに通信可能に接続されている第2コンピュータの記録装置に記録するトレース情報記録方法であって、前記第1コンピュータにおいて、前記トレース情報を予め定めた設定容量毎に逐次に取得したトレース情報部分を前記第2コンピュータに逐次に送信し、前記第2コンピュータにおいて、前記設定容量を設定する容量設定コマンドを前記第1コンピュータに送信し、逐次に受信する前記トレース情報部分を以下の(1)から(3)のいずれか1つの記録形態で記録
し、
(1)前記トレース情報部分を受信する毎に、当該トレース情報部分毎に前記記録装置にファイルとして逐次に記録する。
(2)前記トレース情報部分を予め設定した複数個受信する毎に、前記複数個の前記トレース情報部分を纏めて前記記録装置にファイルとして逐次に記録する。
(3)前記トレース情報部分を、逐次に受信する前記トレース情報部分の容量の合計が予め定めた記録容量に達する毎に、前記記録装置にファイルとして逐次に記録する。
前記第1コンピュータのメモリに、前記一時記憶用バッファのバッファ容量を超え前記
設定容量以上の容量を備える第2の一時記憶用バッファを設け、前記トレース情報を時系列に沿って逐次に前記一時記憶用バッファから前記第2の一時記憶用バッファに複製し、前記第2の一時記憶用バッファに複製した前記トレース情報を前記設定容量毎に時系列に沿って逐次に取得して前記トレース情報部分とすることを特徴とする。
【0009】
本発明によれば、第1コンピュータはトレース情報をトレース期間の終了まで第2コンピュータに送信し続けるのではなく、トレース情報を時系列に沿って逐次に取得したトレース情報部分を第2コンピュータに送信する。従って、トレース情報部分として取得するトレース情報の容量やトレース情報部分を取得して送信する周期などの設定を変えて試すことができることにより、トレース情報の取得およびトレース情報部分の送信によって消費されるCPUの能力を、トレース情報を送信し続ける場合と比較して、低く抑えることが可能となる。よって、例えば、第1コンピュータが組み込み機器であって限られているCPUの能力を複数の処理に適切に配分して全体のパフォーマンスを確保することが求められる場合などに、CPUの能力の配分を柔軟に行うことが可能となる。また、第2コンピュータは、第1コンピュータから転送されてくるトレース情報をトレース期間の終了後に記録装置にファイルとして記録するのではなく、逐次に受信するトレース情報部分を記録装置にファイルとして逐次に記録する。従って、トレース期間の終了まで待つことなく、記録装置に記録された各ファイルの利用が可能となる。さらに、第2コンピュータでは、トレース情報部分を記録していく各ファイルの容量をデバッグに適した容量とすることができる。
【0010】
また、本発明によれば、前記トレース情報を予め定めた設定容量毎に取得して前記トレース情報部分とする。例えば、設定容量を一時記憶用バッファのバッファ容量以下とし、第1コンピュータにおいて、トレース情報をリングバッファから逐次に取得してトレース情報部分とすることができる。このようにすればトレース情報の逐次の取得が容易となる。また、
本発明によれば、第1コンピュータのメモリに一時記憶用バッファのバッファ容量を超え設定容量以上の容量を備える第2の一時記憶用バッファを設け、トレース情報を時系列に沿って逐次に一時記憶用バッファから第2の一時記憶用バッファに複製し、第2の一時記憶用バッファに複製したトレース情報を設定容量毎に時系列に沿って逐次に取得してトレース情報部分とす
る。このようにすれば、1回に取得するトレース情報の容量(設定容量)を一時記憶用バッファのバッファ容量にかかわらず設定できる。ここで、トレース情報の取得およびトレース情報部分の送信に際して第1コンピュータのCPUが消費する能力は、設定容量とトレース情報部分を送信する頻度のトレードオフとなるので、設定容量を一時記憶用バッファのバッファ容量にかかわらず柔軟に設定できれば、トレース情報の取得およびトレース情報部分の送信にかかる第1コンピュータのCPUの能力の消費を抑制することが容易となる。
【0011】
更に、本発明によれば、前記第2コンピュータは、前記設定容量を設定する容量設定コマンドを前記第1コンピュータに送信する。この場合には、例えば、予め第2コンピュータから第1コンピュータに設定容量を設定する容量設定コマンドを供給しておき、第1コンピュータにおいてトレース情報を一定の設定容量毎に逐次に取得してトレース情報部分とすることができる。このようにすれば、トレース情報の取得およびトレース情報部分の送信によって消費される第1コンピュータのCPUの能力を毎回同規模にすることができるので、CPUの能力を他の処理に振り分けることが容易となる
。
【0013】
次に、本発明は、オペレーティングシステムによってトレース情報が逐次に書き出されている固定容量の一時記憶用バッファを備える第1コンピュータと、当該第1コンピュー
タと通信可能に接続されており、前記トレース情報を記録保持するための記録装置を備える第2コンピュータと、を有するトレース情報記録システムにおいて、前記第1コンピュータは、前記トレース情報を予め定めた設定容量毎に逐次に取得したトレース情報部分を前記第2コンピュータに逐次に送信するトレース情報取得送信部を備えており、前記第2コンピュータは、前記設定容量を設定する容量設定コマンドを前記第1コンピュータに送信するコマンド送受信部と、逐次に受信する前記トレース情報部分を以下の(1)から(3)のいずれか1つの記録形態で記録するトレース情報記録部を備え
、
(1)前記トレース情報部分を受信する毎に、当該トレース情報部分毎に前記記録装置にファイルとして逐次に記録する。
(2)前記トレース情報部分を予め設定した複数個受信する毎に、前記複数個の前記トレース情報部分を纏めて前記記録装置にファイルとして逐次に記録する。
(3)前記トレース情報部分を、逐次に受信する前記トレース情報部分の容量の合計が予め定めた記録容量に達する毎に、前記記録装置にファイルとして逐次に記録する。
前記第1コンピュータは、メモリと、前記一時記憶用バッファのバッファ容量よりも大きい容量で前記メモリに設定された第2の一時記憶用バッファと、前記トレース情報を時系列に沿って逐次に前記一時記憶用バッファから前記第2の一時記憶用バッファに複製するトレース情報複製部と、を有し、
前記設定容量は、前記一時記憶用バッファのバッファ容量より大きく、且つ、前記第2の一時記憶用バッファの容量以下に設定されており、
前記トレース情報取得送信部は、前記第2の一時記憶用バッファに複製された前記トレース情報を設定容量毎に時系列に沿って逐次に取得してトレース情報部分とすることを特徴とする。
【0014】
本発明のトレース情報記録システムによれば、第1コンピュータのトレース情報取得送信部はトレース情報をトレース期間の終了まで第2コンピュータに送信し続けるのではなく、トレース情報を逐次に取得したトレース情報部分を第2コンピュータに送信する。従って、トレース情報部分として取得するトレース情報の容量やトレース情報部分を取得して送信する周期などの設定を変えて試すことができることにより、トレース情報の取得およびトレース情報部分の送信によって消費されるCPUの能力を、トレース情報を送信し
続ける場合と比較して、低く抑えることが可能となる。よって、例えば、第1コンピュータが組み込み機器であって限られているCPUの能力を複数の処理に適切に配分して全体のパフォーマンスを確保することが求められる場合などに、CPUの能力の配分を柔軟に行うことが可能となる。また、第2コンピュータのトレース情報記録部は、第1コンピュータから転送されてくるトレース情報をトレース期間の終了後に記録装置にファイルとして記録するのではなく、逐次に受信するトレース情報部分を記録装置にファイルとして逐次に記録する。従って、トレース期間の終了まで待つことなく、記録装置に記録された各ファイルの利用が可能となる。さらに、第2コンピュータでは、トレース情報部分を記録していく各ファイルの容量をデバッグに適した容量とすることができる。
【0015】
また、本発明によれば、前記トレース情報取得送信部は、前記トレース情報を予め定めた設定容量毎に取得して前記トレース情報部分とする。
また、本発明によれば、第1コンピュータは、メモリと、バッファ容量よりも大きい容量でメモリに設定された第2の一時記憶用バッファと、トレース情報を時系列に沿って逐次に一時記憶用バッファから第2の一時記憶用バッファに複製するトレース情報複製部と、を有し、設定容量は、一時記憶用バッファのバッファ容量より大きく、第2の一時記憶用バッファの容量以下に設定されており、トレース情報取得送信部は、第2の一時記憶用バッファに複製されたトレース情報を設定容量毎に時系列に沿って逐次に取得してトレース情報部分とす
る。このようにすれば、1回に取得するトレース情報の容量(設定容量)を一時記憶用バッファのバッファ容量にかかわらず設定できる。ここで、トレース情報の取得およびトレース情報部分の送信に際して第1コンピュータのCPUが消費する能力は、設定容量とトレース情報部分を送信する頻度のトレードオフとなるので、設定容量を一時記憶用バッファのバッファ容量にかかわらず柔軟に設定できれば、トレース情報の取得およびトレース情報部分の送信にかかる第1コンピュータのCPUの能力の消費を抑制することが容易となる。
【0016】
更に、本発明によれば、前記第2コンピュータは、前記設定容量を設定する容量設定コマンドを前記第1コンピュータに送信するコマンド送信部を備えている。例えば、コマン
ド送信部は予め第2コンピュータから第1コンピュータに設定容量を設定する容量設定コマンドを送信するものとすることができる。これにより、第1コンピュータのトレース情報取得送信部はトレース情報を一定の設定容量毎に逐次に取得してトレース情報部分とするものとなる。このようにすれば、トレース情報の取得およびトレース情報部分の送信によって消費される第1コンピュータのCPUの能力を毎回同規模にすることができるので、CPUの能力を他の処理に振り分けることが容易となる
。
【0020】
また、本発明のトレース情報送信プログラムは、オペレーティングシステムによってトレース情報が逐次に書き出されている固定容量の一時記憶用バッファを備える第1コンピュータを、当該第1コンピュータに通信可能に接続された第2コンピュータからの容量設定コマンドを受け付けるコマンド受信手段、および、前記トレース情報を前記容量設定コマンドにより設定される設定容量毎に逐次に取得したトレース情報部分を前記第2コンピュータに送信するトレース情報取得送信手段として機能させ
、前記第1コンピュータのメモリに、前記一時記憶用バッファのバッファ容量を超え前記設定容量以上の容量を備える第2の一時記憶用バッファが設けられ、前記トレース情報取得送信手段は、前記トレース情報を時系列に沿って逐次に前記一時記憶用バッファから前記第2の一時記憶用バッファに複製し、前記第2の一時記憶用バッファに複製した前記トレース情報を前記設定容量毎に時系列に沿って逐次に取得して前記トレース情報部分とすることを特徴とする。
【0021】
本発明のトレース情報送信プログラムによれば、第1コンピュータはトレース情報をトレース期間の終了まで第2コンピュータに送信し続けるのではなく、トレース情報を容量設定コマンドにより設定される設定容量で逐次に取得したトレース情報部分を第2コンピュータに送信する。従って、トレース情報部分として取得するトレース情報の容量(設定容量)の設定を変えて試すことができることにより、トレース情報の取得およびトレース情報部分の送信によって消費されるCPUの能力を、トレース情報を送信し続ける場合と比較して、低く抑えることが可能となる。
【0023】
また、本発明のトレース情報送信プログラムによれば、前記第1コンピュータのメモリに、前記一時記憶用バッファのバッファ容量を超え前記設定容量以上の容量を備える第2の一時記憶用バッファが設けられ、前記トレース情報取得送信手段は、前記トレース情報を時系列に沿って逐次に前記一時記憶用バッファから前記第2の一時記憶用バッファに複製し、前記第2の一時記憶用バッファに複製した前記トレース情報を前記設定容量毎に時
系列に沿って逐次に取得して前記トレース情報部分とする
。このようにすれば、1回に取得するトレース情報の容量(設定容量)を一時記憶用バッファのバッファ容量にかかわらず設定できる。ここで、トレース情報の取得およびトレース情報部分の送信に際して第1コンピュータのCPUが消費する能力は、設定容量とトレース情報部分を送信する頻度のトレードオフとなるので、設定容量を一時記憶用バッファのバッファ容量にかかわらず柔軟に設定できれば、トレース情報の取得およびトレース情報部分の送信にかかる第1コンピュータのCPUの能力の消費を抑制することが容易となる。
【発明の効果】
【0026】
本発明によれば、自己のトレース情報を外部に送信する第1コンピュータの側では、CPUの能力を有効に活用することが可能となる。また、トレース情報を記録する第2コンピュータの側では、トレース期間の終了を待たずに第1コンピュータから受信したトレース情報をファイルの形式で逐次に利用することが可能となる。
【発明を実施するための形態】
【0028】
以下に、図面を参照して本発明の実施の形態
および参考例のトレース情報記録システムを説明する。
【0029】
(
第1の例:参考例)
図1は
第1の例(参考例)のトレース情報記録システムの概略ブロック図である。
図1に示すように、トレース情報記録システム1は、第1コンピュータ2と、この第1コンピュータ2に通信可能に接続された第2コンピュータ3を備えている。第1コンピュータ2は、CPU、RAMなどのメモリを備える制御部4を中心に構成されている。制御部4ではオペレーティングシステム(以下、OSという)が動作している。本例ではOSはLinux(登録商標)である。第2コンピュータ3はCPU、RAMなどのメモリを備える制御部5と、制御部5の出力側に接続された記録装置6を備えている。記録装置6は、例えば、ハードディスクである。なお、概略ブロック図において、線状の矢印はコマンドの送受信を示し、白抜きの矢印はトレース情報の送受信を示している。
【0030】
第1コンピュータ2は、トレース情報書き出し部11とトレース情報取得送信部(トレース情報取得送信手段・コマンド受信手段)12を備えている。トレース情報書き出し部11は、メモリ上に設定されたリングバッファ(固定容量の一時記憶用バッファ)13と、トレーサ動作部14を備えている。トレーサ動作部14はOSにより呼び出されたシステムコール等などのOSの稼働状況を時系列に沿ってリングバッファ13に書き出す。
【0031】
本例では、トレーサ動作部14はLinux(登録商標)の標準のトレーサであるftraceが動作することにより機能している。また、本例では、トレース情報に、オペレーティングシステムOS上で動作しているプログラムの稼働状況を示す関数レベルの情報が含まれている。OS上で動作しているプログラムとしては、特定の処理を行うアプリケーションプログラムおよびデバイスドライバプログラムなどがある。なお、ftraceにより書き出されるトレース情報にOS上で動作しているプログラムの稼働状況を示す関数レベルの情報を含める技術は周知である。
【0032】
トレース情報取得送信部12は、トレース情報を予め定めた設定容量毎に逐次に取得したトレース情報部分を第2コンピュータ3に送信する。トレース情報取得送信部12は第1コンピュータ2においてトレース情報送信プログラムを動作させることにより機能している。トレース情報取得送信部12は、コマンドシーケンス格納部15、トレース情報部分送信部16、データポート制御部17およびコマンドポート18を備えている。コマンドポート18は第1コンピュータ2と第2コンピュータ3の間でコマンドの送受信を行う。
【0033】
コマンドシーケンス格納部15には、トレース情報送信プログラムに基づいてトレース情報の逐次転送を実行するコマンドシーケンスが格納されている。コマンドシーケンス格納部15は、コマンドシーケンスの内容に応じトレース情報部分送信部16、データポート制御部17およびコマンドポート18を制御する。
【0034】
トレース情報部分送信部16はトレース情報取得部19を備えている。トレース情報取得部19は、リングバッファ13に逐次に書き出されるトレース情報を設定容量毎にリングバッファ13から逐次に取得して、トレース情報部分とする。設定容量は第2コンピュータ3からコマンドポート18を介して受信する容量設定コマンドにより設定される。本例では、容量設定コマンドは予め第2コンピュータ3から第1コンピュータ2に送信される。また、本例では、設定容量は容量設定コマンドによってリングバッファ13のバッファ容量以下の値に設定される。
【0035】
データポート制御部17は、コマンドシーケンス格納部15からトレース情報部分の送信が指示された場合に、トレース情報部分を第2コンピュータ3に送信する。ここで、コマンドシーケンス格納部15はトレース情報取得部19がトレース情報を取得してトレース情報部分とする毎にデータポート制御部17にトレース情報部分の送信を指示する。
【0036】
次に、第2コンピュータ3は、制御部5に、コマンド送受信部(コマンド送信部・コマンド送信手段)25およびトレース情報記録部(トレース情報記録手段)26を備えている。コマンド送受信部25およびトレース情報記録部26は第2コンピュータ3でトレース情報記録プログラムを動作させることにより機能している。
【0037】
コマンド送受信部25は、第1コンピュータ2との間でコマンドの送受信を行う。また、コマンド送受信部25は、容量設定コマンドを第1コンピュータ2に送信することにより、第1コンピュータ2のトレース情報取得部19がトレース情報を逐次に取得する容量を設定容量に設定する。設定容量は容量設定コマンドのパラメータにより柔軟に設定することができる。本例では、パラメータとして設定容量をリングバッファ13のバッファ容
量以下の値に設定するものが選択される。
【0038】
ここで、容量設定コマンドは、第1コンピュータ2にトレース情報部分の転送開始を指示する転送開始コマンドを兼ねている。従って、第1コンピュータ2が第2コンピュータ3からの容量設定コマンドを受信すると、トレース情報取得送信部12は、第2コンピュータ3にトレース情報の転送開始の通知を行い、トレース情報の取得とトレース情報部分の第2コンピュータ3への転送を開始する。また、コマンド送受信部25は、転送終了コマンドを第1コンピュータ2に送信することにより、第1コンピュータ2によるトレース情報の第2コンピュータ3への転送を終了させる。
【0039】
トレース情報記録部26は、第1コンピュータ2から逐次
に送信されてくるトレース情報部分を受信する。また、トレース情報記録部26は逐次に受信したトレース情報部分を、予め設定した複数個毎に纏めて記録装置6にトレース情報ファイル7として逐次に記録する。本例では、トレース情報記録部26は、トレース情報部分をM個受信する毎に、これらを纏めて記録装置6に1つのトレース情報ファイル7として記録する。
【0040】
(トレース情報の転送記録動作)
図2を参照して、トレース情報記録システム1におけるトレース情報の転送記録動作を説明する。
図2は
図1のトレース情報記録システム1におけるトレース情報の転送記録動作の説明図である。転送記録動作を開始する際には、まず、第2コンピュータ3から第1コンピュータ2に容量設定コマンドが送信される(ステップST1)。本例では、容量設定コマンドは設定容量をリングバッファ13のバッファ容量以下のN1バイトに設定するものである。
【0041】
第1コンピュータ2が容量設定コマンドを受信すると、第1コンピュータ2では、トレース情報取得送信部12が動作する。これにより、第1コンピュータ2と第2コンピュータ3はトレース情報を送受信する転送モードに移行する(ステップST2)。その後、容量設定コマンドへの返信としてトレース情報取得送信部12から第2コンピュータ3に転送開始の通知が行われる(ステップST3)。しかる後に、トレース情報取得送信部12は、トレース情報を容量設定コマンドにより設定された設定容量(N1バイト)毎にリングバッファ13から逐次に取得してトレース情報部分として第2コンピュータ3に送信する(ステップST4)。
【0042】
ここで、第2コンピュータ3では、トレース情報記録部26が、トレース情報部分をM個受信する毎に、これらM個のトレース情報部分を纏めて、記録装置6に1つのトレース情報ファイル7として記録する(ステップST5)。すなわち、トレース情報記録部26はN1バイト×Mの容量のトレース情報ファイル7を記録装置6に逐次に作成する。
【0043】
その後、第2コンピュータ3から転送終了コマンドが送信され(ステップST6)、第1コンピュータ2がこの転送終了コマンドを受信すると、トレース情報取得送信部12はトレース情報をリングバッファ13から取得してトレース情報部分として第2コンピュータ3に送信する動作を停止する。これにより、第1コンピュータ2と第2コンピュータ3はトレース情報を送受信する転送モードから、トレース情報を送受信しない通常動作モードに移行する(ステップST7)。
【0044】
(作用効果)
本例によれば、第1コンピュータ2はトレース情報をトレース期間の終了まで第2コンピュータ3に送信し続けるのではなく、設定容量をリングバッファ13のバッファ容量以下とし、第1コンピュータ2において、トレース情報をリングバッファ13から逐次に取得してトレース情報部分として第2コンピュータ3に送信している。従って、設定容量を
調整することにより、トレース情報の取得およびトレース情報部分の送信によって消費されるCPUの能力を、トレース情報を送信し続ける場合と比較して、低く抑えることが可能となる。よって、例えば、第1コンピュータ2が組み込み機器であって限られているCPUの能力を複数の処理に適切に配分して全体のパフォーマンスを確保することが求められる場合などに、CPUの能力の配分を柔軟に行うことが可能となる。
【0045】
また、第2コンピュータ3は、第1コンピュータ2から転送されてくるトレース情報をトレース期間の終了後に記録装置6にトレース情報ファイル7として記録するのではなく、逐次に受信するトレース情報部分を記録装置6にトレース情報ファイル7として逐次に記録する。従って、トレース期間の終了まで待つことなく、記録装置6に記録された各トレース情報ファイル7の利用が可能となる。さらに、第2コンピュータ3では、トレース情報部分を纏める個数を設定することにより、各トレース情報ファイル7の容量をデバッグに適した容量とすることができる。
【0046】
また、本例では、トレース情報を設定容量毎に逐次に取得してトレース情報部分としているので、トレース情報の取得およびトレース情報部分の送信によって消費される第1コンピュータ2のCPUの能力を毎回同規模にすることができる。従って、CPUの能力を他の処理に振り分けることが容易となる。
【0047】
さらに、本例では、設定容量をリングバッファ13のバッファ容量以下としているので、トレース情報を逐次に取得することが容易である。また、設定容量は、第2コンピュータ3からの容量設定コマンドによって設定されるので、トレース情報を逐次に取得する容量の設定および変更が容易である。
【0048】
ここで、設定容量をリングバッファ13のバッファ容量と同じ値にすれば、設定容量がリングバッファ13のバッファ容量よりも小さい場合と比較して、トレース情報部分を第1コンピュータ2から第2コンピュータ3に転送する頻度を低下させることができる。従って、トレース情報の取得およびトレース情報部分の送信によって消費されるCPUの能力を抑制することができる。なお、上記の例において、容量設定コマンドのパラメータにより、設定容量がリングバッファ13のバッファ容量を超えるものに設定された場合には、トレース情報取得送信部12は、設定容量をリングバッファ13のバッファ容量と同じ値としてリングバッファ13からのトレース情報の取得を行う。
【0049】
(
第1の例の変形例)
本例では、トレース情報記録部26は、トレース情報部分を複数個纏めてトレース情報ファイル7としているが、第1コンピュータ2から逐次に受信するトレース情報部分をそれぞれ記録装置6に1つのトレース情報ファイル7として記録してもよい。また、トレース情報記録部26は、逐次に受信するトレース情報部分の容量の合計が予め定めた記録容量に達する毎に記録装置6にトレース情報ファイル7として逐次に記録してもよい。
【0050】
(
第2の例:実施例)
図3は本発明を適用した
第2の例のトレース情報記録システムの概略ブロック図である。
図3に示すように、トレース情報記録システム1Aは、第1コンピュータ2と、この第1コンピュータ2に通信可能に接続された第2コンピュータ3を備えている。第1コンピュータ2は制御部4にトレース情報書き出し部11とトレース情報取得送信部12を備えている。トレース情報取得送信部12は第1コンピュータ2でトレース情報送信プログラムを動作させることにより機能している。第2コンピュータ3は制御部5にコマンド送受信部25およびトレース情報記録部26を備えている。コマンド送受信部25およびトレース情報記録部26は第2コンピュータ3でトレース情報記録プログラムを動作させることにより機能している。なお、本例のトレース情報記録システム1Aは
第1の例のトレース情報記録システム1Aと対応の構成を備えているので、対応する構成に同一の符号を付してその説明を省略する。
【0051】
第1コンピュータ2のトレース情報取得送信部12は、トレース情報を予め定めた設定容量毎に逐次に取得したトレース情報部分を第2コンピュータ3に送信する。トレース情報取得送信部12は、コマンドシーケンス格納部15、トレース情報部分送信部16、データポート制御部17およびコマンドポート18を備えている。本例では、データポート制御部17は、一時記憶用バッファ(リングバッファ13とは異なる第2の一時記憶用バッファ)20を備えている。一時記憶用バッファ20は、トレース情報送信プログラムを動作させることにより制御部4のメモリ上に設定されたものである。一時記憶用バッファ20のバッファ容量はリングバッファ13のバッファ容量よりも大きい。
【0052】
また、本例では、トレース情報部分送信部16は、トレース情報複製部21とトレース情報取得部19を備えている。トレース情報複製部21はトレーサ動作部14によってリングバッファ13に逐次に書き出されるトレース情報を逐次に一時記憶用バッファ20に複製する。トレース情報取得部19は、トレース情報複製部21により一時記憶用バッファ20に複製されたトレース情報を設定容量毎に逐次に取得してトレース情報部分とする。設定容量は第2コンピュータ3からコマンドポート18を介して容量設定コマンドを受信することにより設定される。本例では、容量設定コマンドは予め第2コンピュータ3から第1コンピュータ2に送信されている。また、本例では、設定容量はリングバッファ13のバッファ容量を超え、一時記憶用バッファ20のバッファ容量以下の値に設定される。
【0053】
データポート制御部17は、コマンドシーケンス格納部15からトレース情報部分の送信が指示された場合、トレース情報部分を第2コンピュータ3に送信する。コマンドシーケンス格納部15はトレース情報取得部19が一時記憶用バッファ20に複製されたトレース情報を取得してトレース情報部分とする毎にデータポート制御部17にトレース情報部分の送信を指示する。
【0054】
(トレース情報の転送記録動作)
図4を参照して、トレース情報記録システム1Aにおけるトレース情報の転送記録動作を説明する。
図4は
図3のトレース情報記録システム1Aにおけるトレース情報の転送記録動作の説明図である。転送記録動作を開始する際には、まず、第2コンピュータ3から第1コンピュータ2に容量設定コマンドが送信される(ステップST11)。本例では、容量設定コマンドは、設定容量をリングバッファ13のバッファ容量を超え、かつ、一時記憶用バッファ20のバッファ容量以下のN2バイトに設定するものである。
【0055】
第1コンピュータ2が容量設定コマンドを受信すると、第1コンピュータ2では、トレース情報取得送信部12が動作する。これにより、第1コンピュータ2と第2コンピュータ3はトレース情報を送受信する転送モードに移行する(ステップST12)。その後、容量設定コマンドへの返信としてトレース情報取得送信部12から第2コンピュータ3に転送開始の通知が行われる(ステップST13)。
【0056】
しかる後に、トレース情報取得送信部12は、トレース情報を設定容量毎にリングバッファ13から逐次に取得したトレース情報部分を第2コンピュータ3に送信する(ステップST14)。より詳細には、トレース情報取得送信部12は、トレース情報をリングバッファ13から逐次に一時記憶用バッファ20に複製するとともに、一時記憶用バッファ20からN2バイト毎にトレース情報を逐次に取得してトレース情報部分として第2コンピュータに送信する。
【0057】
ここで、第2コンピュータ3では、トレース情報部分をM個受信する毎に、これらM個のトレース情報部分を記録装置6に1つのトレース情報ファイル7として記録する(ステップST15)。すなわち、トレース情報記録部26はN2バイト×Mの容量のトレース情報ファイル7を記録装置6に逐次に作成する。
【0058】
その後、第2コンピュータ3から転送終了コマンドが送信され(ステップST16)、第1コンピュータ2がこの転送終了コマンドを受信すると、トレース情報取得送信部12はトレース情報をリングバッファ13から取得してトレース情報部分として第2コンピュータ3に送信する動作を停止する。これにより、第1コンピュータ2と第2コンピュータ3はトレース情報を送受信する転送モードから、トレース情報を送受信しない通常動作モードに移行する(ステップST17)。
【0059】
(作用効果)
本例によれば、実施例1と同様の作用効果を得ることができる。また、本例によれば、第1コンピュータ2のメモリにリングバッファ13のバッファ容量を超える一時記憶用バッファ20を設け、トレース情報を時系列に沿って逐次にリングバッファ13から一時記憶用バッファ20に複製し、一時記憶用バッファ20に複製したトレース情報を設定容量毎に時系列に沿って逐次に取得してトレース情報部分としている。従って、1回に取得するトレース情報の容量(設定容量)をリングバッファ13のバッファ容量にかかわらず設定できる。ここで、トレース情報の取得およびトレース情報部分の送信に際して第1コンピュータ2のCPUが消費する能力は、設定容量とトレース情報部分を送信する頻度のトレードオフとなるので、設定容量をリングバッファ13のバッファ容量にかかわらず柔軟に設定できれば、トレース情報の取得およびトレース情報部分の送信にかかる第1コンピュータ2のCPUの能力の消費を抑制することが容易となる。
【0060】
なお、本例において、容量設定コマンドのパラメータにより、設定容量が一時記憶用バッファ20のバッファ容量を超えるものに設定された場合には、トレース情報取得送信部12は設定容量を一時記憶用バッファ20のバッファ容量と同じ値として、一時記憶用バッファ20からのトレース情報の取得を行えばよい。
【0061】
(
第2の例の変形例)
本例では、トレース情報記録部26は、トレース情報部分を複数個纏めてトレース情報ファイル7としているが、第1コンピュータ2から逐次に受信するトレース情報部分をそれぞれ記録装置6に1つのトレース情報ファイル7として記録してもよい。また、トレース情報記録部26は、逐次に受信するトレース情報部分の容量の合計が予め定めた記録容
量に達する毎に記録装置6にトレース情報ファイル7として逐次に記録してもよい。
【0062】
(
第3の例:参考例)
本例のトレース情報記録システムの概略ブロック図は
第1の例のトレース情報記録システム1の概略ブロック図である
図1と同一である。すなわち、本例のトレース情報記録システム1Bは、第1コンピュータ2と、この第1コンピュータ2に通信可能に接続された第2コンピュータ3を備えている。第1コンピュータ2は制御部4にトレース情報書き出し部11とトレース情報取得送信部12を備えている。トレース情報取得送信部12は第1コンピュータ2でトレース情報送信プログラムを動作させることにより機能している。第2コンピュータ3は制御部5にコマンド送受信部25およびトレース情報記録部26を備えている。コマンド送受信部25およびトレース情報記録部26は第2コンピュータ3でトレース情報記録プログラムを動作させることにより機能している。なお、本例のトレース情報記録システム1は、
第1の例のトレース情報記録システム1と同様の構成を備えているので、対応する構成に同一の符号を付してその説明を省略する。
【0063】
第1コンピュータ2のトレース情報取得送信部12は、トレース情報を予め定めた設定容量毎に逐次に取得したトレース情報部分を第2コンピュータ3に送信する。トレース情報取得送信部12は、コマンドシーケンス格納部15、トレース情報部分送信部16、データポート制御部17およびコマンドポート18を備えている。
【0064】
トレース情報部分送信部16はトレース情報取得部19を備えている。トレース情報取得部19はトレーサ動作部14によってリングバッファ(一時記憶用バッファ)13に逐次に書き出されるトレース情報を設定容量で逐次にリングバッファ13から取得してトレース情報部分とする。設定容量は第2コンピュータ3からコマンドポート18を介して容量設定コマンドを受信することにより設定される。
【0065】
データポート制御部17は、コマンドシーケンス格納部15からトレース情報部分の送信が指示された場合、トレース情報部分を第2コンピュータ3に送信する。コマンドシーケンス格納部15はトレース情報取得部19がリングバッファ13からトレース情報を取得してトレース情報部分とする毎にデータポート制御部17にトレース情報部分の送信を指示する。
【0066】
第2コンピュータ3のコマンド送受信部25は、容量設定コマンドを第1コンピュータ2に送信することにより、第1コンピュータ2のトレース情報取得部19がトレース情報を逐次に取得する容量を設定容量に設定する。設定容量は容量設定コマンドのパラメータにより柔軟に設定することができる。本例では、コマンド送受信部25は、予め、第2コンピュータ3から第1コンピュータ2に容量設定コマンドを送信するとともに、第2コンピュータ3においてトレース情報部分を受信する毎に容量設定コマンドを第1コンピュータ2に送信する。すなわち、コマンド送受信部25は、第1コンピュータ2において逐次に行われるトレース情報の各取得動作に際して当該トレース情報を取得する容量をコマンド送信部からの容量設定コマンドによって任意に変更する。
【0067】
予め、第2コンピュータ3から第1コンピュータ2に送信される容量設定コマンドは、第1コンピュータ2にトレース情報部分の転送開始を指示する転送開始コマンドを兼ねている。従って、第1コンピュータ2が第2コンピュータ3からの容量設定コマンドを受信すると、トレース情報取得送信部12は、第2コンピュータ3にトレース情報の転送開始の通知を行い、トレース情報の取得とトレース情報部分の第2コンピュータ3への送信を開始する。また、コマンド送受信部25は、転送終了コマンドを第1コンピュータ2に送信することにより、第1コンピュータ2によるトレース情報の第2コンピュータ3への転送を終了させる。
【0068】
トレース情報記録部26は、第1コンピュータ2から逐次にトレース情報部分を受信すると、逐次に受信するトレース情報部分の容量の合計が予め定めた記録容量に達する毎に記録装置6に1つのトレース情報ファイル7として記録する。本例では、記録容量をS1バイトとしている。
【0069】
(トレース情報の転送記録動作)
図5を参照して、トレース情報記録システム1Bにおけるトレース情報の転送記録動作を説明する。
図5は本例のトレース情報記録システム1Bにおけるトレース情報の転送記録動作の説明図である。転送記録動作を開始する際には、まず、第2コンピュータ3から第1コンピュータ2に容量設定コマンドが送信される(ステップST21)。本例では、容量設定コマンドは、設定容量をリングバッファ13のバッファ容量以下のN3バイトに設定するものである。
【0070】
第1コンピュータ2が容量設定コマンドを受信すると、第1コンピュータ2では、トレ
ース情報取得送信部12が動作する。これにより、第1コンピュータ2と第2コンピュータ3はトレース情報を送受信する転送モードに移行する(ステップST22)。次に、容量設定コマンドへの返信としてトレース情報取得送信部12から第2コンピュータ3に転送開始の通知が行われる(ステップST23)。その後、トレース情報取得送信部12は、トレース情報を容量設定コマンドにより設定された設定容量でリングバッファ13から取得したトレース情報部分を第2コンピュータ3に送信する(ステップST24)。
【0071】
第2コンピュータ3においてトレース情報部分を受信すると、第2コンピュータ3のコマンド送受信部25から容量設定コマンドが第1コンピュータ2に送信される(ステップST25)。ここで、コマンド送受信部25から送信される各容量設定コマンドのパラメータの値は、一定でなくてもよく、パラメータの値は容量設定コマンド毎に異なる値とすることができる。
【0072】
その後、第1コンピュータ2が容量設定コマンドを取得すると、トレース情報取得送信部12は、トレース情報を容量設定コマンドにより設定された設定容量でリングバッファ13から取得してトレース情報部分として第2コンピュータ3に送信する(ステップST26)。しかる後に、ステップST25とステップST26が繰り返し行われる。
【0073】
ここで、第2コンピュータ3のトレース情報記録部26は、逐次に受信するトレース情報部分の容量の合計が記録容量のS1バイトに達する毎に記録装置6に1つのトレース情報ファイル7として記録する(ステップST27)。すなわち、トレース情報記録部26はS1バイトの容量のトレース情報ファイル7を記録装置6に逐次に作成する。
【0074】
その後、第2コンピュータ3から転送終了コマンドが送信され、第1コンピュータ2がこの転送終了コマンドを受信すると(ステップST28)、第1コンピュータ2と第2コンピュータ3はトレース情報を送受信する転送モードから、トレース情報を送受信しない通常動作モードに移行する(ステップST29)。
【0075】
(作用効果)
本例によれば、
第1の例と同様の作用効果を得ることができる。また、本例によれば、第1コンピュータ2において逐次に行われるトレース情報の各取得動作に際して当該トレース情報を取得する容量を第2コンピュータ3のコマンド送受信部25からの容量設定コマンドによって任意に変更することができる。従って、第1コンピュータ2と第2コンピュータ3の間の通信環境の悪化が見込まれる場合などに、一時的に第1コンピュータ2から第2コンピュータ3へ送信するトレース情報部分の容量を変化させて、通信環境からの影響を低減させることができる。
【0076】
(
第3の例の変形例)
本例では、トレース情報記録部26は、逐次に受信するトレース情報部分の容量の合計が記録容量に達する毎に記録装置6にトレース情報ファイル7として逐次に記録しているが、第1コンピュータ2から逐次に受信するトレース情報部分をそれぞれ記録装置6に1つのトレース情報ファイル7として記録してもよい。また、トレース情報記録部26は、トレース情報部分を複数個纏めてトレース情報ファイル7として記録してもよい。
【0077】
また、各容量設定コマンドにより設定される設定容量をリングバッファ13のバッファ容量を超えるものとしてもよい。この場合には、
第2の例(実施例)のように、データポート制御部17にリングバッファ13とは異なる第2の一時記憶用バッファ20を備え、トレース情報部分送信部16にトレース情報複製部21とトレース情報取得部19を備え、トレース情報取得部19がトレース情報を一時記憶用バッファ20から逐次に取得してトレース情報部分とするようにすればよい。
【0078】
(
第4の例:参考例)
本例のトレース情報記録システムの概略ブロック図は
第1の例のトレース情報記録システム1の概略ブロック図である
図1と同一である。すなわち、本例のトレース情報記録システム1Cは、第1コンピュータ2と、この第1コンピュータ2に通信可能に接続された第2コンピュータ3を備えている。第1コンピュータ2はトレース情報書き出し部11とトレース情報取得送信部12を備えている。トレース情報取得送信部12は第1コンピュータ2でトレース情報送信プログラムを動作させることにより機能している。第2コンピュータ3はコマンド送受信部25およびトレース情報記録部26を備えている。コマンド送受信部25およびトレース情報記録部26は第2コンピュータ3でトレース情報記録プログラムを動作させることにより機能している。なお、本例のトレース情報記録システム1は、
第1の例のトレース情報記録システム1と同様の構成を備えているので、対応する構成に同一の符号を付してその説明を省略する。
【0079】
本例において、第1コンピュータ2のトレース情報取得送信部12は、トレース情報を予め定めた設定周期で逐次に取得したトレース情報部分を第2コンピュータ3に送信する。トレース情報取得送信部12は、コマンドシーケンス格納部15、トレース情報部分送信部16、データポート制御部17およびコマンドポート18を備えている。
【0080】
トレース情報部分送信部16はトレース情報取得部19を備えている。トレース情報取得部19はトレーサ動作部14によってリングバッファ(一時記憶用バッファ)13に逐次に書き出されるトレース情報を設定周期で逐次にリングバッファ13から取得してトレース情報部分とする。設定周期は第2コンピュータ3からコマンドポート18を介して周期設定コマンドを受信することにより設定される。
【0081】
データポート制御部17は、コマンドシーケンス格納部15からトレース情報部分の送信が指示された場合、トレース情報部分を第2コンピュータ3に送信する。本例では、コマンドシーケンス格納部15からのトレース情報送信の指示は設定周期で行われる。ここで、データポート制御部17はリングバッファ13を監視しており、設定周期に対応する期間内にリングバッファ13に書き出されるトレース情報の容量がリングバッファ13のバッファ容量を超える場合には、トレース情報の容量がバッファ容量と一致した時点でリングバッファ13に書き出されているトレース情報の全体を取得してトレース情報部分とし、設定周期にかかわらず第2コンピュータ3に送信する。
【0082】
第2コンピュータ3のコマンド送受信部25は、周期設定コマンドを第1コンピュータ2に送信することにより、第1コンピュータ2のトレース情報取得部19がトレース情報を逐次に取得して送信する周期を設定周期に設定する。設定周期は周期設定コマンドのパラメータにより柔軟に設定することができる。
【0083】
周期設定コマンドは、第1コンピュータ2にトレース情報部分の転送開始を指示する転送開始コマンドを兼ねている。従って、第1コンピュータ2が第2コンピュータ3からの周期設定コマンドを受信すると、トレース情報取得送信部12は、第2コンピュータ3にトレース情報の転送開始の通知を行い、トレース情報の取得とトレース情報部分の第2コンピュータ3への送信を開始する。また、コマンド送受信部25は、転送終了コマンドを第1コンピュータ2に送信することにより、第1コンピュータ2によるトレース情報の第2コンピュータ3への転送を終了させる。
【0084】
トレース情報記録部26は、第1コンピュータ2から逐次にトレース情報部分を受信すると、逐次に受信するトレース情報部分の容量の合計が予め定めた記録容量に達する毎に記録装置6に1つのトレース情報ファイル7として記録する。本例では、記録容量をS2
バイトとしている。
【0085】
(トレース情報の転送記録動作)
図6を参照して、トレース情報記録システム1Cにおけるトレース情報の転送記録動作を説明する。
図6は本例のトレース情報記録システム1Cにおけるトレース情報の転送記録動作の説明図である。転送記録動作を開始する際には、まず、第2コンピュータ3から第1コンピュータ2に周期設定コマンドが送信される(ステップST31)。本例では、周期設定コマンドは、設定周期をt1秒に設定するものである。
【0086】
第1コンピュータ2が周期設定コマンドを受信すると、第1コンピュータ2では、トレース情報取得送信部12が動作する。これにより、第1コンピュータ2と第2コンピュータ3はトレース情報を送受信する転送モードに移行する(ステップST32)。次に、周期設定コマンドへの返信としてトレース情報取得送信部12から第2コンピュータ3に転送開始の通知が行われる(ステップST33)。その後、トレース情報取得送信部12は、トレース情報を周期設定コマンドにより設定された設定周期でリングバッファ13から取得したトレース情報部分を第2コンピュータ3に送信する(ステップST34)。
【0087】
ここで、設定周期に対応する期間(t1秒)内にリングバッファ13に書き出されるトレース情報の容量がリングバッファ13のバッファ容量を超える場合には、トレース情報取得送信部12は、トレース情報の容量がバッファ容量と一致した時点でリングバッファ13に書き出されているトレース情報の全体をトレース情報部分とし、設定周期にかかわらず、このトレース情報部分を第2コンピュータ3に送信する(ステップST35)。本例では、ステップST35において、前回トレース情報部分を送信した時点からt0秒経過した時点で次のトレース情報部分が送信されている。t0秒はt1秒よりも短い時間である。
【0088】
その後に、設定周期に対応する期間(t1秒)内にリングバッファ13に書き出されるトレース情報の容量がリングバッファ13のバッファ容量以下となる場合には、トレース情報取得送信部12は設定周期(t1秒)でリングバッファ13から取得してトレース情報部分として第2コンピュータ3に送信する(ステップST34)
【0089】
ここで、第2コンピュータ3のトレース情報記録部26は、逐次に受信するトレース情報部分の容量の合計が記録容量のS2バイトに達する毎に記録装置6に1つのトレース情報ファイル7として記録する(ステップST36)。すなわち、トレース情報記録部26はS2バイトの容量のトレース情報ファイル7を記録装置6に逐次に作成する。
【0090】
その後、第2コンピュータ3から転送終了コマンドが送信され、第1コンピュータ2がこの転送終了コマンドを受信すると(ステップST37)、第1コンピュータ2と第2コンピュータ3はトレース情報を送受信する転送モードから、トレース情報を送受信しない通常動作モードに移行する(ステップST38)。
【0091】
(作用効果)
本例によれば、
第1の例と同様の作用効果を得ることができる。また、本例によれば、設定周期により、トレース情報の取得およびトレース情報部分の送信によりCPUの能力が消費されるタイミングを管理することができる。また、トレース情報部分が定期的に送信されることにより、第2コンピュータ3の側で定期的にトレース情報ファイル7を作成することが可能となる。従って、第1コンピュータ2におけるOSの稼働状況を定期的に監視し、デバッグすることが可能となる。
【0092】
ここで、トレーサ動作部14によってリングバッファ13に書き出されるトレース情報
の単位時間当たりの容量は、OSの稼働状況によって変化する。また、トレース情報はリングバッファ13に書き出されているので、トレース情報の容量がバッファ容量を超えた場合には、バッファ容量を超える容量分が逐次に消失してしまう。このような問題に対して、本例では、トレース情報取得送信部12は、設定周期に対応する期間内にリングバッファ13に書き出されるトレース情報の容量が当該リングバッファ13のバッファ容量以下の場合には、トレース情報をリングバッファ13から逐次に取得してトレース情報部分として設定周期で送信し、設定周期に対応する期間内にリングバッファ13に書き出されるトレース情報の容量が当該一時記憶用バッファのバッファ容量を超える場合には、トレース情報取得送信部12は、設定周期に拘わらずトレース情報を取得してトレース情報部分とし第2コンピュータに送信している。従って、トレース情報を喪失させてしまうことがない。
【0093】
(
第4の例の変形例:参考
例)
本例では、トレース情報記録部26は、逐次に受信するトレース情報部分の容量の合計が記録容量に達する毎に記録装置6にトレース情報ファイル7として逐次に記録しているが、第1コンピュータ2から逐次に受信するトレース情報部分をそれぞれ記録装置6に1つのトレース情報ファイル7として記録してもよい。また、トレース情報記録部26は、トレース情報部分を複数個纏めてトレース情報ファイル7として記録してもよい。
【0094】
また、実施例2のように、データポート制御部17に一時記憶用バッファ(リングバッファ13とは異なる第2の一時記憶用バッファ)20を備え、トレース情報部分送信部16にトレース情報複製部21とトレース情報取得部19を備え、トレース情報取得部19がトレース情報を一時記憶用バッファ20から設定周期で逐次に取得してトレース情報部分とするように構成することもできる。すなわち、第1コンピュータ2は、リングバッファ13のバッファ容量よりも大きい容量で制御部4のメモリに設定された一時記憶用バッファ20と、トレース情報を時系列に沿って逐次に一時記憶用バッファから第2の一時記憶用バッファに複製するトレース情報複製部21と、を有し、トレース情報取得送信部12は、一時記憶用バッファ20に複製されたトレース情報を設定周期で時系列に沿って逐次に取得してトレース情報部分とすることができる。この場合には、設定周期を、リングバッファ13のバッファ容量を考慮することなく設定することが可能となる。ここで、トレース情報の取得およびトレース情報部分の送信に際して第1コンピュータ2のCPUが消費する能力は、トレース情報を取得する容量とトレース情報部分を送信する頻度のトレードオフとなるので、設定周期をリングバッファ13のバッファ容量にかかわらず柔軟に設定できれば、トレース情報の取得およびトレース情報部分の送信にかかる第1コンピュータ2のCPUの能力の消費を抑制することが容易となる。
【0095】
なお、設定周期に対応する期間中に一時記憶用バッファ20に複製されるトレース情報の容量が一時記憶用バッファ20のバッファ容量を超える場合には、トレース情報取得送信部12は、設定周期に拘わらずトレース情報を取得してトレース情報部分とし第2コンピュータに送信して、トレース情報の喪失を回避すればよい。
【0096】
(
第5の例:参考例)
図7は本発明を適用した
第5の例のトレース情報記録システムの概略ブロック図である。
図7に示すように、トレース情報記録システム1Dは、第1コンピュータ2と、この第1コンピュータ2に通信可能に接続された第2コンピュータ3を備えている。第1コンピュータ2は制御部4にトレース情報書き出し部11とトレース情報取得送信部12を備えている。トレース情報取得送信部12は第1コンピュータ2でトレース情報送信プログラムを動作させることにより機能している。第2コンピュータ3は制御部5にコマンド送受信部25およびトレース情報記録部26を備えている。コマンド送受信部25およびトレース情報記録部26は第2コンピュータ3でトレース情報記録プログラムを動作させることにより機能している。なお、本例のトレース情報記録システム1は、
第1の例のトレース情報記録システム1と同様の構成を備えているので、対応する構成に同一の符号を付してその説明を省略する。
【0097】
本例において第1コンピュータ2のトレース情報取得送信部12は、トレース情報を予め定めた設定容量毎に逐次に取得したトレース情報部分を第2コンピュータ3に送信する。トレース情報取得送信部12は、コマンドシーケンス格納部15、トレース情報部分送信部16、データポート制御部17およびコマンドポート18を備えている。
【0098】
トレース情報部分送信部16はトレース情報取得部19を備えている。トレース情報取得部19はトレーサ動作部14によってリングバッファ(一時記憶用バッファ)13に逐次に書き出されるトレース情報を設定容量で逐次にリングバッファ13から取得してトレース情報部分とする。設定容量は第2コンピュータ3からコマンドポート18を介して容量設定コマンドを受信することにより設定される。
【0099】
データポート制御部17は、コマンドシーケンス格納部15からトレース情報部分の送信が指示された場合、トレース情報部分を第2コンピュータ3に送信する。コマンドシーケンス格納部15はトレース情報取得部19がリングバッファ13からトレース情報を取得してトレース情報部分とする毎にデータポート制御部17にトレース情報部分の送信を指示する。
【0100】
また、トレース情報取得送信部12は、暗号化鍵交換部23およびトレース情報部分暗号化部24を備えている。暗号化鍵交換部23は、第2コンピュータ3との間で事前に暗号化鍵を確定する。トレース情報部分暗号化部24は暗号化鍵によってトレース情報部分を暗号化する。トレース情報部分暗号化部24は、コマンドシーケンス格納部15からトレース情報部分の送信が指示されると、暗号化鍵交換部23により確定された暗号化鍵を用いてこのトレース情報部分を暗号化し、しかる後に、暗号化された状態のトレース情報部分を送信する。
【0101】
第2コンピュータ3のトレース情報記録部26は、第1コンピュータ2から逐次の送信されてくるトレース情報部分を受信すると、各トレース情報部分を記録装置6に1つのトレース情報ファイル7として逐次に記録する。本例では、暗号化された状態で第1コンピュータ2から送信されてくるトレース情報部分を、暗号化されたままの状態でトレース情報ファイル7として記録する。
【0102】
コマンド送受信部25は、第1コンピュータ2との間でコマンドの送受信を行う。また、コマンド送受信部25は、容量設定コマンドを第1コンピュータ2に送信することにより、第1コンピュータ2のトレース情報取得部19がトレース情報を逐次に取得する容量を設定容量に設定する。設定容量は容量設定コマンドのパラメータにより柔軟に設定することができる。本例では、パラメータとして設定容量をリングバッファ13のバッファ容量以下の値に設定するものが選択される。ここで、容量設定コマンドは第1コンピュータ2にトレース情報部分の転送開始を指示する転送開始コマンドを兼ねている。従って、第1コンピュータ2が第2コンピュータ3からの容量設定コマンドを受信すると、トレース情報取得送信部12は、第2コンピュータ3にトレース情報の転送開始の通知を行い、トレース情報の取得とトレース情報部分の第2コンピュータ3への転送を開始する。また、コマンド送受信部25は、転送終了コマンドを第1コンピュータ2に送信することにより、第1コンピュータ2によるトレース情報の第2コンピュータ3への転送を終了させる。
【0103】
また、コマンド送受信部25は、データ復号化鍵交換部28、復号化鍵逐次記録部29、および、復号化鍵同期部30を備えている。データ復号化鍵交換部28は、第1コンピ
ュータ2の暗号化鍵交換部23との間で事前にコマンドの送受信を行い、第1コンピュータ2から暗号化された状態で逐次に送信されてくるトレース情報部分を復号化するための復号化鍵を確定する。復号化鍵逐次記録部29は、トレース情報記録部26が各トレース情報部分をトレース情報ファイル7として記録する際に、記録されるトレース情報部分に対応する復号化鍵をトレース情報ファイル7と対応付けた形態で記録装置6に記録する。復号化鍵同期部30は、記録されるトレース情報部分と復号化鍵を対応付けるために、トレース情報記録部26と復号化鍵逐次記録部29を同期させる。
【0104】
(トレース情報の転送記録動作)
図8を参照して、トレース情報記録システム1Dにおけるトレース情報の転送記録動作を説明する。
図8は本例のトレース情報記録システム1Dにおけるトレース情報の転送記録動作の説明図である。転送記録動作を開始する際には、まず、第2コンピュータ3から第1コンピュータ2に容量設定コマンドが送信される(ステップST41)。本例では、容量設定コマンドは、設定容量をN4バイトに設定するものである。
【0105】
第1コンピュータ2が容量設定コマンドを受信すると、第1コンピュータ2では、トレース情報取得送信部12が動作する。これにより、第1コンピュータ2と第2コンピュータ3はトレース情報を送受信する転送モードに移行する(ステップST42)。次に、容量設定コマンドへの返信としてトレース情報取得送信部12から第2コンピュータ3に転送開始の通知が行われる(ステップST43)。
【0106】
その後、第1コンピュータ2の暗号化鍵交換部23と第2コンピュータ3のデータ復号化鍵交換部28の間で暗号化鍵および復号化鍵の確定が行われる(ステップST44)。しかる後に、トレース情報取得送信部12は、トレース情報を周期設定コマンドにより設定された設定容量のN4バイト毎にリングバッファ13から取得してトレース情報部分とする。また、トレース情報取得送信部12は、このトレース情報部分を暗号化鍵で暗号化して第2コンピュータ3に送信する(ステップST45)。
【0107】
ここで、第2コンピュータ3のトレース情報記録部26は、逐次に受信する暗号化されたトレース情報部分を、そのまま記録装置6に1つのトレース情報ファイル7として記録する。また、復号化鍵逐次記録部29は、トレース情報ファイル7の記録と同期してトレース情報ファイル7に記録されたトレース情報部分を復号するための復号化鍵を記録装置6に記録する(ステップST46)。
【0108】
その後は、第2コンピュータ3から転送終了コマンドが送信されるまで(ステップST47)、ステップST44、ステップST45およびステップST46が繰り返される。ここで、第1コンピュータ2がこの転送終了コマンドを受信すると、第1コンピュータ2と第2コンピュータ3はトレース情報を送受信する転送モードから、トレース情報を送受信しない通常動作モードに移行する(ステップST48)。
【0109】
(作用効果)
本例によれば、
第1の例と同様の作用効果を得ることができる。また、本例によれば、トレース情報部分は暗号化された状態で第1コンピュータ2から第2コンピュータ3に送信され、暗号化された状態のままで第2コンピュータ3の記録装置6に記録される。従って、第1コンピュータ2から外部に転送されるトレース情報を秘匿した状態に維持できる。また、トレース情報ファイル7の記録と同期して復号化鍵が記録装置6に記録されているので、必要な時に、復号化鍵を用いてトレース情報部分を復号して利用できる。
【0110】
(
第5の例の変形例
:参考例)
トレース情報記録システム1A〜1Cのそれぞれにおいて、第1コンピュータ2のトレース情報取得送信部12に暗号化鍵交換部23およびトレース情報部分暗号化部24を備え、第2コンピュータ3のコマンド送受信部25に、データ復号化鍵交換部28、復号化鍵逐次記録部29、および、復号化鍵同期部30を備え、トレース情報部分を暗号化した状態で転送するように構成してもよい。
【0111】
また、本例では、トレース情報記録部26は、第1コンピュータ2から送信される各トレース情報部分をそのままトレース情報ファイル7としているが、トレース情報記録部26は、トレース情報部分を複数個纏めてトレース情報ファイル7として記録してもよい。また、トレース情報記録部26は、逐次に受信するトレース情報部分の容量の合計が予め定めた記録容量に達する毎に記録装置6にトレース情報ファイル7として逐次に記録してもよい。これらの場合には、トレース情報記録部26は、暗号化されているトレース情報部分を受信する毎に復号化鍵を用いて復号し、復号されたトレース情報部分を用いてトレース記録ファイルを生成すればよい。
【0112】
(その他
の形態)
なお、トレース情報記録システム1、1A〜1Dのそれぞれの第2コンピュータ3のトレース情報記録部26は、トレース情報部分をトレース情報部分毎に記録装置にファイルとして逐次に記録するか、トレース情報部分を予め設定した複数個毎に纏めて記録装置にファイルとして逐次に記録するか、または、トレース情報部分を、逐次に受信するトレース情報部分の容量の合計が予め定めた記録容量に達する毎に記録装置にファイルとして逐次に記録するものである。これに対して、トレース情報記録部26が、トレース情報部分をトレース情報部分毎に記録装置にファイルとして逐次に記録する第1トレース情報記録部、トレース情報部分を予め設定した複数個毎に纏めて記録装置にファイルとして逐次に記録する第2トレース情報記録部、および、トレース情報部分を、逐次に受信するトレース情報部分の容量の合計が予め定めた記録容量に達する毎に記録装置にファイルとして逐次に記録する第3トレース情報記録部を備えており、これら第1トレース情報記録部、第2トレース情報記録部または第3トレース情報記録部を選択的に機能させるものとすることもできる。
【0113】
また、トレース情報記録システム1、1A〜1Cのそれぞれの第2コンピュータ3に、記録装置6に記録されたトレース情報ファイル7を当該第2コンピュータ3に接続されたディスプレイに逐次に表示するトレース情報可視化部を備えることができる。第2コンピュータ3ではトレース情報がトレース情報ファイル7として逐次に記録されているので、トレース情報可視化部は、トレース期間の終了を待つことなく、トレース情報を可視化できる。
【0114】
さらに、トレース情報記録システム1、1A〜1Cのそれぞれの第2コンピュータ3に、記録装置6に記録されたトレース情報ファイル7を逐次に解析して動作情況の異常などを検出し、検出結果を記録装置6にファイルとして出力するトレース情報解析部を備えることができる。第2コンピュータ3ではトレース情報がトレース情報ファイル7として逐次に記録されているので、トレース情報解析部は、トレース期間の終了を待つことなく、トレース情報を解析できる。