【手続補正書】
【提出日】平成18年4月3日(2006.4.3)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】  所定の処理を行う関数を備えるプログラムの実行中のログを取得するログ取得方法であって、
前記プログラム実行時に呼び出されるオペレーティングシステム内の関数のうち、指定された関数を識別する工程と、
ロードされた前記所定の処理を行う関数のアドレスと前記指定されたオペレーティングシステム内の関数のアドレスとを、ログ取得のための関数のアドレスに書き換える工程と、を備え、
前記ログ取得のための関数は、
前記所定の処理を行う関数および前記指定されたオペレーティングシステム内の関数を呼び出し、該所定の処理を実行させ、受け取った実行結果を前記プログラムに渡す工程と、
前記所定の処理を行う関数および前記指定されたオペレーティングシステム内の関数を呼び出す際の所定の情報を記録する工程と、
前記実行結果を受け取った際の所定の情報を記録する工程と
を備えることを特徴とするログ取得方法。
【請求項２】  前記所定の処理を行う関数および前記指定されたオペレーティングシステム内の関数を呼び出す際の所定の情報は、少なくとも、呼び出された関数の関数名、呼び出す際の時刻、呼び出す際のパラメータ、または呼び出す際のポインタ・パラメータの指すメモリ内容のいずれかを備えることを特徴とする請求項１に記載のログ取得方法。
【請求項３】  前記実行結果を受け取った際の所定の情報は、少なくとも、受け取った際の時刻、受け取った際のパラメータ、受け取った際の戻り値、または受け取った際のポインタ・パラメータの指すメモリ内容のいずれかを備えることを特徴とする請求項１に記載のログ取得方法。
【請求項４】  前記所定の処理を行う関数のアドレスは、該関数を提供するダイナミックリンクライブラリごとに、インポート関数アドレステーブルに記載されていることを特徴とする請求項１に記載のログ取得方法。
【請求項５】  前記所定の処理を行う関数のアドレスのうち、前記ログ取得のための関数のアドレスに書き換えるアドレスを選択する工程を更に備え、
前記書き換える工程は、前記選択する工程により選択された関数のアドレスを書き換えることを特徴とする請求項１に記載のログ取得方法。
【請求項６】  所定の１または複数のモジュールを定義する工程と、前記関数の呼び出しが当該定義したモジュールを経由したか否かを判別する工程とを更に備え、当該定義されたモジュールを経由した場合には、当該関数を呼び出す際の前記所定の情報を記録対象から除外することを特徴とする請求項１に記載のログ取得方法。
【請求項７】  オペレーティング・システムに含まれる所定の１または複数のモジュールを定義する工程と、前記関数の呼び出しが経由したモジュールを判別する工程とを更に備え、当該定義されたモジュール以外のオペレーティング・システムに含まれるモジュールを経由した場合には、当該関数を呼び出す際の前記所定の情報を記録対象から除外することを特徴とする請求項１に記載のログ取得方法。
【請求項８】  前記所定の情報が構造体である場合に、当該構造体が置かれたメモリ領域の先頭から当該構造体のサイズ分だけ後のメモリ領域に格納されている情報を、当該構造体に指定されたサイズに応じて記録することを特徴とする請求項１に記載のログ取得方法。
【請求項９】  前記所定の情報が構造体である場合に、当該構造体が置かれたメモリ領域の先頭から当該構造体に対して指定されたオフセットより後のメモリ領域に格納されている情報を、定義されたデータ型のデータとして記録することを特徴とする請求項１に記載のログ取得方法。
【請求項１０】  何れのモジュールの何れの関数の所定の情報の何れがオブジェクトの情報を表わし、何れがオブジェクトのクラスＩＤを表わすかを定義しておき、関数の呼び出しにおいて、オブジェクトのクラスＩＤに基づいて、その関数の所定の情報に格納されたオブジェクトの情報を記録することを特徴とする請求項１に記載のログ取得方法。
【請求項１１】  何れのモジュールの何れの関数の所定の情報の何れがオブジェクトの情報を表わし、何れがオブジェクトのインターフェースＩＤを表わすかを定義しておき、関数の呼び出しにおいて、オブジェクトのインターフェースＩＤに基づいて、その関数の所定の情報に格納されたオブジェクトの情報を記録することを特徴とする請求項１に記載のログ取得方法。
【請求項１２】  ライブラリまたは各インタフェースに対するモジュール名の追加定義を用意しておき、関数を呼び出す際に、当該追加定義を参照してモジュール名を記録することを特徴とする請求項１に記載のログ取得方法。
【請求項１３】  所定の処理を行う関数を備えるプログラムの実行中のログを取得するログ取得方法であって、
前記所定の処理を行う関数がロードされた場合のアドレスから所定のオフセットを有する領域であって、指定された領域を識別する工程と、
前記ロードされた前記所定の処理を行う関数のアドレスを、ログ取得のための関数のアドレスに書き換える工程と、を備え、
前記ログ取得のための関数は、
前記所定の処理を行う関数を呼び出し、該所定の処理を実行させ、受け取った実行結果を前記プログラムに渡す工程と、
前記所定の処理を行う関数を呼び出す際の所定の情報を記録する工程と、
前記実行結果を受け取った際の所定の情報を記録する工程と、
前記指定された領域のデータを読み出して記録する工程と
を備えることを特徴とするログ取得方法。
【請求項１４】  所定の処理を行う第１の関数を備えるプログラムの実行中のログを取得するログ取得方法であって、
前記プログラム実行時に該プログラムの実行ファイルから直接呼び出された前記第１の関数によってのみ呼び出される第２の関数のうち、指定された第２の関数を識別する工程と、
前記第１の関数によって呼び出されることでロードされる前記指定された第２の関数のアドレスを、ログ取得のための関数のアドレスに書き換える工程と、を備え、
前記ログ取得のための関数は、
前記指定された第２の関数を呼び出し、該所定の処理を実行させ、実行結果を受け取る工程と、
前記指定された第２の関数を呼び出す際の所定の情報を記録する工程と、
前記実行結果を受け取った際の所定の情報を記録する工程と
を備えることを特徴とするログ取得方法。
【請求項１５】  所定の処理を行う第１の関数を備えるプログラムの実行中のログを取得するログ取得方法であって、
前記プログラム実行時に、該プログラムの実行ファイルから直接呼び出された前記第１の関数によってのみ呼び出される第２の関数に設定されたＩＤを識別する工程と、
前記第１の関数によって呼び出されることでロードされる前記ＩＤが設定された第２の関数のアドレスを、ログ取得のための関数のアドレスに書き換える工程と、を備え、
前記ログ取得のための関数は、
前記ＩＤが設定された第２の関数を呼び出し、該所定の処理を実行させ、実行結果を受け取る工程と、
前記ＩＤが設定された第２の関数を呼び出す際の所定の情報を、前記設定されたＩＤとともに記録する工程と、
前記実行結果を受け取った際の所定の情報を、前記設定されたＩＤとともに記録する工程と
を備えることを特徴とするログ取得方法。
【請求項１６】  所定の処理を行うメソッドを備えるプログラムの実行中のログを取得するログ取得方法であって、
前記プログラム実行時に呼び出されるオペレーティングシステム内のメソッドのうち、指定されたメソッドを識別する工程と、
ロードされた前記所定の処理を行うメソッドのアドレスと前記指定されたオペレーティングシステム内のメソッドのアドレスとを、ログ取得のためのメソッドのアドレスに書き換える工程と、を備え、
前記ログ取得のためのメソッドは、
前記所定の処理を行うメソッドおよび前記指定されたオペレーティングシステム内のメソッドを呼び出し、該所定の処理を実行させ、受け取った実行結果を前記プログラムに渡す工程と、
前記所定の処理を行うメソッドおよび前記指定されたオペレーティングシステム内のメソッドを呼び出す際の所定の情報を記録する工程と、
前記実行結果を受け取った際の所定の情報を記録する工程と
を備えることを特徴とするログ取得方法。
【請求項１７】  前記所定の処理を行うメソッドおよび前記指定されたオペレーティングシステム内のメソッドを呼び出す際の所定の情報は、少なくとも、呼び出されたメソッドのメソッド名、呼び出す際の時刻、呼び出す際のパラメータ、または呼び出す際のポインタ・パラメータの指すメモリ内容のいずれかを備えることを特徴とする請求項１６に記載のログ取得方法。
【請求項１８】  前記実行結果を受け取った際の所定の情報は、少なくとも、受け取った際の時刻、受け取った際のパラメータ、受け取った際の戻り値、または受け取った際のポインタ・パラメータの指すメモリ内容のいずれかを備えることを特徴とする請求項１６に記載のログ取得方法。
【請求項１９】  前記所定の処理を行うメソッドのアドレスは、該メソッドを提供するインターフェースごとに、仮想アドレステーブルに記載されていることを特徴とする請求項１６に記載のログ取得方法。
【請求項２０】  前記所定の処理を行うメソッドのアドレスのうち、前記ログ取得のためのメソッドのアドレスに書き換えるアドレスを選択する工程を更に備え、
前記書き換える工程は、前記選択する工程により選択されたメソッドのアドレスを書き換えることを特徴とする請求項１６に記載のログ取得方法。
【請求項２１】  所定の処理を行うメソッドを備えるプログラムの実行中のログを取得するログ取得方法であって、
前記所定の処理を行うメソッドがロードされた場合のアドレスから所定のオフセットを有する領域であって、指定された領域を識別する工程と、
前記ロードされた前記所定の処理を行うメソッドのアドレスを、ログ取得のためのメソッドのアドレスに書き換える工程と、を備え、
前記ログ取得のためのメソッドは、
前記所定の処理を行うメソッドを呼び出し、該所定の処理を実行させ、受け取った実行結果を前記プログラムに渡す工程と、
前記所定の処理を行うメソッドを呼び出す際の所定の情報を記録する工程と、
前記実行結果を受け取った際の所定の情報を記録する工程と、
前記指定された領域のデータを読み出して記録する工程と
を備えることを特徴とするログ取得方法。
【請求項２２】  所定の処理を行う第１のメソッドを備えるプログラムの実行中のログを取得するログ取得方法であって、
前記プログラム実行時に該プログラムの実行ファイルから直接呼び出された前記第１のメソッドによってのみ呼び出される第２のメソッドのうち、指定された第２のメソッドを識別する工程と、
前記第１のメソッドによって呼び出されることでロードされる前記指定された第２のメソッドのアドレスを、ログ取得のためのメソッドのアドレスに書き換える工程と、を備え、
前記ログ取得のためのメソッドは、
前記指定された第２のメソッドを呼び出し、該所定の処理を実行させ、実行結果を受け取る工程と、
前記指定された第２のメソッドを呼び出す際の所定の情報を記録する工程と、
前記実行結果を受け取った際の所定の情報を記録する工程と
を備えることを特徴とするログ取得方法。
【請求項２３】  所定の処理を行う第１のメソッドを備えるプログラムの実行中のログを取得するログ取得方法であって、
前記プログラム実行時に、該プログラムの実行ファイルから直接呼び出された前記第１のメソッドによってのみ呼び出される第２のメソッドに設定されたＩＤを識別する工程と、
前記第１のメソッドによって呼び出されることでロードされる前記ＩＤが設定された第２のメソッドのアドレスを、ログ取得のためのメソッドのアドレスに書き換える工程と、を備え、
前記ログ取得のためのメソッドは、
前記ＩＤが設定された第２のメソッドを呼び出し、該所定の処理を実行させ、実行結果を受け取る工程と、
前記ＩＤが設定された第２のメソッドを呼び出す際の所定の情報を、前記設定されたＩＤとともに記録する工程と、
前記実行結果を受け取った際の所定の情報を、前記設定されたＩＤとともに記録する工程と
を備えることを特徴とするログ取得方法。
【請求項２４】  請求項１乃至２３のいずれか１つに記載のログ取得方法をコンピュータによって実現させるための制御プログラム。
【請求項２５】  請求項２４に記載の制御プログラムを格納した記憶媒体。