JPH0432417B2 - - Google Patents

Info

Publication number
JPH0432417B2
JPH0432417B2 JP2155575A JP15557590A JPH0432417B2 JP H0432417 B2 JPH0432417 B2 JP H0432417B2 JP 2155575 A JP2155575 A JP 2155575A JP 15557590 A JP15557590 A JP 15557590A JP H0432417 B2 JPH0432417 B2 JP H0432417B2
Authority
JP
Japan
Prior art keywords
program
error
software
data
keyword
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.)
Expired - Lifetime
Application number
JP2155575A
Other languages
English (en)
Other versions
JPH0325629A (ja
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 filed Critical
Publication of JPH0325629A publication Critical patent/JPH0325629A/ja
Publication of JPH0432417B2 publication Critical patent/JPH0432417B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/362Debugging of software
    • G06F11/366Debugging of software using diagnostics

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)

Description

【発明の詳細な説明】 A 産業上の利用分野 この発明は、ソフトウエアのエラー検出のため
の方法及びシステムに関するものである。
B 従来の技術 歴史的には、大抵のソフトウエアは、それが決
して障害を起こさないという仮定の下で設計され
てきた。そして、ソフトウエアには、エラー検出
能力が殆どたは全くデザインされなかつた。そし
て、ソフトウエア・エラーまたは障害が生じた
時、エラーを検出するのが通常コンピユータ・オ
ペレーテイング・システムであるかまたは、プロ
グラムが正しい結果をもたらさないが故にコンピ
ユータ・オペレータがソフトウエア・プログラム
の実行を取り消すかである。
ソフトウエア・エラーまたは障害の場合、その
ソフトウエア・プログラムによつて使用される記
憶領域全体を捕捉することが一般的である。しか
し、プログラム障害が明るみに出る前にエラーが
起こるので、エラーまたは障害の原因を決定する
ために必要なキー・データは多くの場合失われる
かまたは上書きされており、エラーが最終的にあ
らわれた点まで実行がどのようにして辿り着いた
かが明らかでない。大抵のプログラム開発者は、
ソフトウエア・エラーを分離するため、トレーシ
ングと呼ばれるプロセスを使用する。
トレーシングを使用するためには、実行の径路
を通過するデータをサンプルするべく、問題のプ
ログラム内にトレース点を配置しなくてはならな
い。もし可能なら、問題が再現され、トレース点
からのデータが集められる。しかし、不都合に
も、トレーシンングは次のような悪い副次的効果
を及ぼす。その第1として、トレーシングは、ト
レース点に遭遇する毎にトレース・ルーチンへ分
岐することを要するが、そのことはしばしば、問
題のプログラムのみならず、そのシステム上で動
作している別のプログラムにも重大な影響を及ぼ
す。第2に、トレーシングは、トレース点によつ
て生成されるデータのボリユームを収めるための
膨大なデータ・セツトを必要とする。第3に、診
断データを捕捉するためにトレーシングを使用す
るプログラマは、自分が、大部分がエラーの原因
を反映しないような大量のデータをふるいにかけ
ていることを気づくことになる。第4に、もしソ
フトウエアの問題が、2つのプログラム(例え
ば、互いに通信するネツトワーク・プログラム)
の間のタイミングの問題によつて引き起こされた
ものであるなら、トレースは、ほとんどのタイミ
ングの問題が再現され得ない点までプログラムの
実行を低下させることになりかねない。第5に、
プログラムの問題が解決された後に、プログラム
は、市販にリリースされる前にすべてのトレース
点は除去され、再コンパイルされなくてはならな
い。
全てのデータが集められ、プログラム・エラー
の原因が決定され、解決手段が施されてテストさ
れた後、ソフトウエア支援要員が依然として別の
問題に直面することがある。もしこの問題が別の
プロセツサ上で動作する同一のソフトウエアの別
のコピーで発生するなら、それをいかに迅速い決
定することができようと、既に解決された問題を
解決しようと資源が無駄使いされてしまうのでは
なかろうか。これが現在の技法の別の欠点であ
る。ソフトウエアの問題が既に解決され、報告さ
れ、または解決されたかどうかを決定しようとす
るとき、ソフトウエア支援要員は、エラーまたは
障害に遭隅した人員からの問題の記述に依存する
ことになる。しかし、しかし人が異なると問題の
兆候も異なつて記述され、そのことは、既知の問
題を識別し、既存の解決策を当てはめることを、
不可能ではないにしても、困難にする。ソフトウ
エア・プログラマは、ソフトウエアの問題が報告
されておりそれが早期に解決されていることを後
で見い出すためにのみ、ソフトウエア問題の診断
データを検討するのに数時間あるいは数日を費や
すことがある。
従来技術の典型的なものとしては、米国特許第
4802168号、同第3551659号、同第3937938号があ
る。米国特許第4802165号は、プログラムのさま
ざまな位置に挿入されたマクロ・コールを使用す
ることによつて、コンピユータ・プログラムをデ
バツグするための方法及び装置を開示する。この
システムは、テストされるプログラムからのトレ
ース出力を記録し、トレース出力は、無条件的、
すなわち、エラーが生じた否かにかかわらず発生
される。米国特許第3551659号は、さまざまなテ
スト点でプログラムをテストし、出力装置上にエ
ラー状況情報を自動的に記録することによつてコ
ンピユータ・プログラムをデバツグする方法を開
示する。これにおいては、選択されたテスト点
が、エラー・チエツク・ルーチンへの無条件転送
の呼び出しを引き起こす。米国特許第3937938号
は、メモリ構造中に、プログラムの誤動作が生じ
た時点の最近に実行された16個のプログラム命令
を永久的に記憶することによる、エラーの検出と
プログラムのデバツグの支援のための方法を開示
する。
要約すると、ソフトウエア・エラー検出のため
の既存のプロセスは、ソフトウエア・エラーによ
つて引き起こされる障害があらわれるのを待つと
いう方法論を採用するものである。そして、デー
タ・トレース点が挿入され、問題が再現され、大
量のデータを集めながら問題のプログラムの実行
径路が追跡され、望ましくは、何が悪化したかを
決定するデータが捕獲される。
C 発明が解決しようとする課題 この発明の目的は、ソフトウエア・エラーが発
生すると直ちにそれを検出し、問題の分離と収集
を容易ならしめる限定された量の診断データを自
動的に集めるための方法を提供することにある。
この発明の別の目的は、問題のプログラム中の
ソフトウエア・エラーの結果として条件付きでイ
ネーブルされ、さもなければ休眠状態にとどまる
ようなエラー検出のためのシステムを提供するこ
とにある。
この発明のさらに別の目的は、デバツダが完了
した後で除去されるような選択されたトレース点
に一時的にマクロ・コールを配置するのではな
く、ソフトウエア・プログラム内のエラー検出点
に永久的にマクロ・コールを配置することに依存
するエラー検出のためのシステムを提供すること
にある。
この発明のさらに別の目的は、捕獲されたデー
タから、問題一意的に識別する兆候ストリングを
自動的に構築し、ネツトワーク監視者に対して総
括的警告を生成することにある。
この発明のさらに別の目的は、プログラムをデ
バツグすることに関連するオーバーヘツドを最小
限にとどめ、以てコンピユータ資源に対する影響
を最小限に抑える、エラー検出及び分離のための
システムを提供することにある。
D 課題を解決するための手段 上記目的は、プログラム内の戦略的位置でソフ
トウエア処理の条件付きチエツクを要求する技法
を利用するプロセスによつて達成される。この論
理がエラーを検出する時、そのプロセスが呼ば
れ、そのプロセスはエラーを診断するために必要
なデータのみを集める。このプロセスは、早期検
出データ捕獲(EDDC)プロセスとして知られ
る。それは、エラー検出点で識別されたきわめて
特定のプログラム情報を捕獲する。テーブル駆動
データ収集及び報告ルーチンである。それは、ソ
フトウエア兆候ストリングとして知られる一意な
問題識別子を構築し、例えば、IBMシステム・
ネツトワーク・アーキテクチラ(SNA)を利用
するコンピユータ・ネツトワークにおけるIBM SNA総称的警告機能を使用して、オペレータ
に対して問題の自動的な通知を送る。
EDDCプロセスは、ソフトウエア問題プログラ
ム内のエラー検出コードからの必要な最小限の情
報で、ソフトウエア・エラーのための洗練された
データ捕捉機能と通知機構を提供する。また、
EDDCプロセスは、問題のプログラムによつて使
用されるデータ構造及び記憶領域のレイアウト及
びフオーマツトを記述する予定のテーブルの使用
を通じて、この能力を提供する。エラーが検出さ
れた時、EDDCプロセスに対する呼び出しは、収
集されるべきデータと、通知のため構築されるべ
き総称的警告のタイプについての基本的情報を含
む。
早期検出データ捕獲プロセスは、最初に開発さ
れた時点でソフトウエア・プログラム内に戦略的
に位置づけられる、永久的に配置されたエラー検
出点を使用する。この検出点は、その実行全体に
亙るソフトウエア・プログラムの状況をチエツク
する。そして、もしエラーが検出されると、
EDDCプロセスが呼び出される。もしエラーが検
出されないなら、EDDCプロセスは、完全に非活
動性のままとどまる。
早期検出データ捕獲プロセスには、5つの主要
な利点がある。その第1は、エラー検出点が、そ
の開発の間にソフトウエア・プログラム内に永久
的に配置されるということである。そして、ソフ
トウエア・プログラムがエラーに遭隅するとき、
追加的なコード(例えばトレース点)は必要でな
い。第2に、ソフトウエア・エラーを診断するた
めに必要なデータは、新しいプロセスについてエ
ラーが発生した最初の時点で捕獲され、問題の再
現を必要としないということである。第3に、早
期に検出されたエラーは、エラー検出が大抵の場
合あまりにも遅れて検出される従来のプロセスと
は異なり、永久的なプログラムの損害(データベ
ース破壊、プログラム・コードの上書きなど)が
発生する前に停止することができる、ということ
である。第4に、エラーを診断するためにわずか
のデータしか収集されず、もつてデータ・ダン
プ・リストが小さくなり、記憶すべきデータが減
り(デイスク・スペースがすこしでよい)、デー
タを収集し出力するためのコンピユータによる処
理時間が減少する、ということがある。それとは
対照的に、トレース点は膨大な量のデータを捕獲
する。第5に、早期エラー検出は、エラーの分離
を成功させる確立を向上させ、以て完全なソフト
ウエア・プログラムの障害の機会を減少させる。
その結果、より高い可用率をもつソフトウエア・
プログラムがもたらされる。
E 実施例 EDDCプロセスは、アプリケーシヨン・デー
タ・テーブル(ADT)と称するテーブルの構築
を必要とする。そのエントリは、問題のプログラ
ムについての詳細な情報を含み、EDDCプロセス
に対する呼び出しの時点で、パラメータとしての
エラー検出コードによつて選択される。EDDCプ
ロセスは、このテーブル情報を、特定のプログラ
ム領域のダンプを生成し、ソフトウエア・エラ
ー・ログ中でエントリを作成し、ソフトウエア総
称的警告を構築するために使用する。それは、プ
ロセスに、有用且つ意味のある診断データ出力を
提供するために必要な全ての情報を与える予定の
テーブルである。
第1図を参照すると、テーブル10は、後述す
る付章で詳細に説明されているコンピユータ・マ
クロ20の組を使用して構築されたものである。
そのテーブル・エントリ情報は、エラー検出コー
ドによつて選択され、たはり付章で記述されてい
るマクロ・コールを介してプロセスに渡される。
この選択は、プロセスに、何が捕獲されるべきか
ということと、構築されるべき総称的警告のタイ
プを知らせる。ADT10は、次のようなエント
リ・タイプ、すなわち、アプリケーシヨン・デー
タ・ヘツダ、アプリケーシヨン・データ構造エン
トリ、総称的警告記述子、総称的警告原因、及び
総称的推奨動作のうちの1つまたはそれ以上を含
む。
アプリケーシヨン・データ・ヘツダ・エントリ
11は、問題のプログラムについての大域的情報
を含む。そこに含まれるのは、問題のプログラム
の名前と、そのバージヨンまたはリリース番号で
ある。テーブル毎にこれらのエトリのうちの1つ
だけが存する。それは、BLDTABLEマクロ21
を介してADT中に含まれる。このエントリのフ
オーマツト及び構造は、第2図に示されている。
アプリケーシヨン・データ構造エンテイテイ・
テーブル・エントリ12は、問題のプログラムに
よつて使用される単一のデータ構造または制御ブ
ロツクのレイアウト及びフオーマツトである。そ
れは、データ構造の長さ及び名前などの情報を含
む。それは、ADSEENTマクロ22のコーデイ
ングによつて、ADT中に含まれる。これらのエ
ントリの1つまたはそれ以上が、ADSEENTキ
ーワードを介して検出点で選択される。EDDCプ
ロセスは、どの記憶領域が捕獲に必要であるかを
決定するためにこう情報を使用する。このテーブ
ル・エントリの構造は、第3図に示されている。
総称的警告記述子テーブル・エントリ13は、
総称的警告によつて必要とされる、検出されたエ
ラーのカテゴリについての情報を含む。これは、
GADSCENTマクロ23のコーデイングによつ
てADT中に含められる。ALERTDSCキーワー
ドによつて検出点で選択されると、EDDCプロセ
スはそれを、総称的警告通知のための総称的警告
データ及び可能的原因サブベクトルを構築するた
めに使用する。このテーブル・エントリの構造
は、第4図に示されている。
総称的警告原因テーブル・エントリ14は、総
称的警告によつて必要とされる、検出されたエラ
ーの原因についての情報を含む。これは、
GACSEENTマクロ24によつてADT中に含め
られる。これらのうちの1つまたはそれ以上を、
ALERTCSEキーワードによつて検出点で選択す
ることができる。EDDCプロセスは、総称的警告
通知のための原因サブベクトルを構築するために
これを使用する。そのテーブル・エントリは、第
5図に示されている。
総称的警告推奨動作テーブル・エントリ15
は、エラーを解決するために必要な動作について
の情報を含む。それは、GAEACENTマクロ2
5のコーデイングによつてADT中に含められる。
これらの1つまたはそれ以上を、AKERTRAC
キーワードを介して検出点によつて選択すること
ができる。EDDCプロセスは、総称的警告通知の
ための推奨動作サブベクトルを構築するためにそ
れを使用する。このテーブル・エントリの造は、
第6図に示されている。
第7図に示されているような、ソフトウエア・
プログラムによるEDDCプロセスの使用には、2
つの位異なる動作が必要である。第1に、ソフト
ウエア・プログラマは、EDDCソフトウエア・マ
クロのセツトを使用して、ソフトウエア・プログ
ラムの記憶の使用の内部構造を記述する。これら
のマクロは、通常、ソフトウエア・プログラムの
開発と並行する個別のジヨブとしてコーデイング
され。これらのマクロからの出力は、そのエント
リが、EDDCプロセス50によつて必要とされる
総称的警告情報及びソフトウエア・プログラム3
0によつて使用されるデータ構造(例えば、制御
ブロツク・データ領域)を記述するような、アプ
リケーシヨン・データ・テーブル(ADT)10
を含む。第2に、アプリケーヨン・プログラマが
エラー検出コード35またはEDDCコールを、プ
ログラム開発の間に、ソフトウエア・プログラム
3内のエラー検出点に配置する。これらの検出点
35は、「起こるべきでない」条件の存在を検出
することにある。
検出点を配置することができる点の例としては
次のようなものがある。(1)ループ機能を実現する
ソフトウエア・コードにおいては、ループが実行
される回数をカウントし、それをある最大値と比
較する。しそれが最大値を超えたなら、EDDCプ
ロセスが呼び出される。(2)プログラムがデータを
求めて別のプログラムを呼び出す場合はいつで
も、その別のプログラムが期待されたタイプ及び
データの範囲の値を返したことを検証する。もし
そうでないなら、EDDCプロセスがコールされ
る。(3)プログラムが別のプログラムに対してデー
タの要求を発行する時はいつでも、その応答に許
容される最大の待ち時間をタイマセツトする。も
し制御が戻る前にタイマが切れるなら、EDDCプ
ロセスが呼ばれる。(4)もし別のソフトウエア・ル
ーチン(例えば、記憶取得、データベース読取)
からのサービスを実行するためにソフトウエア・
ルーチンが呼ばれ、または要求され、その呼び出
しがエラーである(例えば、その機能がサポート
されていない、呼び出しに無効なデータがあつ
た)なら、EDDCプロセスが呼び出される。
エラー検出点でつまずいた時はいつでも、検出
点がEDDCプロセスを呼び出し、それに必要な情
報を渡す。EDDCプロセス50が呼び出された
時、それは次のように動作を行う。(1)
TABNAMEキーワードによつてEDDCコール3
5中で名付けられたADT10がデイスクからメ
モリにもつてこられる(ADTは、それが構築さ
れた後はデイスク・フアイルとして格納される)。
(2)EDDCコール35上でADSEENTキーワード
によつて選択されたアプリケーシヨン・データ・
エントリ・エンテイテイ12が、EDDCプロセス
50によつて突き止められる。これらの名付けら
れたエントリのうちのめいめいの1つによつて識
別されるプログラム記憶が収集されて単一のプロ
グラム・ダンプ・フアイル40中に配置される。
そのダンプ・フアイルの名前は、プロセスが実現
される時ユーザーによつて選択可能なシーケンス
名付け規約を使用して動的に構築される。EDDC
プロセス50は、シーケンス中の次の名前を自動
的に選択する。ユーザーはルート名またはプリフ
イツクと、1からEDCプロセス50が作成する
ことになる。ダンプ・フアイルの最大数までの数
を選択し、それはルートまたはプリテイツクスに
追加される。例えば、ルート名はAPPLDMPで
あり、任意の瞬間に存在することができるダン
プ・フアイルの最大数は9である。EDDCプロセ
スス50は、APPLDMP1に最初のダンプを排
置し、コールされた時APPLDMP9が構築され
るまでダンプ・データ・セツトを構築し続ける。
その後、EDDCプロセス50は、前のどれかのダ
ンプ・データがクリアされたかどうかをチエツク
する。もしそうでないなら、EDDCプロセス50
が、ダンプ・データ・セツトが可用でなくダンプ
は行われないことを述べるメツセージを発行す
る。(3)ダンプ・フアイルの最初に、1次兆候スト
リングとして知られる一意的な問題識別子が排置
される。その兆候ストリングは、キーワードと値
の対の組からなる。そのキーワードは、それに関
連する意味を識別する。EDDCプロセス50によ
つて構築された兆候ストリングは、次のようなも
のである。PIDS/xxxxxxxx LVLS/11111111
RIDS/rrrrrrrr PCSS/ssssssss (追加デー
タ) “PID”キーワードは、関連の値
“xxxxxxxx”がエラー条件を検出した問題のプ
ログラムの名前を含むことを指定する。この値
は、数または名前である。それは、アプリケーシ
ヨン・データ・テーブル10中のアプリケーシヨ
ン・テーブル・ヘツダ・エントリ11から取得さ
れる。
“LVLS”キーワードは、関連値“11111111”
が、エラーを検出した問題のプログラムのバージ
ヨンまたはリリース・レベルを含むことを指定す
る。この値は、アプリケーシヨン・データ・テー
ブル10中のアプリケーシヨン・テーブル・ヘツ
ダ・エントリ11から取得される。
“RIDS”キーワードは、関連値“rrrrrrrr”
が、エラーを検出した問題のプログラムのモジユ
ールまたは要素の名前を含むことを指定する。こ
の値は、EDDCコール35上のMODNAMEキー
ワードから取得される。
“PCSS”キーワードは、関連値“ssssssss”
が固有の検出点識別子を含むことを識別する。こ
の値は、EDDCコール35上で渡された
DETPTIDキーワードからEDDCプロセス50に
よつて受け取られたものである。PCSS値は通
常、そのモジユール内で一意的なシーケンス番号
である。EDDCコール35上のMODNAMEキー
ワードからのモジユールまたは要素名とともに、
この識別子は、そのソフトウエア・エラーを検出
した検出点を一意的に識別することになる。
(追加データ)は、EDDCプロセス50によつ
て兆候ストリング45に追加されたデータであ
る。それはEDDCプロセス・コール35上の
SYMSTRDTキーワードを介してEDDCプロセ
ス50によつて受け取られたものである。これ
は、プログラム開発者が、兆候ストリングに含め
るべきプロセスに渡すことができる追加情報であ
る。改兆候ストリング・エンテイテイは、フオー
マツト“xxxx/vvvvvvvv”をもち、ここで
“xxxx”は、関連値“vvvvvvvv”のカテゴリを
識別するキーワードである。EDDCプロセスによ
つて使用されるサポートされるキーワード全体の
セツトは以下の第1表に示す通りである。
第1表 兆候ストリング・キーワード “AB”−“vvvvvvvv”が異常終了(ABEND)
またはプログラム・チエツク・コードを含むこと
を指定する。
“ADRS”−“vvvvvvvv”が、検出されたエラ
ーに関連するアドレスまたはオフセツトを含むこ
とを指定する。
“DEVS”−“vvvvvvvv”が、障害に関連する
装置を識別する値(例えば、装置番号、装置アド
レス)を含むことを指定する。
“FLDS”−“vvvvvvvv”が、検出されたエラ
ーに関連するフイールド、データ構造、またはラ
ベル名を含むことを指定する。
“MS”−“vvvvvvvv”が、検出されたエラー
に関連する、または装置によつて発行されたメツ
セージ番号を含むことを指定する。
“OPCS”−“vvvvvvvv”が、検出されたエラ
ーに関連するプロセス・コード(例えば、プログ
ラム・オペレーシヨン・コード、コマンド・コー
ド、要求コード)を含むことを指定する。
“OVS”−“vvvvvvvv”が、記憶が上書きされ
た記憶領域(例えば制御ブロツク・データ領域)
の名前を含むことを指定する。
“PCSS”−“vvvvvvvv”が、検出されたエラ
ーに関連するステートメント名、コマンドまたは
パラメータを含むことを指定する。
“PRCS”−“vvvvvvvv”が、検出されたエラ
ーに関連するリターン・コード、状況コード、条
件コード、または装置コードを含むことを指定す
る。
“REGS”−“vvvvvvvv”が、検出されたエラ
ーに関連するレジスタ・タイプを含むことを指定
する。次の“VALU”キーワードは、このレジ
スタに含まれる値をあらすことになる。
“RIDS”−“vvvvvvvv”が、検出された障害に
関連するモジユール、マクロ・サブルーチン、関
数または手続名を含むことを指定する。
“SIG”−“vvvvvvvv”が、検出された障害に
関連するオペレータ警報信号識別子を含むことを
指定する。
“VALU”−“vvvvvvvv”が、検出された障害
に関連するレジスタの値を含むことを指定する。
このキーワードは、”REG”キーワードと組み合
わせて使用される。
“WS”−“vvvvvvvv”が、検出されたエラー
に関連する待機状態コードを含むことを指定す
る。
データ・ダンプが完了した後、問題のプログラ
ム30に対する遅延を最小限にとどめるため、
EDDCプロセス50の呼び出し側に制御が戻され
る。第8図に示すフオーマツトに従つてエラー・
ログ・データ・レコードが構成され、それは、次
のような情報を含む。(1)エラーを検出した問題プ
ログラム30が実行されているプロセツサの識別
子。この情報は、オペレーテイング・システム・
サービスを通じてアクセスされる。(2)EDDCプロ
セス50が呼び出された日付及び時間。この情報
は、オペレーテイング・システム・サービスを通
じてアクセスされる。(3)記憶ダンプ40を含むフ
アイルの名前。これは、EDDCプロセス50内の
記憶収集ルーチンから取得される。(4)エラーを検
出した問題プログラム30が走つているオペレー
テイング・システムの識別子。この情報は、オペ
レーテイング・システム・サービスを通じてアク
セスされる。(5)エラーを検出した問題プログラム
30の識別子。この情報は、アプリケーシヨン・
データ・テーブル(ADT)10中のアプリケー
シヨン・データ・ヘツダ・エントリ11から取得
される。(6)1次兆候ストリング。(7)エラーをさら
に識別するために必要な追加データの集まりであ
る2次兆候ストリング。エラー検出の時点での全
てのレジスタとその値が2次兆候ストリングに含
められなくてはならない。エラー・ログ・レコー
ドは、ソフトウエア問題エラー・ログ上に配置さ
れる。
次に、第10図に概略的に示すような総称的警
告をサポートするコンピユータ・ネツトワーク中
のプロセツサ上で実行されるソフトウエア・プロ
グラムのために、総称的警告が構成される。総称
的警告を構成するために複数のステツプが実行さ
れなくてはならない。第1のステツプでは、
EDDCプロセス・コール35(第7図)上の
ALERTDSCキーワードによつて選択された総称
的警告記述子エントリ13中の情報から、総称的
警告データ及び可能的原因サブベクトルが構築さ
れる。第9図は、総称的警告記述子エントリ・フ
イールドの、総称的警告データ及び可能的原因サ
ブベクトルの詳細なマツピングをあらわす。第2
のステツプでは、総称的警告原因サブベクトル
が、EDDCプロセス・コール35上の
ALERTCSEキーワードによつて選択された総称
的警告原因エントリ中の情報から構築される。第
9図はやはりこのマツピワグをも示す。第3のス
テツプでは、EDDCプロセス・コール35上の
ALERTRACキーワードによつて選択された総
称的警告推奨動作エントリ中の情報から、総称的
警告推奨動作サブベクトルが構築される。第9図
は、総称的警告推奨動作サブベクトルに対る、総
称的警告推奨動作エントリの詳細なマツピングを
示す。総称的警告の構成における最後の3つのス
テツプは、エラー・ログ55上に記憶されたソフ
トウエア問題エラー・ログ・レコードからの情報
を必要とする。エラー・ログ・レコードからは、
日付/時間サブベクトル、製品識別子サブベクト
ル、及び相関サブベクトルが構築される。相関サ
ブベクトルは、記憶ダンプ40を含むフアイルの
名前を含む。総称的警告70が一旦構築される
と、それは、遠隔プロセツサ200上で走るネツ
トワーク管理プログラム60から、オペレーテイ
ング・システム65を介して、ホスト・プロセツ
サ100での処理のために、ネツトワーク管理ア
プリケーシヨン75に渡される。ホスト・オペレ
ーテイング・システム80は次に、ネツトワー
ク・オペレータ85に通知を渡す。この時点で、
EDDCプロセスが終了する。
尚、この発明の好適な実施例は、単一のプログ
ラム中のソフトウエア・エラーの検出及び診断に
関連して説明されてきたが、この発明のシステム
と方法は、複数のソフトウエア・プログラムを同
時に処理するように容易に拡張することができこ
のことは、EDDCプロセス50を、第7図に示す
ような多重ADT10との共通のルーチンとして
実現することにより達成される。すると、各ソフ
トウエア・プログラム30は、少なくとも1つの
ATD10を関連付けられることになる。
F 付章 () アプリケーシヨン・データ・テーブル
(ADT)・マクロ ADTを構築するために使用されるマクロは、
BLDTABLE、ADSEENT、GADSCENT、及
びGARACENTである。これらのマクロのフオ
ーマツトは、以下に示すとおりである。
BLDTABLE BLDTABLEマクロは、ADTプロセス構築を
介しするために使用される。それは、ADT構築
プログラムにおける最初のマクロであり、各
ADTテーブル構築毎に一度存在する。その出力
は、テーブル中の最初のエントリである、アプリ
ケーシヨン・データ・ヘツダ・エントリである。
このマクロのフオーマツトは、次のとおりであ
る。
BLDTABLENAME=tablname, APPLID=pgmname, APPLVER=pgmversn, SVCLVL=svclevel ここで、 “tablname”は、このAPTに与えられる名前
である(このテーブルは、検出点でのEDDCコー
ル上で使用されるTABNAMEキーワードを通じ
て、この名前によつて選択される)。
“pgmname”は、このデータが関連するプロ
グラムの名前である。
“pgmversn”は、このプログラムのバージヨ
ンまたはリリース番号である。
“svclevel”は、このプログラムに既り適用さ
れた修正的サービスのレベルである。
ADSEENT ADSEENTマクロは、ADT中にアプリケーシ
ヨン・データ構造エンテイテイ・エントリを配置
するために使用される。このマクロは、ソフトウ
エア・プログラムによつて使用されるデータ構造
または制御ブロツクの記述を構築する。1つまた
はそれ異常のADSEENTが存在してもよく、そ
の各々は次のようなフオーマツトをもつ。
ADSEENTNAME=entrname, DSLENADR=lenadrs, DSNADRLN=nxadrlen, DSNXADRS=nextadrs, STPIDADR=stidadrs, STOPID=Stpidval, DSIDADR=dsidadr, DSID=dsidval, DSTITLE=dstitle ここで、“entrname”は、このエントリに割り
当てられた名前、 “lenadrs”は、このデータ構造の長さが配置
されている箇所のデータ構造中へのオフセツト、
“nextadrs”は、このデータ構造のチエインから
外れた、次のデータ構造のアドレスが配置されて
いる、このデータ構造中へのオフセツト(このキ
ーワードは、記述されているデータ構造が、連鎖
されたデータ構造の列中のリンクである場合にの
み使用される)。
“stidadrs”は、チエイン中の最後の識別子が
配置されている、このデータ構造へのオフセツト
である(このキーワードは、記述されているデー
タ構造が、連鎖されたデータ構造の列中のリンク
である場合にのみ使用される。この識別子は、
EDDCプロセスに、これが、連鎖されたデータ構
造の列中の最後のデータ構造であることを教え
る)。
“stpidval”は、EDDCプロセスがデータ構造
のチエインをダンプしている間に、チエイン・デ
ータ構造の最後が見い出された時を調べるための
チエツクを行う際に、比較のために使用される。
“dsidadr”は、データ構造識別子が配置され
ている箇所での、このデータ構造へのオフセツト
である(この識別子の値は、正しいデータ構造が
見いだされたことを保証するために、DSIDキー
ワードに割り当てられた識別子の値と比較され
る)。
“dsidval”は、DSIDADRキーワードとして
指し示される、このデータ構造中で見いだされた
データ構造識別子に比較する際に使用される値で
ある。
“dstitle”は、ダンプされた時このデータ構造
上に配置されることになるタイトルである。
GADSCENT GADSCENTマクロは、総称的警告記述子エ
ントリをADT中に配置するために使用される。
このマクロは、総称的警告サブベクトルのうちの
2つ。すなわち、総称的警告データ及び可能的原
因サブベクトルを構築するために必要な情報を含
むエントリを構築する。1つまたはそれ以上の
GADSCENTが存在することができ、その各々
は次のようなフオーマツトをもつ。
GADSCENTNAME=entrname, CATGY=errcatgy, DESCCDPT=desccp, PROBCCPS=(probccp1,…probccpx) ここで、“entrname”は、このエントリに割り
当てられた名前である。
“errcatgy”は、障害のカテゴリ(例えば、永
久的、一時的、未知)である。
“desccp”は、全体的なエラー記述をあらわ
す2バイト16進コード点である。
“probccpl”乃至“probccpx”はエラーの可
能的原因を識別する1乃至5個の16進コード点で
ある。
注意:コード点とは、システム・ネツトワー
ク・アーキテクチヤ総称的警告機能によつて使用
される用語である。それは、障害のある側面を記
述する2バイト16進の値をあらわす。この情報の
詳細は、「IBM SystemNetwork Architecture
Manual」注文番号GA27−3136に記載されてい
る。
GACSEENT GADSEENTマクロは、総称的警告原因エン
トリをADT中に配置するために使用される。こ
のマクロは、総称的原因サブベクトルを構築する
ために必要な情報を含むエントリを構築する。1
つまたはそれ以上GACSEENTが存在することが
でき、その各々は次のようなフオーマツトをも
つ。
GACSEENTNAME=entrname, CAUSE=causecat, CAUSECP=causecp, CPTEXT=((texttype,text),…,
(texttype,text)) ここで、“entrname”はこのエントリに割り当
てられた名前である。
“Causecat”は、原因のカテゴリ(例えば、
導入エラー、ユーザー、エラー、欠陥、未知)で
ある。
“causecp”は、障害の原因を識別する2バイ
ト16進コード点である。
“texttype”は、“text”が何をあらわすか
(例えば、プログラム・チエツク・コード、戻り
コード、エラー、コード)を識別する1バイト値
である。
“text”は、コード点(“causecp”を参照)に
関連するテキスト・データである。
注意:選択されたSNA警告原因コード点に応
じて、テキスト・データは、その選択されたコー
ド点に関連するテキスト中への挿入メツセージと
して必要とされることがある。
GARACENT GARACENTマクロは、総称的警告推奨動作
エントリをADT中に配置するために使用される。
このマクロは、総称的警告推奨動作サブベクトル
を構築するために必要な情報を含むエントリを構
築する。1つまたはそれ以上のGARACENTが
存在することができ、その各々は次のようなフオ
ーマツトをもつ。
GARACENTNAME=entrname, RECACTCT=racodept, CPTEXT=((texttype,text),…,
(texttype,text)) ここで、“entrname”は、このエントリに割り
当てられた名前である。
“racodept”は、障害を解決するために必要
な動作を識別する2バイト16進コード点である。
“texttype”は、“text”が何をあらわすか
(例えば、プログラム・チエツク・コード、戻り
コード、エラー・コード)を識別する1バイト値
である。
“text”は、コード点(“racodept”を参照)
に関連するテキスト・データである。
注意:選択されたSNA警告推奨動作コード点
に応じて、テキスト・データは、その選択された
コード点に関連するテキスト中への挿入メツセー
ジとして必要とされることがある。
(I) EDDCアプリケーシヨン・プログラ
ム・インターフエース EDDCプロセスは、呼び出しを通じてアクセス
され、捕獲されたデータと、生成された総称的警
告を決定する情報を必要とする。呼び出しのフオ
ーマツトとこの情報の記述は以下に示す通りであ
る。
CALL EDDC(TABLNAME=hable-name, ADSTENTS=((entry1,address),…,
(entryx,address)), MODNAME=module-name, DETPTID=dpid, ERRORCAT=Category, SYMSTRDT=((keyworfd,Value),
…,(keyword,value)), ALERTDSC=alert-dscentnm, ALERTCSE=(alert-csentnm1,…,
alert-csentnmx)), ALERTRAC=(alert-raentnml,…,
alert-raentnmx)), ここで、“table-name”は、EDDCプロセスに
よつて使用すべきADTの名前、 “entryl”は、捕獲する必要があるデータ構造
を記述するアプリケーシヨン・データ構造エンテ
イテイ・エントリの名前、 “address”は、データ構造の問題プログラム
内の開始アドレス(各エントリは、「アドレス」
でなくてはならない)、 “address”はまた、データ構造が位置する問
題プログラム内の記憶アドレス、 “module-name”は、エラーを検出したモジ
ユールまたは要素(すなわち、検出点がつまずい
た箇所からの)名前、 “dpid”は、MODNAMEキーワードによつて
識別されるモジユール/要素内の検出点を一意的
に識別する値、 “category”は、検出されたエラーの類別
(例えば、ループ、待機、不正データ)、 “keyword”は、“value”という値を記述す
る兆候ストリング・キーワード(表1は、サポー
ト兆候ストリング・キーワードとその意味のリス
トを与える)、 “value”は、兆候ストリング識別子に関連す
る値、 “alert-dscentnm”は、そのエラーに関連す
るTABNAMEキーワードによつて名付けられた
ADT中の総称的警告記述子エントリの名前、 “alert-csentnm”は、そのエラーに関連する
TABNAMEキーワードによつて名付けられた
ADT中の総称的警告原因エントリの名前(これ
らの名前を1つまたはそれ以上含めることができ
る)、 “alert-raentnm”は、そのエラーに関連する
TABNAMEキーワードによつて名付けられた
ADT中の総称的警告推奨動作エントリの名前
(これらの名前を1つまたはそれ以上含めること
ができる)である。
G 発明の効果 以上説明したように、この発明によれば、ソフ
トウエア・エラーが発生すると直ちにそれを検出
し、問題の分離と収集を容易ならしめる限定され
た量の診断データを自動的に集めるための方法が
提供される。
【図面の簡単な説明】
第1図は、アプリケーシヨン・データ・テーブ
ルの構築を示す概要図、第2図は、アプリケーシ
ヨン・テーブル・ヘツダ・エントリのフオーマツ
トを示す図、第3図は、アプリケーシヨン・デー
タ構造エンテイテイ・エントリのフオーマツト、
第4図は、総称的警告記述子エントリのフオーマ
ツト、第5図は、総称的警告原因エントリのフオ
ーマツト、第6図は、総称的警告推奨動作エント
リのフオーマツト、第7図は、早期検出データ捕
獲プロセスの使用と動作を示す概要図、第8A及
び8B図は、早期検出データ捕獲プロセスによつ
て生成されたエラー・ログ・レコードのフオーマ
ツトを示す図、第9図は、アプリケーシヨン・デ
ータ・テーブル・エントリ・フイールドと総称的
警告フイールドの間の相互参照を示す図、第10
図は、総称的警告をサポートするコンピユータ・
ネツトワークにおける早期検出データ捕獲プロセ
スの実現の概要図である。

