JP2006172204A - 情報処理装置、情報処理方法、コンピュータプログラム及び記憶媒体 - Google Patents

情報処理装置、情報処理方法、コンピュータプログラム及び記憶媒体 Download PDF

Info

Publication number
JP2006172204A
JP2006172204A JP2004364781A JP2004364781A JP2006172204A JP 2006172204 A JP2006172204 A JP 2006172204A JP 2004364781 A JP2004364781 A JP 2004364781A JP 2004364781 A JP2004364781 A JP 2004364781A JP 2006172204 A JP2006172204 A JP 2006172204A
Authority
JP
Japan
Prior art keywords
module
information processing
function
log acquisition
dll
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004364781A
Other languages
English (en)
Other versions
JP2006172204A5 (ja
Inventor
Makoto Mihara
誠 三原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2004364781A priority Critical patent/JP2006172204A/ja
Priority to US11/298,842 priority patent/US7519868B2/en
Publication of JP2006172204A publication Critical patent/JP2006172204A/ja
Publication of JP2006172204A5 publication Critical patent/JP2006172204A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】ログ取得対象アプリケーションが検出した、ログ取得ソフトウェアでの初期化処理の種別に対応した初期化を可能とする。
【解決手段】第3のモジュールは、第1のモジュールから第2のモジュール内の初期化処理に関する前記関数の呼び出しを検出し、初期化処理に関する関数についての初期化処理の動作状態を識別するためのパラメータを取得し、本パラメータに基づいて、前記初期化処理の動作状態を判定する。判定の結果に基づく動作状態で、前記初期化処理に関する関数を実行させ、実行の結果を前記第1のモジュールへ通知する。
【選択図】図11

Description

本発明は、情報処理装置、情報処理方法、コンピュータプログラム及び記憶媒体に関する。
再現率の低いソフトウェアの障害に対しては、ソフトウェアの処理ログを取得することによって対処している場合が多いが、従来、処理ログの取得はアプリケーションソフトウェアのモジュール自体に手を加えて、処理ログ取得ルーチンを追加することによって行なわれている。しかし、ログ取得コードを埋め込む等のアプリケーションソフトウェアの修正を必要とする上記の方式では、修正処理が煩雑化する。
そこで、複数にモジュール分けされているソフトウェアにおいて、アプリケーションソフトウェアに相当するモジュールから別のモジュール内に存在する関数への呼び出しを仲介し、当該呼び出しに応じた別モジュールにおける処理のログを取得するログ取得用モジュールを提供することにより、アプリケーションソフトウェア自体の煩雑な修正を行わずとも、処理ログを取得可能とする方法が提案されている(特許文献1参照)。
ここで所定のアプリケーション(ログ取得対象アプリケーション)における処理のログを取得するためのログ取得ソフトウェアは、ログ取得対象アプリケーションの関数の情報を定義するための情報設定ファイルを解析するために、初期化処理が必要である。この初期化処理は、シングルスレッド又はマルチスレッドのいずれか動作状態に対応している。
ログ取得ソフトウェアの初期化処理に併せてログ取得対象アプリケーションでも同様の初期化処理を行なおうとする場合、ログ取得ソフトウェアの初期化処理が先になされているため、ログ取得対象アプリケーションでの初期化処理が失敗する場合がある。初期化処理の失敗を防止するには、ログ取得対象アプリケーションが行なう初期化処理がシングルスレッド又はマルチスレッドのどちらの動作状態に対応した初期化を行なっているかをログ取得ソフトウェアに設定しておくとともに、ログ取得ソフトウェアで設定内容と同様の初期化処理を行なう必要がある。
特開2004−38311号公報
ログ取得対象アプリケーションが行う初期化処理の設定をログ取得ソフトウェアに設定するためには、ログ取得対象アプリケーションの内部構造を、ログ取得を行おうとするユーザが知っている必要がある。しかしながら、そのような予備知識を必要とする設定処理はユーザにとって煩雑であるだけでなく、全てのユーザがログ取得対象アプリケーションの内部構造に関する十分な知識を有している訳ではないため、初期化処理の失敗を確実に防ぐことは困難である。
そこで、本発明では、ログ取得ソフトウェアでの初期化処理の種別をログ取得対象アプリケーションが検出し、検出した初期化処理に対応した初期化を可能とすることを目的とする。
上記課題を解決するために、本発明においては、第1のモジュールと、第2のモジュールと、前記第1のモジュールから前記第2のモジュール内の関数への呼び出しを仲介し、前記第2のモジュールにおける処理のログを取得するための第3のモジュールと、を実行する情報処理装置であって、前記第3のモジュールは、前記第1のモジュールから前記第2のモジュール内の初期化処理に関する前記関数の呼び出しを検出する検出手段と、前記呼び出しが検出された場合に、前記初期化処理に関する関数についての初期化処理の動作状態を識別するためのパラメータを取得するパラメータ取得手段と、取得した前記パラメータに基づいて、前記初期化処理の動作状態を判定する判定手段と、前記判定の結果に基づく動作状態において、前記初期化処理に関する関数を実行させる実行手段と、前記実行の結果を前記第1のモジュールへ通知する通知手段とを備える。
本発明によれば、ログ取得ソフトウェアでの初期化処理の種別をログ取得対象アプリケーションが検出し、検出した初期化処理に対応した初期化が可能となる。
以下、添付する図面を参照して本発明の実施形態を説明する。
図1は、本実施形態に対応する情報処理装置の構成の一例を示す図である。説明を簡略化するために、本実施形態では、情報処理システムが1台のPC内部に構築されるものとするが、本発明の特徴は1台のPC内部に構築されるか、あるいは複数のPCにネットワークシステムとして構築されるかによらず有効である。
本情報処理装置には、CPU1、チップセット2、RAM3、ハードディスクコントローラ4、ディスプレイコントローラ5、ハードディスクドライブ6、CD-ROMドライブ7、ディスプレイ8が搭載されている。また、CPU1とチップセット2とを繋ぐ信号線11、チップセット2とRAM3とを繋ぐ信号線12、チップセット2と各種周辺機器4、5とを繋ぐ周辺機器バス13、ハードディスクコントローラ4とハードディスクドライブ6とを繋ぐ信号線14、ハードディスクコントローラ4とCD-ROMドライブ7とを繋ぐ信号線15、ディスプレイコントローラ5とディスプレイ8とを繋ぐ信号線16が搭載されている。
本実施形態に対応する情報処理装置を説明するために、まず図2を参照して、複数のモジュールに分かれたソフトウェアが、通常の状態でどのようにメモリにロードされるかを説明する。図2は、RAMの内部構成の一例を示す図である。
通常、複数のモジュールに分割されたソフトウェアは、全体の制御を行なう実行ファイルEXE(23)と、モジュールとして存在しEXEの補完的な役割を担うダイナミックリンクライブラリDLL(27)とに分かれて存在する。そして、RAM3にはEXEとDLLの両方がロードされる。EXEはコードセグメント(28)とデータセグメント(29)、及び、インポート関数アドレステーブル(22)で構成される。このうち、インポート関数アドレステーブルは、関数の所属するDLLによって更に分割されており(21及び24)、DLLごとにそれぞれの関数がロードされたアドレスが書かれている(30〜35)。
DLLの関数の実体は、DLLごとに分けて(25,26)ロードされ、それぞれの関数は該当するDLLの一部としてロードされる(36〜41)。この図では、1本のEXEがA.DLL及びB.DLLの2つのダイナミックリンクライブラリ内の関数を使用している例を示しており、実際に使用される関数はFunc AA, Func AB, Func AC, Func BA, Func BB, Func BCの6個となっている。
EXEのコードセグメント28内にあるコードが関数Func AAを呼び出す場合には、まずインポート関数アドレステーブル内に書かれたFunc AAのアドレス(30)が読み込まれる。ここには実際にはA.DLLの一部として読み込まれたFunc AAコード(36)のアドレスが書かれており、そのアドレスをコールすることによって、EXEのコードはA.DLLのFunc AAを呼び出すことができる。
次に、ログ取得用のコードとしてIAT Patch(Import Address Table Patch)という手法を用いて関数呼び出しを仲介する場合の、情報処理装置のメモリ構成の一例を図3を参照して説明する。
ログ取得が開始されると、メモリ内にはIAT Patch用のDLLであるC.DLL(58)がロードされる。C.DLLはインポート関数アドレステーブル(52)内に書かれた関数のアドレスを、C.DLL内のログ取得コードであるFunc CAA, Func CAB, Func CAC, Func CBA, Func CBB, Func CBCのアドレスに書き換える(61〜66)。C.DLL内のFunc CAA, Func CAB, Func CAC, Func CBA, Func CBB, Func CBCのコード(73〜78)は、ログを記録すると共に、元々関数呼び出しを受けるべくメモリにロードされている、該当する関数であるFunc AA, Func AB, Func AC, Func BA, Func BB, Func BC(67〜72)を呼び出す。
図4は、図3におけるIAT Patchの処理をあらわすタイミングチャートである。説明を簡略化するために、この図ではEXEがA.DLL内のFunc AAを呼び出す際に、IAT Patchによるログ取得コードがどのように動作するかの例をあらわしている。他の関数の場合についても同様の処理が行われることはいうまでもない。
EXE(91)がFunc AAをコールすると(94)、C.DLL内にあるログ取得コードがDLL名/関数名をメモリに保存し、呼び出し時刻をメモリに保存し、呼び出し時のパラメータをメモリに保存し、呼び出し時のポインタパラメータの指すメモリ内容を、メモリに保存する(95)。その後C.DLLは本来呼び出されるはずであった、A.DLL(93)内のFunc AAをコールする(96)。A.DLLのFunc AA処理(97)が終了し、C.DLLに制御がリターンすると(98)、C.DLLはリターン時の時刻をメモリに保存し、戻り値をメモリに保存し、リターン時にポインタパラメータが指すメモリ内容を、メモリに保存する(99)。その後、C.DLLは保存したログ情報をファイルに書き込み(100)、あたかもA.DLLのFunc AAが通常通りに終了したかのように、EXEにリターンする(101)。
図5は、本実施形態に対応する情報処理装置において実行形式ファイルEXEが実行される場合の動作の一例を示す図である。通常は実行形式のEXE(113)が、DLL-1(116)やDLL-2(117)内の関数を呼び出すが、ここではAPIトレーサと呼ばれるログ取得コードを埋め込み(114)、処理ログを生成している(115)。APIトレーサは、DLL-1やDLL-2の関数定義を記述したファイル(111)と、どのDLLのどの関数のインポート関数テーブルを書き換えてログを取得するかの設定シナリオ(112)を元に動作する。
図6は、本実施形態に対応する情報処理装置において、実行ファイルEXE(118)がCOM(Component Object Model:コンポーネント・オブジェクト・モデル)サーバでエクスポートされているインターフェースのインスタンスを作成する場合の、メモリ構成の一例を示す図である。
通常、インターフェースのインスタンス作成を行うと、COMサーバ内で、要求されたインターフェース(121, 122)と、そのメソッド(130〜135)が作成され、それらは共にメモリ上にロードされる。ここで、virtual address tableは作成された各インターフェース毎に作られ(118, 120)、作成要求を行ったEXEに渡される。このvirtual address tableには各メソッドについて作成されたアドレスが書かれている(124〜129)。EXEはこれら情報を利用し、各インターフェースに対して呼び出しを行う。図6では、1本のEXEがInterface A及びInterface Bの2つのインターフェースのインスタンスを作成しており、そのインターフェース内部のメソッドを使用している例を示しており、実際に使用されているメソッドは、Method AA, Method AB, Method AC, Method BA, Method BB, Method BCとなっている。
EXEのコードが関数Method AAを呼び出す場合には、まずvirtual address table内に書かれたMethod AAのアドレス(124)が読み込まれる。このアドレス(124)にはCOMサーバのInterface Aの一部として作成されたMethod AAコード(130)のアドレスが書かれており、そのアドレスをコールすることによって、EXEのコードはInterface AのMethod AAを呼び出すことができる。
図7は、本実施形態に対応する情報処理装置のメモリ構成をあらわす図であり、図6とは、ログ取得用のコードとしてVTable Patch(virtual address table Patch)という手法を用いて、メソッド呼び出しを仲介しているという点で異なっている。
ログ取得が開始されると、メモリ内にはVTable Patch用のDLL(143)がロードされる。このDLLはvirtual address table(136, 138)内に書かれたメソッドのアドレスを、DLL内のログ取得コードであるMethod A'A, Method A'B, Method A'C, Method B'A, Method B'B, Method B'Cのアドレスに書き換える(145〜150)。DLL内のMethod A'A, Method A'B, Method A'C, Method B'A, Method B'B, Method B'Cのコード(157〜162)は、ログを記録すると共に、元々のメソッド呼び出しを受けるべくメモリにロードされていたMethod AA, Method AB, Method AC, Method BA, Method BB, Method BC(157〜162)を呼び出す。
図8は、図7におけるVTable Patchの処理をあらわすタイミングチャートである。説明を簡略化するために、この図ではEXEがCOMサーバ内のInterface AのMethod AAを呼び出す際に、VTable Patchによるログ取得コードがどのように動作するかの例をあらわしている。他のメソッドの場合についても同様の処理が行われることはいうまでもない。
EXE(163)がMethod AAをコールすると(166)、DLL内にあるログ取得コードがモジュール名/インターフェース名/メソッド名をメモリに保存し、呼び出し時刻をメモリに保存し、呼び出し時のパラメータをメモリに保存し、呼び出し時のポインタパラメータの指すメモリ内容を、メモリに保存する(167)。その後DLLは本来呼び出されるはずであった、COMサーバ(165)内のMethod AAをコールする(168)。COMサーバのMethod AA処理(169)が終了し、DLLに制御がリターンすると(170)、DLLはリターン時の時刻をメモリに保存し、戻り値をメモリに保存し、リターン時にポインタパラメータが指すメモリ内容を、メモリに保存する(171)。その後、DLLは保存したログ情報をファイルに書き込み(172)、あたかもCOMサーバのMethod AAが通常通りに終了したかのように、EXEにリターンする(173)。
図9は、本実施形態に対応する情報処理装置において実行形式ファイルEXEが実行される場合の動作の一例を示す図である。通常は実行形式のEXE(176)が、COMサーバ-1(179)やCOMサーバ-2(180)内のメソッドを呼び出すが、ここではAPIトレーサと呼ばれるログ取得コードを埋め込み(177)、処理ログを生成している(178)。APIトレーサは、COMサーバ-1(179)やCOMサーバ-2の関数定義を記述したファイル(174)と、どのCOMサーバのどのインターフェースのどのメソッドのvirtual address tableを書き換えてログを取得するかの設定シナリオ(175)を元に動作する。
図10は、本実施形態に対応する情報処理装置において、ログ取得対象アプリケーションを起動し、ログ取得処理を開始する際の処理の一例を示すフローチャートである。
まず、ログ取得対象アプリケーションが起動される(S1001)と、IAT Patch用のDLLが対象アプリケーションにロードされる(S1002)。ロードされたDLLは対象アプリケーションのプロセス内でCOMをSingle Thread Apartment(STA)で初期化する(S1003)。初期化後にCOMのメソッドを使用して、関数定義ファイルであるType Libraryを読み込み(S1004)、設定に従ってログ取得準備処理をおこなう(S1005)。さらに、DLLは対象アプリケーションでCOMの初期化関数の呼び出しがなされたか否かを取得するための準備を行ない(S1006)、ログ取得対象アプリケーションを実行し(S1007)、ログの取得を開始する(S1008)。
このようにしてログ取得対象アプリケーションが起動され、ログの取得が開始されると、ログ取得対象アプリケーション側での初期化処理が行われることとなる。図11は、ログ取得対象アプリケーションがCOM初期化関数の呼び出しを行なった場合の処理の一例に対応するフローチャートである。
ログ取得対象アプリケーションでCOMの初期化処理が呼び出されると(S1101)、IAT Patch用のDLLへ処理が移り、COM初期化関数のスレッド初期化パラメータを取得する(S1102)。このスレッド初期化パラメータは、ログ取得対象アプリケーションにおける初期化処理が、シングルスレッド又はマルチスレッドのいずれの動作状態において実行されるかの情報を含んでいる。
DLLは起動時に初期化を行なったCOMの解放処理を行ない、プロセスのCOM初期化状態を無効にする(S1103)。更に、ステップS1102において取得したスレッド初期化パラメータに基づいて、取得対象アプリケーションにおける初期化処理が、シングルスレッド(STA:Single Thread Apartment)かマルチスレッド(MTA:Multi Thread Apartment)のいずれの動作状態において実行されるかを判定し(S1104)、STAと判定されればDLLでCOMの初期化をSTAで行い(S1105)、MTAと判定されれば、COMの初期化をMTAで行なう(S1106)。COMの初期化が終了すると、呼び出されたCOM初期化関数に終了結果を設定し、ログ取得対象アプリケーションに値を返し(S1107)、ログの取得を継続する(S1108)。
以上のように、本発明によればログ取得ソフトウェアを用いることで、ログ取得対象ソフトウェアがCOMの初期化をシングルスレッド又はマルチスレッドのいずれの方法で行なっていても、ログ取得ソフトウェアが自動的にそのCOM初期化方法を判別することで、ログ取得対象ソフトウェアのCOM初期化に影響を受けずに、ログ取得が可能となる。
[その他の実施形態]
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明の実施形態に対応する情報処理装置の構成の一例を示す図である。 本発明の実施形態に対応する情報処理装置のメモリに、複数のモジュールに分割されたソフトウェアがロードされる場合を説明する図である。 本発明の実施形態に対応する、ログ取得用のコードとしてIAT Patchを用いて関数呼び出しを仲介する場合の、情報処理装置のメモリ構成の一例を示す図である。 本発明の実施形態に対応する情報処理装置において、IAT Patchの処理を実行した場合のタイミングチャートの一例を示す図である。 本発明の実施形態に対応する情報処理装置において実行形式ファイルEXEが実行される場合の動作の一例を示す図である。 本発明の実施形態に対応する情報処理装置において、実行ファイルEXEがCOMサーバでエクスポートされているインターフェースのインスタンスを作成する場合の、メモリ構成の一例を示す図である。 本発明の実施形態に対応する情報処理装置のメモリ構成をあらわす図である。 本発明の実施形態に対応する情報処理装置において、VTable Patchの処理を実行した場合のタイミングチャートの一例を示す図である。 本発明の実施形態に対応する情報処理装置において実行形式ファイルEXEが実行される場合の動作の一例を示す図である。 本発明の実施形態に対応する情報処理装置において、ログ取得対象アプリケーションを起動し、ログ取得処理を開始する際の処理の一例を示すフローチャートである。 本発明の実施形態に対応する情報処理装置において、ログ取得対象アプリケーションがCOM初期化関数の呼び出しを行なった場合の処理の一例に対応するフローチャートである。

Claims (6)

  1. 第1のモジュールと、第2のモジュールと、前記第1のモジュールから前記第2のモジュール内の関数への呼び出しを仲介し、前記第2のモジュールにおける処理のログを取得するための第3のモジュールと、を実行する情報処理装置であって、
    前記第3のモジュールは、
    前記第1のモジュールから前記第2のモジュール内の初期化処理に関する前記関数の呼び出しを検出する検出手段と、
    前記呼び出しが検出された場合に、前記初期化処理に関する関数についての初期化処理の動作状態を識別するためのパラメータを取得するパラメータ取得手段と、
    取得した前記パラメータに基づいて、前記初期化処理の動作状態を判定する判定手段と、
    前記判定の結果に基づく動作状態において、前記初期化処理に関する関数を実行させる実行手段と、
    前記実行の結果を前記第1のモジュールへ通知する通知手段と
    を備えることを特徴とする情報処理装置。
  2. 前記動作状態は、シングルスレッド又はマルチスレッドのいずれかであることを特徴とする請求項1に記載の情報処理装置。
  3. 第1のモジュールから第2のモジュール内の関数への呼び出しを仲介し、前記第2のモジュールにおける処理のログを取得するための第3のモジュールを実行する情報処理方法であって、
    前記第1のモジュールから前記第2のモジュール内の初期化処理に関する前記関数の呼び出しを検出する検出工程と、
    前記呼び出しが検出された場合に、前記初期化処理に関する関数についての初期化処理の動作状態を識別するためのパラメータを取得するパラメータ取得工程と、
    取得した前記パラメータに基づいて、前記初期化処理の動作状態を判定する判定工程と、
    前記判定の結果に基づく動作状態において、前記初期化処理に関する関数を実行させる実行工程と、
    前記実行の結果を前記第1のモジュールへ通知する通知工程と
    を備えることを特徴とする情報処理方法。
  4. 前記動作状態は、シングルスレッド又はマルチスレッドのいずれかであることを特徴とする請求項3に記載の情報処理方法。
  5. 請求項3又は4に記載の情報処理方法をコンピュータに実行させるためのコンピュータプログラム。
  6. 請求項5に記載のコンピュータプログラムを記憶したコンピュータで読み取り可能な記憶媒体。
JP2004364781A 2004-12-16 2004-12-16 情報処理装置、情報処理方法、コンピュータプログラム及び記憶媒体 Pending JP2006172204A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004364781A JP2006172204A (ja) 2004-12-16 2004-12-16 情報処理装置、情報処理方法、コンピュータプログラム及び記憶媒体
US11/298,842 US7519868B2 (en) 2004-12-16 2005-12-09 Information processing apparatus, information processing method, computer program, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004364781A JP2006172204A (ja) 2004-12-16 2004-12-16 情報処理装置、情報処理方法、コンピュータプログラム及び記憶媒体

Publications (2)

Publication Number Publication Date
JP2006172204A true JP2006172204A (ja) 2006-06-29
JP2006172204A5 JP2006172204A5 (ja) 2008-02-14

Family

ID=36642081

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004364781A Pending JP2006172204A (ja) 2004-12-16 2004-12-16 情報処理装置、情報処理方法、コンピュータプログラム及び記憶媒体

Country Status (2)

Country Link
US (1) US7519868B2 (ja)
JP (1) JP2006172204A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4681923B2 (ja) * 2005-04-01 2011-05-11 キヤノン株式会社 情報処理装置及びその制御方法、コンピュータプログラム、記憶媒体
US8607094B2 (en) * 2009-09-29 2013-12-10 Hyundai Motor Company Operational system test method
CN106649058B (zh) * 2015-10-29 2020-01-07 北京国双科技有限公司 一种日志处理方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5951653A (en) * 1997-01-29 1999-09-14 Microsoft Corporation Method and system for coordinating access to objects of different thread types in a shared memory space
US6748555B1 (en) * 1999-09-09 2004-06-08 Microsoft Corporation Object-based software management
US6996808B1 (en) * 2000-02-12 2006-02-07 Microsoft Corporation Function injector
US6892326B2 (en) * 2002-03-22 2005-05-10 Microsoft Corporation Systems and methods for monitoring object activity through an external agent using a proxy object
JP4125053B2 (ja) 2002-06-28 2008-07-23 キヤノン株式会社 ログ取得方法
US7188279B2 (en) * 2002-06-28 2007-03-06 Canon Kabushiki Kaisha Method, program, and storage medium for acquiring logs
US7353501B2 (en) * 2002-11-18 2008-04-01 Microsoft Corporation Generic wrapper scheme

Also Published As

Publication number Publication date
US20060150017A1 (en) 2006-07-06
US7519868B2 (en) 2009-04-14

Similar Documents

Publication Publication Date Title
US20010039612A1 (en) Apparatus and method for fast booting
US20060136134A1 (en) Information processing apparatus and method for obtaining software processing log
US7478282B2 (en) Log acquisition method and its control program and storage medium
CN104254840A (zh) 在计算机系统中的存储器转储和分析
JP5778296B2 (ja) 仮想計算機システム、仮想化機構、及びデータ管理方法
US11474855B2 (en) Information processing apparatus, information processing method, and storage medium
US7188279B2 (en) Method, program, and storage medium for acquiring logs
US7426660B2 (en) Method, program, and storage medium for acquiring logs
JP4280749B2 (ja) ログ取得方法およびプログラム、記憶媒体
KR20070049217A (ko) 데이터 처리 시스템과 주변장치에 의한 오류 응답
JP5226093B2 (ja) プロセス内コンポーネントのオブジェクト作成方法およびシステム
JP2006172204A (ja) 情報処理装置、情報処理方法、コンピュータプログラム及び記憶媒体
CN108009039B (zh) 终端信息的记录方法、装置、存储介质及电子设备
JP4125055B2 (ja) ログ取得方法
JP4125053B2 (ja) ログ取得方法
CN101107591B (zh) 计算机系统和用于启动其中的基本程序的方法
JP4886188B2 (ja) 情報処理装置及びその制御方法、コンピュータプログラム及び記憶媒体
JP4735765B2 (ja) Linuxプログラム起動システム
JP2006031248A (ja) 関数呼び出しをフックしてログを生成するソフトウェア評価システム
JP5710547B2 (ja) 情報処理装置、監視方法および監視プログラム
JP2009223841A (ja) 命令ログ取得プログラム及び仮想計算機システム
JP4125054B2 (ja) ログ取得方法
JP2007094497A (ja) 情報処理装置及び情報処理方法
JPH096709A (ja) 拡張スロット付電子装置の制御方法とその装置、及び拡張媒体
JP2001134464A (ja) 情報処理方法および装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071217

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071217

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20071217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100628

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101105