(57)【要約】【課題】過去に発生した同一障害に対するメモリダンプを抑制すること。【解決手段】分類式作成部２２がスタック２１に記憶された各エントリを分類することによって分類式を作成し、分類式作成部２２によって作成された分類式を用いて探索部２４がダンプＤＢ２３を探索する。そして、探索部２４により同一の障害が探索された場合には、判定部２５がダンプ出力が必要でないと判定し、出力部２６は、メモリダンプを実行しない。また、分類式作成部２２は、スタック２１の各エントリを実行モジュールに関する情報、プールに関する情報、スタックフレームに関する情報及びその他の情報に分類して分類式を作成する。【選択図】図１
2015153328.tif 000002
【特許請求の範囲】
【請求項１】
障害が発生した際に、スタックに記憶された各エントリを分類することによって分類式を作成し、
作成した分類式と一致する分類式を過去の障害時に作成された分類式から探す
処理をコンピュータに実行させることを特徴とするダンプ出力抑止プログラム。
【請求項２】
前記分類式を作成する処理は、前記スタックの情報を、１エントリずつ、実行モジュールに関する情報であるか実行モジュール以外に関する情報であるかに基づいて所定の文字に変換し、実行モジュールに関する情報である場合には所定の文字の後ろに実行モジュールの復帰アドレスの下位アドレスを付加することによって、エントリの順番に対応付けられた文字列を生成し、生成した文字列の先頭にエラーコードを付加して前記分類式を作成することを特徴とする請求項１に記載のダンプ出力抑止プログラム。
【請求項３】
前記分類式を作成する処理は、前記スタックの情報を、１エントリずつ、実行モジュールに関する情報、スタックフレームに関する情報、プールに関する情報又はその他の情報に分類し、分類結果に基づいて所定の文字に変換することを特徴とする請求項２に記載のダンプ出力抑止プログラム。
【請求項４】
作成した分類式と一致する分類式を過去の障害時に作成された分類式から探せなかった場合にメモリダンプ出力を行い、作成した分類式と一致する分類式を過去の障害時に作成された分類式から探した場合にメモリダンプ出力を行わないことを特徴とする請求項１、２又は３に記載のダンプ出力抑止プログラム。
【請求項５】
コンピュータが、
障害が発生した際に、スタックに記憶された各エントリを分類することによって分類式を作成し、
作成した分類式と一致する分類式を過去の障害時に作成された分類式から探す
処理を実行することを特徴とするダンプ出力抑止方法。
【請求項６】
障害が発生した際に、スタックに記憶された各エントリを分類することによって分類式を作成する作成部と、
前記作成部により作成された分類式と一致する分類式を過去の障害時に作成された分類式から探す探索部と
を備えたことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ダンプ出力抑止プログラム、ダンプ出力抑止方法及び情報処理装置に関する。
【背景技術】
【０００２】
ＯＳ（Operating  System）などの障害調査においては、障害発生時のメモリイメージを出力したメモリダンプが重要な調査資料となるが、メモリダンプ調査には深い知識と技術が必要であり、原因発生個所の絞り込みには時間がかかる。
【０００３】
このため、メモリイメージを全て出力するのではなく、指定されたセグメントの範囲でメモリイメージを編集してダンプ出力することによって、障害時の調査を容易にする従来技術がある。
【０００４】
また、プログラムのアボート時にスタック情報をダンプ出力するだけでなく、実行された機械語命令及び変更されたレジスタ情報を出力することによって、アボートの原因調査を支援する従来技術がある。
【０００５】
また、過去に同一プログラム、同一実行番地、同一原因で例外が発生したか否かを判定し、発生していた場合には、ダンプ情報を削除することによって、容量の限られた外部記憶装置を有効利用する従来技術がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平３−２４６４２号公報
【特許文献２】特開平４−７７８４０号公報
【特許文献３】特開平１１−３５３２０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、プログラムと実行番地と原因という３つの観点で同一の例外が発生したか否かを判定する従来技術には、例外に至るまでの経路が考慮されていないので、根本的な原因が異なる障害を同一障害とみなしてしまうという問題がある。
【０００８】
本発明は、１つの側面では、障害が同一であるか否かを正確に判定して、同一の障害に起因するダンプの出力を抑止することを目的とする。
【課題を解決するための手段】
【０００９】
本願の開示するダンプ出力抑止プログラムは、１つの態様において、障害が発生した際に、スタックに記憶された各エントリを分類することによって分類式を作成する処理をコンピュータに実行させる。そして、ダンプ出力抑止プログラムは、作成した分類式と一致する分類式を過去の障害時に作成された分類式から探す処理をコンピュータに実行させる。
【発明の効果】
【００１０】
１実施態様によれば、同一の障害に起因するダンプの出力を抑止することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例１に係る情報処理装置の機能構成を示す図である。
【図２】図２は、スタック情報の文字列への置き換えを説明するための図である。
【図３】図３は、ダンプ出力部の処理フローを示すフローチャートである。
【図４】図４は、実施例２に係る障害解析支援システムを説明するための図である。
【図５】図５は、実施例２に係る障害解析支援システムの構成を示す図である。
【図６】図６は、既障害の分類式と比較対象の分類式の例を示す図である。
【図７Ａ】図７Ａは、既障害Ａの分類式との比較を示す図である。
【図７Ｂ】図７Ｂは、既障害Ｂの分類式との比較を示す図である。
【図７Ｃ】図７Ｃは、既障害Ｃの分類式との比較を示す図である。
【図８】図８は、類似リスト抽出処理のフローを示すフローチャートである。
【図９】図９は、比較処理のフローを示すフローチャートである。
【図１０】図１０は、ソート処理のフローを示すフローチャートである。
【図１１】図１１は、情報処理装置のハードウェア構成を示す図である。
【発明を実施するための形態】
【００１２】
以下に、本願の開示するダンプ出力抑止プログラム、ダンプ出力抑止方法及び情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
【実施例１】
【００１３】
まず、実施例１に係る情報処理装置の機能構成について説明する。図１は、実施例１に係る情報処理装置の機能構成を示す図である。情報処理装置１は、プログラムを実行することにより情報処理を行う装置であり、図１に示すように、装置に障害が発生したときにメモリダンプを出力するダンプ出力部２を有する。ダンプ出力部２は、スタック（Stack）２１と、分類式作成部２２と、ダンプＤＢ２３と、探索部２４と、判定部２５と、出力部２６とを有する。
【００１４】
スタック２１は、プログラムが実行された過程で情報が一時的に保存される領域であり、変数の値や関数の戻り先アドレス等の情報をＬＩＦＯ（Last  In  First  Out）で保存する。
【００１５】
分類式作成部２２は、障害を分類するための分類式をスタック２１が記憶するスタック情報から作成する。具体的には、分類式作成部２２は、スタック２１が記憶する各エントリを実行モジュールに関する情報、スタックフレーム（Stack  Frame）に関する情報、プール（Pool）に関する情報及びその他の情報に分類する。そして、分類式作成部２２は、分類結果に基づいて各エントリを所定の文字に置き換える。
【００１６】
また、分類式作成部２２は、エントリが実行モジュールに関する情報である場合には、所定の文字の後ろに実行モジュールの復帰アドレスの下位３桁のアドレスを付加する。そして、分類式作成部２２は、置き換えた文字及び下位３桁のアドレスからスタック２１におけるエントリの順番に対応付けられた文字列を生成し、生成した文字列の先頭にBUGCHECK  CODEを付加することによって分類式を作成する。
【００１７】
図２は、スタック情報の文字列への置き換えを説明するための図である。図２に示すように、スタック２１のエントリは、３２ビット環境で４バイトであり、８桁の１６進数で表される。
【００１８】
実行モジュールに関する情報は、関数呼び出しのリターンアドレスであり、実行モジュールがロードされたアドレスから、実行モジュールがロードされたアドレスに実行モジュールのサイズを加えたアドレスまでの範囲である。なお、実行モジュールがロードされたアドレスはＯＳにより管理される。
【００１９】
スタックフレームに関する情報は、スタック２１のアドレス情報であり、スタック２１のベースアドレスとリミットアドレスの範囲である。プールに関する情報は、ＯＳにより管理される領域であるプールのアドレス情報であり、プールのアドレスの範囲である。その他の情報は、実行モジュールに関する情報、スタックフレームに関する情報及びプールに関する情報以外の情報である。なお、スタックフレーム及びプールは実行モジュール内に確保される。
【００２０】
分類式作成部２２は、実行モジュールに関する情報を文字Ｃに置き換え、スタックフレームに関する情報を文字Ｓに置き換え、プールに関する情報を文字Ｐに置き換え、その他の情報を文字Ｄに置き換える。
【００２１】
また、分類式作成部２２は、エントリが実行モジュールに関する情報である場合に、アドレスの下位３桁を文字Ｃの後に付加する。実行モジュールがメモリ上にロードされるアドレスは固定でないが、０ｘ１０００バイト単位でアラインメントが調整されたアドレスにロードされる。また、実行モジュール内のコード配置は、変更されない。このため、特定のコードが配置されるアドレスの下位３桁は常に同じである。すなわち、スタック２１に保存されるリターンアドレスの下位３桁は変わらない。したがって、リターンアドレスの下位３桁を利用することは、新たに発生した障害を既障害と比較する場合に、関数呼び出しの同一性の検出に有効である。
【００２２】
図２において、スタック２１の先頭のエントリは、０ｘ０００００００１であり、実行モジュールに関する情報でもなく、スタックフレームに関する情報でもなく、プールに関する情報でもないので文字Ｄに置き換えられる。また、スタック２１の先頭から２番目のエントリは、０ｘ８ａ７ｂ７ｂ５８であり、プールのアドレスの範囲であるので文字Ｐに置き換えられる。また、スタック２１の先頭から５番目のエントリは、０ｘｂ９７０７６ｃ０であり、スタック２１のベースアドレスとリミットアドレスの範囲であるので文字Ｓに置き換えられる。
【００２３】
また、スタック２１の先頭から６番目のエントリは、０ｘ８０８１ｆ７６４であり、実行モジュールがロードされたアドレスの範囲であって、プールのアドレスの範囲でもなく、スタックフレームのアドレス範囲でもないので、文字Ｃに置き換えられる。また、文字Ｃの後にアドレスの下位３桁である７６４が付加される。
【００２４】
なお、分類式作成部２２は、スタック２１の全エントリを用いて文字列を作成するが、スタック２１の先頭から所定の数のエントリを用いて文字列を作成してもよい。
【００２５】
図１に戻って、ダンプＤＢ２３は、過去に発生した複数の障害について、障害ごとに分類式と障害の発生日時と障害の原因とを対応付けて記憶する。
【００２６】
探索部２４は、分類式作成部２２により作成された分類式と同一の分類式をダンプＤＢ２３から探索する。探索部２４は、分類式作成部２２により作成された分類式と同一の分類式がダンプＤＢ２３から探索された場合には、対応する発生日時及び障害原因を判定部２５に渡し、探索されなかった場合には、その旨を判定部２５に通知する。
【００２７】
判定部２５は、探索部２４の探索結果に基づいてファイルにメモリダンプを行うか否かを判定する。判定部２５は、分類式作成部２２により作成された分類式に対応する発生日時及び障害原因を探索部２４から受け取ると、メモリダンプを行わないと判定し、分類式が探索されなかったことを探索部２４から通知されると、メモリダンプを行うと判定する。
【００２８】
出力部２６は、判定部２５がメモリダンプを行うと判定した場合にメモリダンプをファイルに出力し、判定部２５がメモリダンプを行わないと判定した場合に同一の障害の発生日及び障害原因を表示装置に表示する。
【００２９】
次に、ダンプ出力部２の処理フローについて説明する。図３は、ダンプ出力部２の処理フローを示すフローチャートである。図３に示すように、情報処理装置１により障害発生が検知されると、分類式作成部２２が、スタック情報から分類式を作成する（ステップＳ１）。
【００３０】
そして、分類式作成部２２により作成された分類式を用いて、探索部２４が、ダンプＤＢ２３を探索する（ステップＳ２）。そして、判定部２５が、探索部２４の探索結果に基づいてダンプ出力が必要であるか否かを判定する（ステップＳ３）。
【００３１】
そして、出力部２６は、判定部２５がダンプ出力が必要であると判定した場合には、メモリダンプを実行し（ステップＳ４）、判定部２５がダンプ出力が必要でないと判定した場合には、同一の障害の発生日時及び障害原因を表示装置に表示する（ステップＳ５）。
【００３２】
上述してきたように、実施例１では、分類式作成部２２がスタック２１に記憶された各エントリを分類することによって分類式を作成し、分類式作成部２２によって作成された分類式を用いて探索部２４がダンプＤＢ２３を探索する。そして、探索部２４により同一の障害が探索された場合には、判定部２５がダンプ出力が必要でないと判定し、出力部２６は、メモリダンプを実行しない。したがって、ダンプ出力部２は、過去に発生した同一障害に対するメモリダンプを抑制することができる。
【００３３】
また、分類式作成部２２は、スタックの各エントリを実行モジュールに関する情報、プールに関する情報、スタックフレームに関する情報及びその他の情報に分類し、分類結果に基づいて各エントリを文字に置き換えて分類式を作成する。また、分類式作成部２２は、実行モジュールに関する情報については、関数呼び出しのリターンアドレスであるので、下位３桁のアドレスを文字に付加する。したがって、分類式作成部２２は、分類式に障害に至るまでの経路を反映させることができ、障害を正確に分類する分類式を作成することができる。
【実施例２】
【００３４】
ところで、上記実施例１では、分類式作成部２２により作成された分類式と一致する分類式を探索部２４が探索する場合について説明した。しかしながら、分類式作成部２２により作成された分類式と類似する分類式をダンプＤＢ２３から検索することによって、障害解析を支援することができる。そこで、実施例２では、分類式を用いて障害解析を支援する障害解析支援システムについて説明する。
【００３５】
まず、実施例２に係る障害解析支援システムについて説明する。図４は、実施例２に係る障害解析支援システムを説明するための図である。図４に示すように、実施例２に係る障害解析支援システムでは、情報処理装置８が、ダンプファイル６１に格納されたメモリダンプから分類式を作成する（１）。
【００３６】
そして、情報処理装置８は、作成した分類式をダンプＤＢを有する事例記憶装置９に送信する（２）。そして、事例記憶装置９は、メモリダンプに類似する障害を障害原因を含めてリストアップした類似リスト６３を分類式を用いてダンプＤＢから抽出し（３）、抽出した類似リスト６３を情報処理装置８に送信する。そして、情報処理装置８が類似リスト６３を表示装置に表示する（４）。
【００３７】
このように、事例記憶装置９が分類式を用いて類似リスト６３をダンプＤＢから抽出し、情報処理装置８が類似リスト６３を表示装置に表示することによって、障害解析支援システムは障害解析を支援することができる。
【００３８】
次に、実施例２に係る障害解析支援システムの構成について説明する。図５は、実施例２に係る障害解析支援システムの構成を示す図である。図５に示すように、障害解析支援システム７は、情報処理装置８と事例記憶装置９とがネットワーク１０で接続されて構成される。
【００３９】
情報処理装置８は、分類式作成部８１と、分類式送信部８２と、類似リスト受信部８３と、類似リスト表示部８４とを有する。分類式作成部８１は、スタック２１が記憶するスタック情報の代わりにダンプファイル６１が記憶するスタック情報を用いて分類式を作成する点を除いて分類式作成部２２と同様の処理を行う。
【００４０】
分類式送信部８２は、分類式作成部８１が作成した分類式を事例記憶装置９へネットワーク１０を介して送信する。類似リスト受信部８３は、事例記憶装置９から類似リスト６３をネットワーク１０を介して受信する。類似リスト表示部８４は、類似リスト受信部８３が受信した類似リスト６３を表示装置に表示する。
【００４１】
事例記憶装置９は、ダンプＤＢ９１と類似リスト抽出部９２とを有する。ダンプＤＢ９１は、ダンプＤＢ２３と同様に、過去に発生した障害について、分類式と障害の発生日時と障害の原因とを対応付けて記憶する。
【００４２】
類似リスト抽出部９２は、分類式送信部８２により送信された分類式と類似する分類式をダンプＤＢ９１から所定の数だけ検索し、検索した分類式に対応する障害のリストを類似リスト６３として抽出する。そして、類似リスト抽出部９２は、類似リスト６３を情報処理装置８へネットワーク１０を介して送信する。
【００４３】
類似リスト抽出部９２は、類似リスト６３を抽出するときに、まずBUGCHECK  CODEを用いて分類式の比較を行う。BUGCHECK  CODEが同じでない場合には、類似リスト抽出部９２は、２つの分類式は一致も類似もしていないと判定する。次に、類似リスト抽出部９２は、分類式の中のＣに基づいて２つの分類式の類似度を判定する。そして、類似リスト抽出部９２は、さらに分類式の中のＳ、Ｐ、Ｄを用いて２つの分類式の類似度を判定する。
【００４４】
図６〜図７Ｃは、類似リスト抽出部９２による類似度判定の例を説明するための図である。図６は、既障害の分類式（ダンプＤＢ９１が記憶する分類式）と比較対象の分類式（分類式作成部８１により作成された分類式）の例を示す図である。図７Ａ〜図７Ｃは、既障害Ａ〜Ｃの分類式との比較を示す図である。
【００４５】
図６に示すように、ダンプＤＢ９１は、既障害の分類式として既障害Ａの分類式と既障害Ｂの分類式と既障害Ｃの分類式とを記憶する。既障害Ａの分類式は、Ｃ０１２ＤＤＣ６７８ＤＣ９ａｂＤであり、既障害Ｂの分類式は、Ｃ０１２ＤＤＣ３４５ＤＤＤであり、既障害Ｃの分類式は、Ｃ０１２ＤＤＣ３４５ＤＣ９ａｂＤである。また、比較対象の分類式は、Ｃ０１２ＤＤＣ３４５ＤＣ９ａｂＤである。なお、図６では、先頭のBUGCHECK  CODEは省略されている。
【００４６】
類似リスト抽出部９２は、比較対象の分類式を、図７Ａ〜図７Ｃにそれぞれ示すように、既障害Ａの分類式〜既障害Ｃの分類式と比較する。図７Ａに示すように、比較対象の分類式における先頭のＣ０１２は、既障害Ａの分類式における先頭のＣ０１２と一致している。これに対して、４番目のＣ３４５とＣ６７８は一致せず、この場合、類似リスト抽出部９２は、既障害Ａの分類式のＣ６７８をＤと置き換える。類似リスト抽出部９２は、置き換えたＤをＣ以外の情報を用いて同一の障害であるかを判定する場合に利用する。また、６番目のＣ９ａｂが一致しているため、類似リスト抽出部９２は、既障害Ａの分類式については合計で２個のＣが一致していると判定する。
【００４７】
図７Ｂに示すように、既障害Ｂの分類式及び比較対象の分類式において、Ｃ０１２及びＣ３４５が一致し、次のＣは一致していないため、類似リスト抽出部９２は、一致した個数は２個であると判定する。
【００４８】
既障害Ａと既障害Ｂとでは、一致したＣの個数は２個で同じである。そこで、類似リスト抽出部９２は、Ｃについての他の情報を用いて類似度を比較する。ダンプの特性として、ダンプを出力する直前に必ず呼ばれる関数がスタックの先頭に積まれる。よって、先頭のＣは必ず一致する。次のＣは先頭のＣを呼び出した原因であるため、一致していれば同じ障害である可能性が高い。その後は、障害を発生させているＣまでの処理の過程を示すが、障害を発生させているＣと近いＣが一致していれば、それだけ障害を引き起こした処理の一致度が高くなり、Ｃの一致が先頭から遠くなるにつれて処理の一致度は低くなる。
【００４９】
このため、類似リスト抽出部９２は、先頭から近いＣほど高い評価を与え、遠ざかるにつれて評価を低くする。図７Ａ及び図７Ｂの場合では、既障害Ｂの分類式の方が、既障害Ａの分類式よりも先頭に近いＣが一致しているため、類似リスト抽出部９２は、既障害Ｂが既障害Ａより類似していると判定する。例えば、類似リスト抽出部９２は、評価の具体的な手法として、先頭を１００点とし、１文字ずれるごとに評価を５点下げていく。
【００５０】
図７Ｃに示すように、既障害Ｃの分類式及び比較対象の分類式において、Ｃ０１２、Ｃ３４５及びＣ９ａｂが一致している。一致したＣの個数は３個である。既障害Ｂの分類式よりもＣが一致した個数が多いため、類似リスト抽出部９２は、既障害Ｃの分類式が最も類似していると判定する。したがって、類似リスト抽出部９２は、図６のデータベースを利用した結果、比較対象の障害は、既障害Ｃと最も類似した障害であると判定する。
【００５１】
Ｃの情報だけでは類似度の比較ができない場合には、類似リスト抽出部９２は、さらにＣ以外の情報でどれだけ一致しているかの個数を見る。一致した個数が多ければ多いほど、類似リスト抽出部９２は、類似度が高いと判定する。
【００５２】
次に、類似リスト抽出処理のフローについて説明する。図８は、類似リスト抽出処理のフローを示すフローチャートである。図８において、Ｓ１１とＳ１５は、間に挟まれる処理を既障害の分類式分ループすることを示す。なお、類似リスト６３には、各障害について分類式と文字Ｃの一致個数と評価結果と発生日時と原因が含まれる。
【００５３】
図８に示すように、類似リスト抽出部９２は、比較対象の分類式をダンプＤＢ９１の分類式の１つと比較し、BUGCHECK  CODEが一致しているか否かを判定する（ステップＳ１２）。そして、BUGCHECK  CODEが一致していない場合には、類似リスト抽出部９２は、比較対象の分類式と類似していないと判定し、ダンプＤＢ９１から次の分類式を取り出して比較する。
【００５４】
一方、BUGCHECK  CODEが一致している場合には、類似リスト抽出部９２は、比較対象の分類式とダンプＤＢ９１の分類式の１つを比較して比較結果をダンプＤＢ９１の情報とともに類似リスト６３に記録する比較処理を行う（ステップＳ１３）。そして、類似リスト抽出部９２は、類似度に基づいて類似リスト６３をソートするソート処理を行う（ステップＳ１４）。
【００５５】
このように、類似リスト抽出部９２は、ダンプＤＢ９１の分類式を１つずつ取り出し、比較対象の分類式と比較し、比較結果を類似リスト６３に記録し、類似リスト６３を類似度に基づいてソートする処理を繰り返すことで、類似リスト６３を作成することができる。
【００５６】
次に、比較処理のフローについて説明する。図９は、比較処理のフローを示すフローチャートである。図９において、Ｓ２１とＳ２４は、間に挟まれる処理を分類式の比較が終わるまでループすることを示す。
【００５７】
図９に示すように、類似リスト抽出部９２は、比較位置の文字がＣで、かつ、Ｃの後の３文字も一致するか否かを判定し（ステップＳ２２）、比較位置の文字がＣでないかＣの後の３文字が一致しない場合には２つの分類式から各々次の文字を取り出して比較する。
【００５８】
一方、比較位置の文字がＣで、かつ、Ｃの後の３文字が一致した場合には、類似リスト抽出部９２は、現在までに一致した文字Ｃの個数と評価を類似リスト６３にダンプＤＢ９１の情報とともに記録し（ステップＳ２３）、次の文字を比較する。なお、類似リスト抽出部９２は、比較位置の文字がＣで、かつ、Ｃの後の３文字も一致した場合に、一致した文字Ｃの先頭からの距離に基づいて類似度についての点数の評価を行う。
【００５９】
このように、類似リスト抽出部９２は、文字Ｃ及びＣの後の３文字が一致するか否かを判定することにより、２つの分類式の類似度を評価することができる。
【００６０】
次に、ソート処理のフローについて説明する。図１０は、ソート処理のフローを示すフローチャートである。図１０において、Ｓ３２とＳ３６は、間に挟まれる処理をソートが終わるまでループすることを示す。また、Ａ及びＢは、類似リスト６３にあるエントリの情報であり、ＡがＢと比較して類似性が高い位置にあるとする。
【００６１】
図１０に示すように、類似リスト抽出部９２は、類似リスト６３に２つ以上のエントリがあるか否かを判定し（ステップＳ３１）、類似リスト６３に２つ以上のエントリがない場合には処理を終了する。
【００６２】
一方、類似リスト６３に２つ以上のエントリがある場合には、類似リスト抽出部９２は、Ａの一致した文字Ｃの個数がＢより小さいか否かを判定し（ステップＳ３３）、Ａの一致した文字Ｃの個数がＢより小さくない場合には、他のエントリの比較を行う。ここで、「一致した文字Ｃの個数」とは、文字Ｃ及びＣの後の３文字が一致した個数である。
【００６３】
一方、Ａの一致した文字Ｃの個数がＢより小さい場合には、類似リスト抽出部９２は、Ａの評価がＢより低いか否かを判定し（ステップＳ３４）、Ａの評価がＢより低くない場合には、他のエントリの比較を行う。
【００６４】
一方、Ａの評価がＢより低い場合には、類似リスト抽出部９２は、Ｂの類似性が高くなるようにＡとＢの順序を入れ替える（ステップＳ３５）。
【００６５】
このように、類似リスト抽出部９２は、類似リスト６３を類似度に基づいてソートすることによって、類似リスト６３を類似度の高い順に類似障害に関する情報が並べられたリストとすることができる。
【００６６】
上述してきたように、実施例２では、分類式作成部８１がダンプファイル６１のスタック情報に基づいて分類式を作成し、分類式作成部８１により作成された分類式に類似する分類式に対応する障害の情報を類似リスト抽出部９２がダンプＤＢ９１から抽出する。そして、類似リスト抽出部９２により抽出された障害の情報を類似リスト表示部８４が表示する。したがって、障害解析支援システム７は、障害が発生した際に、類似する障害の情報を原因を含めて提供することができ、障害の解析を支援することができる。
【００６７】
なお、実施例２では、障害解析支援システム７が情報処理装置８と事例記憶装置９とを有する場合について説明した。しかしながら、事例記憶装置９の機能を情報処理装置８が備えることによって、情報処理装置８を障害解析支援装置としてもよい。
【００６８】
また、実施例１及び２では、情報処理装置及び事例記憶装置について説明したが、情報処理装置及び事例記憶装置の機能はプログラムによって実現することができる。そこで、プログラムを実行する情報処理装置のハードウェア構成について説明する。なお、事例記憶装置のハードウェア構成も同様である。
【００６９】
図１１は、情報処理装置のハードウェア構成を示す図である。図１１に示すように、情報処理装置７０は、メインメモリ７１と、ＣＰＵ（Central  Processing  Unit）７２と、ＬＡＮ（Local  Area  Network）インタフェース７３と、ＨＤＤ（Hard  Disk  Drive）７４とを有する。また、情報処理装置７０は、スーパーＩＯ（Input  Output）７５と、ＤＶＩ（Digital  Visual  Interface）７６と、ＯＤＤ（Optical  Disk  Drive）７７とを有する。
【００７０】
メインメモリ７１は、プログラムやプログラムの実行途中結果などを記憶するメモリである。ＣＰＵ７２は、メインメモリ７１からプログラムを読み出して実行する中央処理装置である。ＣＰＵ７２は、メモリコントローラを有するチップセットを含む。
【００７１】
ＬＡＮインタフェース７３は、情報処理装置７０をＬＡＮ経由で他の情報処理装置に接続するためのインタフェースである。ＨＤＤ７４は、プログラムやデータを格納するディスク装置であり、スーパーＩＯ７５は、マウスやキーボードなどの入力装置を接続するためのインタフェースである。ＤＶＩ７６は、液晶表示装置を接続するインタフェースであり、ＯＤＤ７７は、ＤＶＤの読み書きを行う装置である。
【００７２】
ＬＡＮインタフェース７３は、ＰＣＩエクスプレスによりＣＰＵ７２に接続され、ＨＤＤ７４及びＯＤＤ７７は、ＳＡＴＡ（Serial  Advanced  Technology  Attachment）によりＣＰＵ７２に接続される。スーパーＩＯ７５は、ＬＰＣ（Low  Pin  Count）によりＣＰＵ７２に接続される。
【００７３】
そして、情報処理装置７０によって実行されるプログラムは、ＤＶＤに記憶され、ＯＤＤ７７によってＤＶＤから読み出されて情報処理装置７０にインストールされる。あるいは、情報処理装置７０によって実行されるプログラムは、ＬＡＮインタフェース７３を介して接続された他の情報処理装置のデータベースなどに記憶され、これらのデータベースから読み出されて情報処理装置７０にインストールされる。そして、インストールされたプログラムは、ＨＤＤ７４に記憶され、メインメモリ７１に読み出されてＣＰＵ７２によって実行される。
【００７４】
以上の実施例１〜２を含む実施形態に関し、さらに以下の付記を開示する。
【００７５】
（付記１）障害が発生した際に、スタックに記憶された各エントリを分類することによって分類式を作成し、
作成した分類式と一致する分類式を過去の障害時に作成された分類式から探す
処理をコンピュータに実行させることを特徴とするダンプ出力抑止プログラム。
【００７６】
（付記２）前記分類式を作成する処理は、前記スタックの情報を、１エントリずつ、実行モジュールに関する情報であるか実行モジュール以外に関する情報であるかに基づいて所定の文字に変換し、実行モジュールに関する情報である場合には所定の文字の後ろに実行モジュールの復帰アドレスの下位アドレスを付加することによって、エントリの順番に対応付けられた文字列を生成し、生成した文字列の先頭にエラーコードを付加して前記分類式を作成することを特徴とする付記１に記載のダンプ出力抑止プログラム。
【００７７】
（付記３）前記分類式を作成する処理は、前記スタックの情報を、１エントリずつ、実行モジュールに関する情報、スタックフレームに関する情報、プールに関する情報又はその他の情報に分類し、分類結果に基づいて所定の文字に変換することを特徴とする付記２に記載のダンプ出力抑止プログラム。
【００７８】
（付記４）作成した分類式と一致する分類式を過去の障害時に作成された分類式から探せなかった場合にメモリダンプ出力を行い、作成した分類式と一致する分類式を過去の障害時に作成された分類式から探した場合にメモリダンプ出力を行わないことを特徴とする付記１、２又は３に記載のダンプ出力抑止プログラム。
【００７９】
（付記５）コンピュータが、
障害が発生した際に、スタックに記憶された各エントリを分類することによって分類式を作成し、
作成した分類式と一致する分類式を過去の障害時に作成された分類式から探す
処理を実行することを特徴とするダンプ出力抑止方法。
【００８０】
（付記６）障害が発生した際に、スタックに記憶された各エントリを分類することによって分類式を作成する作成部と、
前記作成部により作成された分類式と一致する分類式を過去の障害時に作成された分類式から探す探索部と
を備えたことを特徴とする情報処理装置。
【００８１】
（付記７）障害が発生した際に、スタックに記憶された各エントリを分類することによって分類式を作成し、
作成した分類式と類似する分類式を過去の障害時に作成された分類式から探し、
探した分類式に対応付けられた障害原因を表示する
処理をコンピュータに実行させることを特徴とする障害解析支援プログラム。
【００８２】
（付記８）障害が発生した際に、スタックに記憶された各エントリを分類することによって分類式を作成し、
作成した分類式と類似する分類式を過去の障害時に作成された分類式から探し、
探した分類式に対応付けられた障害原因を表示する
処理をコンピュータに実行させるダンプ出力抑止プログラムを記憶したコンピュータ読み取り可能媒体。
【００８３】
（付記９）メモリと該メモリに接続されたＣＰＵとを有する情報処理装置において、
前記ＣＰＵに、
障害が発生した際に、スタックに記憶された各エントリを分類することによって分類式を作成し、
作成した分類式と一致する分類式を過去の障害時に作成された分類式から探す
処理を実行させることを特徴とする情報処理装置。
【符号の説明】
【００８４】
１，８    情報処理装置
２    ダンプ出力部
９    事例記憶装置
２１    スタック
２２，８１    分類式作成部
２３，９１    ダンプＤＢ
２４    探索部
２５    判定部
２６    出力部
６１    ダンプファイル
６３    類似リスト
７０    情報処理装置
７１    メインメモリ
７２    ＣＰＵ
７３    ＬＡＮインタフェース
７４    ＨＤＤ
７５    スーパーＩＯ
７６    ＤＶＩ
７７    ＯＤＤ
８２    分類式送信部
８３    類似リスト受信部
８４    類似リスト表示部
９２    類似リスト抽出部
【図１】
2015153328.tif 000003
【図２】
2015153328.tif 000004
【図３】
2015153328.tif 000005
【図４】
2015153328.tif 000006
【図５】
2015153328.tif 000007
【図６】
2015153328.tif 000008
【図７Ａ】
2015153328.tif 000009
【図７Ｂ】
2015153328.tif 000010
【図７Ｃ】
2015153328.tif 000011
【図８】
2015153328.tif 000012
【図９】
2015153328.tif 000013
【図１０】
2015153328.tif 000014
【図１１】
2015153328.tif 000015