Claims (1)

  1. 【特許請求の範囲】 1 コンピユータ・プロセツサ・システム上で動
    作するコンピユータ・ソフトウエア・プログラム
    中のエラーを検出し診断する方法において、 (a) 上記コンピユータ・ソフトウエア・プログラ
    ムの内部構造を決定し、該構造を、デイスク・
    フアイル中の少なくとも1つの予定のテーブル
    中に記録する段階と、 (b) 上記プログラム内に、診断データを収集すべ
    き時を知らせるようにソフトウエア・エラーの
    発生によつて個別に活動化されるエラー検出点
    を配置する段階と、 (c) 上記活動化されたエラー検出点によつて生成
    された、診断データを集めるための信号の受領
    に応答して、上記プログラムの制御を、データ
    収集及び報告ルーチンに渡す段階と、 (d) 上記データ収集及び報告ルーチンに対するマ
    クロ・コールにより、上記活動化されたエラー
    検出点によつて渡された第1の組のキーワード
    と値の対と、上記予定のテーブル中に含まれる
    プログラム構造に基づき、診断データを収集し
    て記憶する段階と、 (e) データ収集及び報告ルーチンの制御の下で、
    一意的な兆候ストリング識別子を生成する段階
    と、 (f) 上記兆候ストリング識別子をソフトウエア問
    題エラー・ログ中に記録する段階を有する、 プログラムのエラー検出方法。 2 ソフトウエア・エラー総称的警告を構築して
    該総称的警告をネツトワーク・モニタに送る段階
    をさらに有する請求項1の方法。 3 上記診断データが集められた後上記コンピユ
    ータ・ソフトウエア・システムに制御を戻し、プ
    ログラム実行を続ける段階をさらに有する請求項
    1の方法。 4 上記兆候ストリングが、ソフトウエア・エラ
    ーを一意的に記述し識別する第2の組のキーワー
    ドと値の対を含む請求項1の方法。 5 上記コンピユータ・ソフトウエア・プログラ
    ムの内部構造を決定する段階が、収集すべきデー
    タと、構築すべき総称的警告のタイプを決定する
    ために、上記ソフトウエア・プログラムのコーデ
    イングと並行して別個のジヨブとして予定のマク
    ロの組をコーデイングする段階を有する請求項2
    の方法。 6 上記予定のテーブルが、対応するソフトウエ
    ア・プログラムの識別情報と、上記ソフトウエ
    ア・プログラムによつて使用される各データ構造
    及び制御ブロツクのレイアウト及びフオーマツト
    と、ソフトウエア・エラー検出の原因と、そのソ
    フトウエア・エラーを解決するために必要な動作
    を含む請求項1の方法。 7 上記プログラム内にエラー検出点を配置する
    段階が、ソフトウエア・エラーが生じた場合のみ
    到達可能な上記ソフトウエア・プログラム内の点
    に、上記データ収集及び報告ルーチンに対するマ
    クロ・コールを位置づける段階を有する請求項1
    の方法。 8 上記診断データを収集し記憶する段階が、上
    記予定のテーブルを上記デイスク・フアイル中の
    メモリにロードし、上記データ収集及び報告ルー
    チンに対するマクロ・コール中に含まれるキーワ
    ードと値の対の第1の組に基づき、プログラム記
    憶から、上記キーワードと値の対によつて識別さ
    れるデータを収集し、該収集したデータをダン
    プ・フアイルに書き込む段階を有する請求項1の
    方法。 9 上記兆候ストリング識別子が、プログラム名
    と、プログラム・バージヨン及びリリース・レベ
    ルと、エラーを検出したプログラム・モジユール
    と、一意的な検出点識別子を含む請求項4の方
    法。 10 上記ソフトウエア問題エラー・ログが、プ
    ロセツサ及びプログラムを実行するオペレーテイ
    ング・システムの識別子と、上記データ収集及び
    報告ルーチンが呼び出された日付及び時間と、上
    記収集されたデータを含むダンプ・フアイルの名
    前と、上記問題のプログラムの識別子と、一意的
    なソフトウエア兆候ストリングを含む請求項4の
    方法。 11 コンピユータ・プロセツサ・システム上で
    走るコンピユータ・ソフトウエア・プログラム中
    のエラーを検出して診断するためのシステムであ
    つて、 (a) 上記ソフトウエア・プログラムの内部構造を
    あらわす少なくとも1つの予定のテーブルを生
    成するための手段と、 (b) 上記ソフトウエア・プログラム内の、ソフト
    ウエア・エラーが発生した場合のみアクセスす
    ることができる点に位置づけられ、上記プログ
    ラムの実行を中断させるためのエラー検出手段
    と、 (c) 上記エラー検出手段によつて通知された時に
    診断データを収集して記憶し、該ソフトウエ
    ア・エラーを一意的に記述し識別するための一
    意的兆候ストリングを生成するためのデータ収
    集及び報告手段とを具備する、 エラー検出システム。 12 ソフトウエア・エラー総括的警告を構成
    し、該総括的警告をネツトワーク・モニタに送る
    ための手段を有する請求項11のシステム。 13 上記ソフトウエア・エラーのためのエラ
    ー・レコードを発生し、上記エラー・レコードを
    永久的記憶媒体上のエラー・ログに記録するため
    の手段をさらに有する請求項11のシステム。 14 上記診断データと上記兆候ストリングをデ
    ータ・フアイルに永久的に記憶するための手段を
    さらに有する請求項11のシステム。 15 上記エラー検出手段によつて通知された時
    に上記ソフトウエア・プログラムから上記データ
    収集及び報告手段に制御を転送するための手段
    と、上記診断データが収集された後で上記ソフト
    ウエア・プログラムに制御を戻すための手段をさ
    らに有する請求項11のシステム。
JP2155575A 1989-06-16 1990-06-15 プログラムのエラー検出方法及びシステム Granted JPH0325629A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US367403 1989-06-16
US07/367,403 US5119377A (en) 1989-06-16 1989-06-16 System and method for software error early detection and data capture

Publications (2)

Publication Number Publication Date
JPH0325629A JPH0325629A (ja) 1991-02-04
JPH0432417B2 true JPH0432417B2 (ja) 1992-05-29

Family

ID=23447026

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2155575A Granted JPH0325629A (ja) 1989-06-16 1990-06-15 プログラムのエラー検出方法及びシステム

Country Status (3)

Country Link
US (1) US5119377A (ja)
EP (1) EP0403415A3 (ja)
JP (1) JPH0325629A (ja)

Families Citing this family (142)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2804125B2 (ja) * 1989-11-08 1998-09-24 株式会社日立製作所 情報処理システムの障害監視装置と制御方法
JP2978189B2 (ja) * 1989-11-16 1999-11-15 シャープ株式会社 自動フローチャート作成装置
EP0444315B1 (en) * 1990-02-26 1997-10-01 Digital Equipment Corporation System and method for software application event collection
US5396635A (en) * 1990-06-01 1995-03-07 Vadem Corporation Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system
US5513316A (en) * 1990-09-07 1996-04-30 Computervision Corporation Method and apparatus for exercising an integrated software system
US5528759A (en) * 1990-10-31 1996-06-18 International Business Machines Corporation Method and apparatus for correlating network management report messages
US5193180A (en) * 1991-06-21 1993-03-09 Pure Software Inc. System for modifying relocatable object code files to monitor accesses to dynamically allocated memory
CA2072169A1 (en) 1991-06-24 1992-12-25 Lih-Juan L. Danielson In-band/out-of-band alert delivery system
JPH05324544A (ja) * 1992-05-15 1993-12-07 Hitachi Ltd バス制御方法
EP0586767A1 (en) * 1992-09-11 1994-03-16 International Business Machines Corporation Selective data capture for software exception conditions
US5416726A (en) * 1992-10-06 1995-05-16 Microsoft Corporation Method and system for placing a computer in a reduced power state
US5463768A (en) * 1994-03-17 1995-10-31 General Electric Company Method and system for analyzing error logs for diagnostics
CA2147036A1 (en) * 1994-05-16 1995-11-17 Yih-Farn Robin Chen System and method for selective regression testing
US5615331A (en) * 1994-06-23 1997-03-25 Phoenix Technologies Ltd. System and method for debugging a computing system
US5872909A (en) * 1995-01-24 1999-02-16 Wind River Systems, Inc. Logic analyzer for software
JP3532289B2 (ja) * 1995-04-27 2004-05-31 三菱電機株式会社 計算機システム解析装置
US5828864A (en) * 1995-06-09 1998-10-27 Canon Information Systems, Inc. Network board which responds to status changes of an installed peripheral by generating a testpage
US5828863A (en) * 1995-06-09 1998-10-27 Canon Information Systems, Inc. Interface device connected between a LAN and a printer for outputting formatted debug information about the printer to the printer
US6067407A (en) * 1995-06-30 2000-05-23 Canon Information Systems, Inc. Remote diagnosis of network device over a local area network
US5819024A (en) * 1995-07-11 1998-10-06 Hitachi, Ltd. Fault analysis system
US5594861A (en) * 1995-08-18 1997-01-14 Telefonaktiebolaget L M Ericsson Method and apparatus for handling processing errors in telecommunications exchanges
US5740354A (en) * 1995-11-27 1998-04-14 Microsoft Corporation Method and system for associating related errors in a computer system
US5999933A (en) * 1995-12-14 1999-12-07 Compaq Computer Corporation Process and apparatus for collecting a data structure of a memory dump into a logical table
US5708774A (en) * 1996-07-23 1998-01-13 International Business Machines Corporation Automated testing of software application interfaces, object methods and commands
US5854924A (en) * 1996-08-08 1998-12-29 Globetrotter Software, Inc. Static debugging tool and method
US6202174B1 (en) * 1996-09-16 2001-03-13 Advanced Micro Devices Inc Method for identifying and correcting errors in a central processing unit
US6000046A (en) * 1997-01-09 1999-12-07 Hewlett-Packard Company Common error handling system
KR100243223B1 (ko) 1997-07-15 2000-02-01 윤종용 광 디스크 구동시 에러 정정방법
DE19827431C2 (de) * 1997-07-22 2000-12-07 Siemens Ag Verfahren zur Fehlererkennung in einem Prozessorsystem
US6182244B1 (en) * 1997-09-10 2001-01-30 International Business Machines Corporation System and method for automatically initiating a tracing facility and dynamically changing the levels of tracing currently active
US6275855B1 (en) * 1997-11-02 2001-08-14 R. Brent Johnson System, method and article of manufacture to enhance computerized alert system information awareness and facilitate real-time intervention services
US6052758A (en) * 1997-12-22 2000-04-18 International Business Machines Corporation Interface error detection and isolation in a direct access storage device DASD system
US6784925B1 (en) * 1998-03-24 2004-08-31 Canon Kabushiki Kaisha System to manage digital camera images
JPH11296459A (ja) * 1998-04-07 1999-10-29 Hitachi Ltd ネットワークシステム
US6295613B1 (en) * 1998-04-28 2001-09-25 International Business Machines Corporation Debug watch mechanism and method for debugging a computer program
US6321279B1 (en) * 1998-09-14 2001-11-20 Compaq Computer Corporation System for implementing intelligent I/O processing in a multi-processor system by redirecting I/O messages to a target central processor selected from the multi-processor system
WO2000054385A1 (en) * 1999-03-10 2000-09-14 Preview Systems, Inc. User transparent software malfunction detection and reporting
WO2000055953A1 (en) * 1999-03-15 2000-09-21 Smartsan Systems, Inc. System and method of event management and early fault detection
US6560772B1 (en) * 1999-10-15 2003-05-06 International Business Machines Corporation Method, system, and program for accessing data in different environments
US6748584B1 (en) 1999-12-29 2004-06-08 Veritas Operating Corporation Method for determining the degree to which changed code has been exercised
US6745383B1 (en) 1999-12-29 2004-06-01 Veritas Operating Corporation Early warning mechanism for enhancing enterprise availability
US6804814B1 (en) 1999-12-29 2004-10-12 Veritas Operating Corporation Method for simulating back program execution from a traceback sequence
US6915342B1 (en) * 2000-02-04 2005-07-05 Ricoh Company Limited Method and system for maintaining the business office appliance through log files
US6708333B1 (en) * 2000-06-23 2004-03-16 Microsoft Corporation Method and system for reporting failures of a program module in a corporate environment
US6618823B1 (en) 2000-08-15 2003-09-09 Storage Technology Corporation Method and system for automatically gathering information from different types of devices connected in a network when a device fails
US6823478B1 (en) * 2000-09-12 2004-11-23 Microsoft Corporation System and method for automating the testing of software processing environment changes
GB2366879B (en) * 2000-09-16 2005-02-16 Ibm Tracing the execution path of a computer program
USRE40866E1 (en) 2000-09-27 2009-08-04 Huron Ip Llc System, method, and architecture for dynamic server power management and dynamic workload management for multiserver environment
US7822967B2 (en) * 2000-09-27 2010-10-26 Huron Ip Llc Apparatus, architecture, and method for integrated modular server system providing dynamically power-managed and work-load managed network devices
US7032119B2 (en) * 2000-09-27 2006-04-18 Amphus, Inc. Dynamic power and workload management for multi-server system
US7552350B2 (en) 2000-09-27 2009-06-23 Huron Ip Llc System and method for activity or event base dynamic energy conserving server reconfiguration
US7228441B2 (en) 2000-09-27 2007-06-05 Huron Ip Llc Multi-server and multi-CPU power management system and method
US8219662B2 (en) * 2000-12-06 2012-07-10 International Business Machines Corporation Redirecting data generated by network devices
EP1237084A1 (fr) * 2001-01-23 2002-09-04 Koninklijke Philips Electronics N.V. Procédé pour rapporter des erreurs survenues dans l'exécution d'un programme dans un terminal électronique
US7689711B2 (en) 2001-03-26 2010-03-30 Salesforce.Com, Inc. System and method for routing messages between applications
US7516191B2 (en) * 2001-03-26 2009-04-07 Salesforce.Com, Inc. System and method for invocation of services
US9948644B2 (en) 2001-03-26 2018-04-17 Salesforce.Com, Inc. Routing messages between applications
US7788399B2 (en) 2001-03-26 2010-08-31 Salesforce.Com, Inc. System and method for mapping of services
US7305454B2 (en) * 2001-03-30 2007-12-04 Minor Ventures, Llc. Apparatus and methods for provisioning services
US7249195B2 (en) * 2001-03-30 2007-07-24 Minor Ventures, Llc Apparatus and methods for correlating messages sent between services
US20030196126A1 (en) * 2002-04-11 2003-10-16 Fung Henry T. System, method, and architecture for dynamic server power management and dynamic workload management for multi-server environment
US6880113B2 (en) * 2001-05-03 2005-04-12 International Business Machines Corporation Conditional hardware scan dump data capture
US20060248360A1 (en) * 2001-05-18 2006-11-02 Fung Henry T Multi-server and multi-CPU power management system and method
EP1274013A1 (en) * 2001-07-03 2003-01-08 Hewlett-Packard Company Process monitor module
US6973643B2 (en) * 2001-08-17 2005-12-06 International Business Machines Corporation Method, system and program for handling errors occurring in function calls
US7120901B2 (en) * 2001-10-26 2006-10-10 International Business Machines Corporation Method and system for tracing and displaying execution of nested functions
US6910159B2 (en) * 2002-02-20 2005-06-21 Microsoft Corporation System and method for gathering and automatically processing user and debug data for mobile devices
US7707409B2 (en) * 2002-04-30 2010-04-27 Kt Corporation Method and system for authenticating software
US20040249914A1 (en) * 2003-05-21 2004-12-09 Flocken Philip A. Computer service using automated local diagnostic data collection and automated remote analysis
US9069666B2 (en) * 2003-05-21 2015-06-30 Hewlett-Packard Development Company, L.P. Systems and methods for controlling error reporting and resolution
US7350112B2 (en) * 2003-06-16 2008-03-25 International Business Machines Corporation Automated diagnostic service
US7689872B2 (en) * 2003-07-01 2010-03-30 International Business Machines Corporation Autonomic program error detection and correction
US8453196B2 (en) 2003-10-14 2013-05-28 Salesforce.Com, Inc. Policy management in an interoperability network
US7904882B2 (en) 2003-10-16 2011-03-08 Salesforce.Com, Inc. Managing virtual business instances within a computer network
US8775654B2 (en) * 2003-12-19 2014-07-08 Salesforce.Com, Inc. Apparatus and methods for mediating messages
US7739351B2 (en) 2004-03-23 2010-06-15 Salesforce.Com, Inc. Synchronous interface to asynchronous processes
US7590685B2 (en) * 2004-04-07 2009-09-15 Salesforce.Com Inc. Techniques for providing interoperability as a service
US7308609B2 (en) * 2004-04-08 2007-12-11 International Business Machines Corporation Method, data processing system, and computer program product for collecting first failure data capture information
US20060031461A1 (en) * 2004-05-14 2006-02-09 Mathur Harish C Deferred method of sending information
US7546488B2 (en) * 2004-07-02 2009-06-09 Seagate Technology Llc Event logging and analysis in a software system
US7725605B2 (en) * 2004-08-06 2010-05-25 Salesforce.Com, Inc. Providing on-demand access to services in a wide area network
US7388248B2 (en) * 2004-09-01 2008-06-17 Micron Technology, Inc. Dielectric relaxation memory
US7143222B2 (en) * 2004-09-21 2006-11-28 International Business Machines Corporation Adaptive message delivery system
US9645712B2 (en) 2004-10-01 2017-05-09 Grand Central Communications, Inc. Multiple stakeholders for a single business process
US7721328B2 (en) 2004-10-01 2010-05-18 Salesforce.Com Inc. Application identity design
US7478283B2 (en) * 2005-01-22 2009-01-13 International Business Machines Corporation Provisional application management with automated acceptance tests and decision criteria
US20070028216A1 (en) * 2005-07-28 2007-02-01 Boss Gregory J Systems and methods for embedded application test suites
US7523352B2 (en) * 2005-09-09 2009-04-21 International Business Machines Corporation System and method for examining remote systems and gathering debug data in real time
US8230396B2 (en) * 2006-01-06 2012-07-24 International Business Machines Corporation Apparatus and method to debug a software program
US8863148B1 (en) * 2007-01-09 2014-10-14 Marvell International Ltd. Small debug print
US20080276129A1 (en) * 2007-05-02 2008-11-06 International Business Machines Corporation Software tracing
US7818633B2 (en) * 2007-06-29 2010-10-19 International Business Machines Corporation Method and apparatus for identification of program check errors indicating code with high potential for storage overlay
JP2009059005A (ja) * 2007-08-29 2009-03-19 Panasonic Corp デバッグシステム、デバッグ装置および方法
CN101398781B (zh) * 2007-09-30 2010-11-10 英业达股份有限公司 一种快速诊断系统软件缺陷的系统及方法
US20090138854A1 (en) * 2007-11-22 2009-05-28 Suresh Mani Software error detection method, software module, database and system
JP2009205488A (ja) * 2008-02-28 2009-09-10 Mitsubishi Electric Corp ロギング装置および記録媒体
JP5353063B2 (ja) * 2008-05-30 2013-11-27 富士通株式会社 対処知識の生成プログラム、対処知識の生成装置および対処知識の生成方法
US20090313506A1 (en) * 2008-06-12 2009-12-17 Microsoft Corporation Test Result Aggregation and Analysis Using Text Expressions
JP5509568B2 (ja) * 2008-10-03 2014-06-04 富士通株式会社 コンピュータ装置、プロセッサ診断方法、及びプロセッサ診断制御プログラム
US8793223B1 (en) * 2009-02-09 2014-07-29 Netapp, Inc. Online data consistency checking in a network storage system with optional committal of remedial changes
US20100269091A1 (en) * 2009-04-20 2010-10-21 International Business Machines Corporation Jvm exception debugging
CN102056202A (zh) * 2009-10-29 2011-05-11 中兴通讯股份有限公司 移动终端错误处理方法及系统
CN102646068B (zh) * 2010-04-13 2015-01-07 江苏理工学院 一种软件探测器的软件探测方法
CN102662827B (zh) * 2010-04-13 2015-02-04 张溟 一种软件探测方法
US8364813B2 (en) 2010-11-02 2013-01-29 International Business Machines Corporation Administering incident pools for event and alert analysis
US8386602B2 (en) 2010-11-02 2013-02-26 International Business Machines Corporation Relevant alert delivery in a distributed processing system
US8495661B2 (en) 2010-11-02 2013-07-23 International Business Machines Corporation Relevant alert delivery with event and alert suppression in a distributed processing system
US8621277B2 (en) 2010-12-06 2013-12-31 International Business Machines Corporation Dynamic administration of component event reporting in a distributed processing system
US8868984B2 (en) 2010-12-07 2014-10-21 International Business Machines Corporation Relevant alert delivery in a distributed processing system with event listeners and alert listeners
US8805999B2 (en) 2010-12-07 2014-08-12 International Business Machines Corporation Administering event reporting rules in a distributed processing system
US8737231B2 (en) 2010-12-07 2014-05-27 International Business Machines Corporation Dynamic administration of event pools for relevant event and alert analysis during event storms
US8645757B2 (en) 2011-05-26 2014-02-04 International Business Machines Corporation Administering incident pools for event and alert analysis
US8676883B2 (en) 2011-05-27 2014-03-18 International Business Machines Corporation Event management in a distributed processing system
US9213621B2 (en) 2011-05-27 2015-12-15 International Business Machines Corporation Administering event pools for relevant event analysis in a distributed processing system
US8713366B2 (en) 2011-06-22 2014-04-29 International Business Machines Corporation Restarting event and alert analysis after a shutdown in a distributed processing system
US9419650B2 (en) 2011-06-22 2016-08-16 International Business Machines Corporation Flexible event data content management for relevant event and alert analysis within a distributed processing system
US8880943B2 (en) 2011-06-22 2014-11-04 International Business Machines Corporation Restarting event and alert analysis after a shutdown in a distributed processing system
US8392385B2 (en) 2011-06-22 2013-03-05 International Business Machines Corporation Flexible event data content management for relevant event and alert analysis within a distributed processing system
US9178936B2 (en) 2011-10-18 2015-11-03 International Business Machines Corporation Selected alert delivery in a distributed processing system
US20130097272A1 (en) 2011-10-18 2013-04-18 International Business Machines Corporation Prioritized Alert Delivery In A Distributed Processing System
US8887175B2 (en) 2011-10-18 2014-11-11 International Business Machines Corporation Administering incident pools for event and alert analysis
US8954811B2 (en) 2012-08-06 2015-02-10 International Business Machines Corporation Administering incident pools for incident analysis
US8943366B2 (en) 2012-08-09 2015-01-27 International Business Machines Corporation Administering checkpoints for incident analysis
US8904412B2 (en) * 2012-09-26 2014-12-02 International Business Machines Corporation Dynamic performance data collection in large computer servers
US9471411B2 (en) 2013-01-23 2016-10-18 International Business Machines Corporation Monitoring and capturing early diagnostic data
US9361184B2 (en) 2013-05-09 2016-06-07 International Business Machines Corporation Selecting during a system shutdown procedure, a restart incident checkpoint of an incident analyzer in a distributed processing system
US9170860B2 (en) 2013-07-26 2015-10-27 International Business Machines Corporation Parallel incident processing
US9658902B2 (en) 2013-08-22 2017-05-23 Globalfoundries Inc. Adaptive clock throttling for event processing
US9256482B2 (en) 2013-08-23 2016-02-09 International Business Machines Corporation Determining whether to send an alert in a distributed processing system
US9602337B2 (en) 2013-09-11 2017-03-21 International Business Machines Corporation Event and alert analysis in a distributed processing system
US9086968B2 (en) 2013-09-11 2015-07-21 International Business Machines Corporation Checkpointing for delayed alert creation
US10152366B2 (en) * 2013-09-24 2018-12-11 Nec Corporation Log analysis system, fault cause analysis system, log analysis method, and recording medium which stores program
US9389943B2 (en) 2014-01-07 2016-07-12 International Business Machines Corporation Determining a number of unique incidents in a plurality of incidents for incident processing in a distributed processing system
CN105159831A (zh) * 2015-08-31 2015-12-16 浪潮集团有限公司 一种软件代码质量自动监控方法
US9946592B2 (en) 2016-02-12 2018-04-17 International Business Machines Corporation Dump data collection management for a storage area network
US11016862B2 (en) * 2017-05-23 2021-05-25 International Business Machines Corporation Error-initiated mirror redrive to collect diagnostic information
US10628280B1 (en) 2018-02-06 2020-04-21 Northrop Grumman Systems Corporation Event logger
US10762211B2 (en) * 2018-04-12 2020-09-01 United States Of America, As Represented By The Secretary Of The Navy Source code diagnostic instrument
US11061809B2 (en) * 2019-05-29 2021-07-13 Red Hat, Inc. Software debugging system with improved test execution and log file tracking
US11580255B2 (en) 2019-11-11 2023-02-14 Bank Of America Corporation Security tool for n-tier platforms
CN112407326B (zh) * 2020-11-13 2022-07-12 峰飞航空科技(昆山)有限公司 无人机系统故障诊断方法、装置、电子设备和存储介质
US20240311490A1 (en) * 2023-03-13 2024-09-19 Microsoft Technology Licensing, Llc. Code repair using error-checking macros as signals of vulnerabilities

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3551659A (en) * 1969-05-05 1970-12-29 Charles O Forsythe Method for debugging computer programs
US3664569A (en) * 1970-07-09 1972-05-23 H 2 O Filter Corp The Packaging structure
US3937938A (en) * 1974-06-19 1976-02-10 Action Communication Systems, Inc. Method and apparatus for assisting in debugging of a digital computer program
US4462077A (en) * 1982-06-24 1984-07-24 Bell Telephone Laboratories, Incorporated Trace facility for use in multiprocessing environment
US4514846A (en) * 1982-09-21 1985-04-30 Xerox Corporation Control fault detection for machine recovery and diagnostics prior to malfunction
DE3678893D1 (de) * 1985-10-03 1991-05-29 Mitsubishi Electric Corp Rechnerprogrammdebugsystem.
EP0228559A1 (de) * 1985-12-17 1987-07-15 BBC Brown Boveri AG Fehlertolerante Mehrrechneranordnung
CA1256498A (fr) * 1986-02-19 1989-06-27 Jean Auger Appareil universel de detection de defectuosites dans des systemes a microprocesseur
US4696003A (en) * 1986-03-10 1987-09-22 International Business Machines Corporation System for testing interactive software
US4802165A (en) * 1986-10-08 1989-01-31 Enteleki, Inc. Method and apparatus of debugging computer programs
US4965772A (en) * 1987-06-15 1990-10-23 International Business Machines Corporation Method and apparatus for communication network alert message construction

Also Published As

Publication number Publication date
EP0403415A2 (en) 1990-12-19
EP0403415A3 (en) 1991-12-11
US5119377A (en) 1992-06-02
JPH0325629A (ja) 1991-02-04

Similar Documents

Publication Publication Date Title
JPH0432417B2 (ja)
US6182243B1 (en) Selective data capture for software exception conditions
US7975179B2 (en) Techniques for automatic software error diagnostics
US7475387B2 (en) Problem determination using system run-time behavior analysis
US7219266B2 (en) Method and system for categorizing failures of a program module
US8140565B2 (en) Autonomic information management system (IMS) mainframe database pointer error diagnostic data extraction
US8429467B2 (en) User-triggered diagnostic data gathering
US7320125B2 (en) Program execution stack signatures
JP5495310B2 (ja) 情報処理装置、障害解析方法及び障害解析プログラム
US20070067754A1 (en) Server application state
CN115964218A (zh) 高速串行计算机扩展总线设备故障的识别方法及装置
CN116662285A (zh) 服务器日志的存储方法和装置、存储介质及电子装置
US8327189B1 (en) Diagnosing an incident on a computer system using a diagnostics analyzer database
CN111737354A (zh) 数据一致性的检测方法、装置、系统及介质
US6832342B2 (en) Method and apparatus for reducing hardware scan dump data
US20080010536A1 (en) Breakpoints with Separate Conditions
US20060168165A1 (en) Provisional application management with automated acceptance tests and decision criteria
US6671826B1 (en) Fast database state dumps to file for deferred analysis of a database
US7818646B1 (en) Expectation based event verification
JP3342039B2 (ja) ファイルを管理する処理装置
CN114253846B (zh) 自动化测试异常定位方法、装置、设备及可读存储介质
JP2878014B2 (ja) Ram試験方式
CN118938857A (zh) 一种数据分析方法、装置及电子设备
CN120104428A (zh) 一种linux文件系统元数据监控方法、系统及介质
JP2522064B2 (ja) 障害検出制御方式