JPH0325629A - プログラムのエラー検出方法及びシステム - Google Patents

プログラムのエラー検出方法及びシステム

Info

Publication number
JPH0325629A
JPH0325629A JP2155575A JP15557590A JPH0325629A JP H0325629 A JPH0325629 A JP H0325629A JP 2155575 A JP2155575 A JP 2155575A JP 15557590 A JP15557590 A JP 15557590A JP H0325629 A JPH0325629 A JP H0325629A
Authority
JP
Japan
Prior art keywords
program
error
software
data
error detection
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.)
Granted
Application number
JP2155575A
Other languages
English (en)
Other versions
JPH0432417B2 (ja
Inventor
Paul R Cobb
ポール・レイモンド・コブ
Christopher J Lennon
クリストフア・ジヨン・レノン
Kenneth J Long
ケネス・ジヨン・ロング
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A.産業上の利用分野 この発明は、ソフトエアのエラー検出のための方法及び
システムに関するものである。
B.従来の技術 歴史的には、大抵のソフトウェアは、それが決して障害
を起こさないという仮定の下で設計されてきた。そして
、ソフトウェアには、エラー検出能力が殆どまたは全く
デザインされなかった。そして、ソフトウェア・エラー
または障害が生じた時、エラーを検出するのが通常コン
ピュータ・オペレーティング・システムであるかまたは
、プログラムが正しい結果をもたらさないが故にコンピ
ュータ・オペレータがソフトウェア・プログラムの実行
を取り消すかである。
ソフトウェア・エラーまたは障害の場合、そのソフトウ
ェア・プログラムによって使用される記憶領域全体を捕
捉することが一般的である。しかし、プログラム障害が
明るみに出る前にエラーが起こるので、エラーまたは障
害の原因を決定するために必要なキー・データは多くの
場合失われるかまたは上書きされており、エラーが最終
的にあらわれた点まで実行がどのようにして辿り着いた
かが明らかでない。大抵のプログラム開発者は、ソフト
ウェア・エラーを分離するため、トレーシングと呼ばれ
るプロセスを使用する。
トレーシングを使用するためには、実行の径路を通過す
るデータをサンプルするべく、問題のプログラム内にト
レース点を配置しなくてはならない。もし可能なら、問
題が再現され、トレース点からのデータが集められる。
しかし、不都合にも、トレーシングは次のような悪い副
次的効果を及ぼす。その第1として、トレーシングは、
トレース点に遭遇する毎にトレース・ルーチンへ分岐す
ることを要するが、そのことはしばしば、問題のプログ
ラムのみならず、そのシステム上で動作している別のプ
ログラムにも重大な影響を及ぼす。第2に、トレーシン
グは、トレース点によって生成されるデータのボリュー
ムを収めるための膨大なデータ・セットを必要とする。
第3に、診断データを捕捉するためにトレーシングを使
用するプログラマは、自分が、大部分がエラーの原因を
反映しないような大量のデータをふるいにかけているこ
とを気づくことになる。第4に、もしソフトウェアの問
題が、2つのプログラム(例えば、互いに通信するネッ
トワーク・プログラム)の閏のタイミングの問題によっ
て引き起こされたものであるなら、トレースは、ほとん
どのタイミングの問題が再現され得ない点までプログラ
ムの実行を低下させることになりかねない。第5に、プ
ログラムの問題が解決された後、プログラムは、市販に
リリースされる前にすべてのトレース点は除去され、再
コンパイルされなくてはならない。
全てのデータが集められ、プログラム・エラーの原因が
決定され、解決手段が施されてテストされた後、ソフト
ウェア支援要員が依然として別の問題に11面すること
がある,もしこの問題が別のプロセッサ上で動作する同
一のソフトウェアの別のコピーで発生するなら、それを
いかに迅速に決定することができようと、既に解決され
た問題を解決しようと資源が無駄使いされてしまうので
はなかろうか。これが現在の技法の別の欠点である。ソ
フトウェアの問題が既に解決され、報告され、または解
決されたかどうか、を決定しようとするとき、ソフトウ
ェア支援要員は、エラーまたは障害に遭遇した人員から
の問題の記述に依存することになる。しかし、しかし人
が異なると問題の兆候も興なって記述され、そのことは
、既知の問題を識別し、既存の解決策を当てはめること
を、不可能ではないにしても、困難にする。ソフトウェ
ア・プログラマは、ソフトウェアの問題が報告されてお
りそれが早期に解決されていることを後で見いだすため
にのみ、ソフトウェア問題の診断データを検討するのに
数時間あるいは数日を費やすことがある。
従来技術の典型的なものとしては、米国特許第4802
165号、同第3551659号、同第3937938
号がある。米国特許第4802165号は、プログラム
のさまざまな位置に挿入されたマクロ・コールを使用す
ることによって、コンピュータ・プログラムをデバッグ
するための方法及び装置を開示する。このシステムは、
テストされるプログラムからのトレース出力を記録し、
トレース出力は、無条件的、すなわち、エラーが生じた
か否かにかかわらず発生される。米国特許第35516
59号は、さまざまなテスト点でプログラムをテストし
、出力装置上にエラー状況情報を自動的に記録すること
によってコンピュータ・プログラムをデバッグする方法
を開示する。
これにおいては、選択されたテスト点が、エラー・チェ
ック・ルーチンへの無条件転送の呼び出しを引き起こす
。米国特許第3937938号は、メモリ構造中に、プ
ログラムの誤動作が生じた時点の最近に実行された16
個のプログラム命令を永久的に記憶することによる、エ
ラーの検出とプログラムのデバッグの支援のための方法
を開示する。
要約すると、ソフトウェア・エラー検出のための既存の
プロセスは、ソフトウェア・エラーによって引き起こさ
れるIII害があらわれるのを待つという方法論を採用
するものである。そして、データ・トレース点が挿入さ
れ、問題が再現され、大量のデータを集めながら問題の
プログラムの実行径路が追跡され、望ましくは、何が悪
化したかを決定するデータが捕獲される。
C.発明が解決しようとする課題 この発明の目的は、ソフトウェア・エラーが発生すると
直ちにそれを検出し、問題の分離と収集を容易ならしめ
る限定された量の診断データを自動的に集めるための方
法を提供することにある。
この発明の別の目的は、問題のプログラム中のソフトウ
ェア・エラーの結果として条件付きでイネーブルされ、
さもなければ休眠状態にとどまるようなエラー検出のた
めのシステムを提供することにある。
この発明のさらに別の目的は、デバッグが完了した後で
除去されるような選択されたトレース点に一時的にマク
ロ・コールを配置するのではなく、ソフトウェア・プロ
グラム内のエラー検出点に永久的にマクロ・コールを配
置することに依存するエラー検出のためのシステムを提
供することにある。
この発明のさらに別の目的は、捕獲されたデータから、
問題一意的に識別する兆候ストリングを自動的に構築し
、ネットワーク監視者に対して総括的警告を生成するこ
とにある。
この発明のさらに別の目的は、プログラムをデバッグす
ることに関連するオーバーヘッドを最小限にととめ、以
てコンピュータ資源に対する影響を最小限に抑える、エ
ラー検出及び分離のためのシステムを提供することにあ
る。
D.課題を解決するための手段 上記目的は、プログラム内の戦略的位置でソフトウェア
処理の条件付きチェックを要求する技法を利用するプロ
セスによって達或される。この論理がエラーを検出する
時、そのプロセスが呼ばれ、そのプロセスはエラーを診
断するために必要なデータのみを集める。このプロセス
は、早期検出データ捕獲(EDDC)プロセスとして知
られる。それは、エラー検出点で識別されたきわめて特
定のプログラム情報を捕獲する、テーブル駆動データ収
集及び報告ルーチンである。それは、ソフトウェア兆候
ストリングとして知られる一意な間am別子を構築し、
例えば、IBMシステム・ネットワーク・アーキテクチ
ャ(SNA)を利用するコンピュータ・ネットワークに
おけるIBMSNA総称的警告機能を使用して、オペレ
ータに対して問題の自動的な通知を送る。
EDDCプロセスは、ソフトウェア問題プログラム内の
エラー検出コードからの必要な最小限の情報で、ソフト
ウェア・エラーのための洗練されたデータ捕捉機能と通
知機構を提供する。また、ED・DCプロセスは、問題
のプログラムによって使用されるデータ構造及び記憶領
域のレイアウト及びフォーマットを記述する予定のテー
ブルの使用を通じて、この能力を提供する。エラーが検
出された時、EDDCプロセスに対する呼び出しは、収
集されるべきデータと、通知のため構築されるべき総称
的警告のタイプについての基本的情報を含む。
早期検出データ捕獲プロセスは、最初に開発された時点
でソフトウェア・プログラム内に戦略的に位置づけられ
る、永久的に配置されたエラー検出点を使用する。この
検出点は、その実行全体に亙るソフトウェア・プログラ
ムの状況をチェックする。そして、もしエラーが検出さ
れると、EDDCプロセスが呼び出される。もしエラー
が検出されないなら、EDDCプロセスは、完全に非活
動性のままとどまる。
早期検出データ捕獲プロセスには、5つの主要な利点が
ある。その第lは、エラー検出点が、その開発の間にソ
フトウェア・プログラム内に永久的に配置されるという
ことである。そして、ソフトウェア・プログラムがエラ
ーに遭遇するとき、追加的なコード(例えばトレース点
)は必要でない。第2に、ソフトウェア・エラーを診断
するため・に必要なデータは、新しいプロセスについて
エラーが発生した最初の時点で捕獲され、問題の再現を
必要としないということである。第3に、早期に検出さ
れたエラーは、エラー検出が大抵の場合あまりにも遅れ
て検出される従来のプロセスとは興なり、永久的なプロ
グラムの損害(データペース破壊、プログラム・コード
の上書きなど)が発生する前に停止することができる、
ということである。第4に、エラーを診断するためにわ
ずかのデータしか収集されず、もってデータ・ダンブ・
リストが小さくなり、記憶すべきデータが減り(ディス
ク・スペースがすこしでよい)、データを収集し出力す
るためのコンピュータによる処理時間が減少する、とい
うことがある。それとは対照的に、トレース点は膨大な
量のデータを捕獲する。第5に、早期エラー検出は、エ
ラーの分離を戒功させる確立を向上させ、以て完全なソ
フトウェア・プログラムの障害の機会を減少させる。
その結果、より高い可用事をもつソフトウェア・プログ
ラムがもたらされる。
E.実施例 EDDCプロセスは、アプリケーション・データ・テー
ブル(ADT)と称するテーブルの構築を必要とする。
そのエントリは、問題のプログラムについての詳細な情
報を含み、EDDCプロセスに対する呼び出しの時点で
、パラメータとじてのエラー検出コードによって選択さ
れる。EDDCプロセスは、このテーブル情報を、特定
のプログラム領域のダンブを生威し、ソフトウェア・エ
ラー・ログ中でエントリを作威し、ソフトウェア総称的
警告を構築するために使用する。それは、プロセスに、
有用且つ意味のある診断データ出力を提供するために必
要な全ての情報を与える予定のテーブルである。
第1図を参照すると、テーブル10は、後述する付章で
詳細に説明されているソフトウェア・マクロ20の組を
使用して構築されたものである。
そのテーブル・エントリ情報は、エラー検出コードによ
って選択され、やはり付章で記述されているマクロ・コ
ールを介してプロセスに渡される。
この選択は、プロセスに、何が捕獲されるべきかという
ことと、構築されるべき総称的警告のタイプを知らせる
。ADT 1 0は、次のようなエントリ・タイプ、す
なわち、アプリケーション・データ・ヘッダ、アプリケ
ごション・データ構造エントリ、総称的警告記述子、総
称的警告原因、及び総称的推奨動作のうちの1つまたは
それ以上を含む。
アプリケーション・データ・ヘッダ・エントリ11は、
問題のプログラムについての大域的情報を含む。そこに
含まれるのは、問題のプログラムの名前と、そのバージ
ョンまたはリリース番号である。テーブル毎にこれらの
エントリのうちの1つだけが存在する。それは、BLD
TABLEマクロ21を介してADT中に含まれる。こ
のエントリのフォーマット及び構造は、第2図に示され
ている。
アプリケーション・データ構造エソティティ・テーブル
・エントリ12は、問題のプログラムによって使用され
る単一のデータ構造または制御ブロックのレイアウト及
びフォーマットである。それは、データ構造の長さ及び
名前などの情報を含む。それは、ADSEENTマクロ
22のコーディングによって、ADT中に含まれる。こ
れらのエントリの1つまたはそれ以上が、ADSEEN
Tキーワードを介して検出点で選択される。EDDCプ
ロセスは、どの記憶領域が捕獲に必要であるかを決定す
るためにこう情報を使用する。このテーブル・エントリ
の構造は、第3図に示されている。
総称的警告記述子テーブル・エントリ13は、総称的警
告によって必要とされる、検出されたエラーのカテゴリ
についての情報を含む。それは、GADSCENTマク
ロ23のコーディングによってADT中に含められる.
ALERTDSCキーワードによって検出点で選択され
ると、EDDCプロセスはそれを、総称的警告通知のた
めの総称的警告データ及び可能的原因サブベクトルを構
築するために使用する。このテーブル・エントリの構造
は、第4図に示されている。
総称的警告原因テーブル・エントリ14は、総称的警告
によって必要とされる、検出されたエラーの原因につい
ての情報を含む。それは、GACSEENTマクロ24
に辻ってADT中に含められる。これらのうちの1つま
たはそれ以上を、ALERTCSEキーワードによって
検出点で選択することができる。EDDCプロセスは、
総称的警告通知のための原因サブベクトルを構築するた
めにこれらを使用する。そのテーブル・エントリは、第
5図に示されている。
総称的警告推奨動作テーブル・エントリ15は、エラー
を解決するために必要な動作についての情報を含む。そ
れは、GAEACENTマクロ25のコーディングによ
ってADT中に含められる。これらの1つまたはそれ以
上を、AKERTRACキーワードを介して検出点によ
って選択することができる。EDDCプロセスは、総称
的警告通知のための推奨動作サブベクトルを構築するた
めにそれを使用する。このテーブル・エントリの構造は
、第6図に示されている。
第7図に示されているような、ソフトウェア・プログラ
ムによるEDDCプロセスの使用には、2つの異なる動
作が必要である。第1に、ソフトウェア・プログラマは
,EDDCソフトウェア・マクロのセットを使用して、
ソフトウェア・プログラムの記憶の使用の内部構造を記
述する。これらのマクロは、通常、ソフトウェア・プロ
グラムの開発と並行する個別のジョブとしてコーディン
グされる。これらのマクロからの出力は、そのエントリ
が、EDDCプロセス50によって必要とされる総称的
警告情報及びソフトウェア・プログラム30によって使
用されるデータ構造(例えば、制御ブロック、データ領
域)を記述するような、アブリケーシもン・データ・テ
ーブル(ADT)10を含む。第2に、アプリケーショ
ン・プログラマがエラー検出コード35またはEDDC
コールを、プログラム開発の間に、ソフトウェア・プロ
グラム30内のエラー検出点に配置する。これらの検出
点35は、「起こるべきでない」条件の存在を検出する
ことになる。
検出点を配置することができる点の例としては次のよう
なものがある。(1)ループafIAを実現するソフト
ウェア・コードにおいては、ループが実行される回数を
カウントし、それをある最大値と比較する。もしそれが
最大値を超えたなら、EDDCプロセスが呼び出される
。(2)プログラムがデータを求めて別のプログラムを
呼び出す場合はいつでも、その別のプログラムが期一待
されたタイプ及びデータの範囲の値を返したことを検証
する。もしそうでないなら、EDDCプロセスがコール
される。(3)プログラムが別のプログラムに対してデ
ータの要求を発行する時はいつでも、その応答に許容さ
れる最大の待ち時間をタイマにセットする。もし制御が
戻る前にタイマが切れるなら、EDDCプロセスが呼ば
れる。(4)もし別のソフトウェア・ルーチン(例えば
、記憶取得、データベース読取〉からのサービスを実行
するためにソフトウェア・ルーチンが呼ばれ、または要
求され、その呼び出しがエラーである(例えば、その機
能がサポートされていない、呼び出しに無効なデータが
あった〉なら、EDDCプロセスが呼び出される。
エラー検出点でつまずいた時はいつでも、検出点がED
DCプロセスを呼び出し、それに必要な情報を渡す。E
DDCプロセス5oが呼び出された時、それは次のよう
に動作を行う。(1)TABNAMEキーワードによっ
てEDDCコール35中で名付けられたADT 1 0
がディスクからメモリにもってこられる(ADTは、そ
れが構築された後はディスク・ファイルとして格納され
る)。(2)EDDCコール35上でADSEENTキ
ーワードによって選択されたアブリケーシヲン・データ
・エントリ・エンティティ12が、EDDCプロセス5
0によって突き止められる。これらの名付けられたエン
トリのうちのめいめいの1つによって識別されるプログ
ラム記憶が収集されて単一のプログラム・ダンプ・ファ
イル40中に配置される。そのダンプ・ファイルの名前
は、プロセスが実現きれる時ユーザーによって選択可能
なシーケンス名付け規約を使用して動的に構築される。
EDDCプロセス50は、シーケンス中の次の名前を自
動的に選択する。ユーザーはルート名またはブリフィッ
クスと、1からEDDCプロセス50が作成することに
なるダンプ・ファイルの最大数までの数を選択し、それ
はルートまたはプリフィックスに追加される。例えば、
ルート名はAPPLDMPであり、任意の瞬間に存在す
ることができるダンプ・ファイルの最大数は9である。
EDDCプロセス50は、APPLDMP1に最初のダ
ンプを排置し、コールされた時APPLDMP9が構築
されるまでダンブ・データ・セットを構築し続ける。そ
の後、EDDCプロセス50は、前のどれかのダンプ・
データがクリアされたかどうかをチェックする。もしそ
うでないなら、EDDCプロセス50が、ダンプ・デー
タ・セットが可用でなくダンブは行われないことを述べ
るメッセージを発行する。(3)ダンプ・ファイルの最
初に、1次兆候ストリングとして知られる一意的な問題
識別子が排置される。その兆候ストリングは、キーワー
ドと値の対の組からなる。そのキーワードは、それに関
連する意味を識別する。EDDCプロセス50によって
構築された兆候ストリングは、次のようなものである。
゛PIDS/xxxxxxxx  LVLS/1111
1111  RIDS/rrrrrrrr  PCSS
/ssssssss  (追加データ)’PID’キー
ワードは、関連の値’xxxxxXXX゜が、エラー条
件を検出した問題プログラムの名前を含むことを指定す
る。この値は、数または名前である。それは、アブリケ
ーシ3ン・データ・テーブル10中のアプリケーション
・テーブル・ヘッダ・エントリ11から取得される。
’LVLS“キーワードは、関連値’1 1 1 1 
1111゛が、エラーを検出した問題のプログラムのバ
ージョンまたはリリース・レベルを含むことを指定する
。この値は、アプリケーション・データ・テーブル10
中のアプリケーション・テーブル・ヘッダ・エントリ1
1から取得される。
’RIDS’キーワードは、関連値’rrrrrrrr
゛が、エラーを検出した問題のプログラムのモジュール
または要素の名前を含むことを指定する。この値は、E
DDCコール35上のMODNAMEキーワードから取
得される。
’pc s s’キーワードは、関連値’8S3S89
98゛が固有の検出点識別子を含むことを識別する。こ
の値は、EDDCコール35上で渡されたDETPTI
DキーワードからEDDCプロセス60によって受け取
られたものである。PCSS値は通常、そのモジュール
内で一意的なシーケンス番号である。EDDCコール3
5上のMODNAMEキーワードからのモジュールまた
は要素名とともに、この識別子は、そのソフトウェア・
エラーを検出した検出点を一意的に識別することになる
(追加データ)は、EDDCプロセス50によって兆候
ストリング45に追加されたデータである。それはED
DCプロセス・コール35上のSYMSTRDTキーワ
ードを介してEDDCプロセス50によって受け取られ
たものである。これは、プログラム開発者が、兆候スト
リングに含めるべきプロセスに渡すことができる追加情
報である。各兆候ストリング・エンティティは、フォー
マット゛x x x x / v v v v v v
 v v ’をもち、ここで’xxxx′は、関連値”
vvvvvvvvlのカテゴリを識別するキーワードで
ある。EDDCプロセスによって使用されサポートされ
るキーワード全体のセットは以下の第1表に示す通りで
ある。
第1表 兆候ストリング・キーワード ’AB’−’vvvvvvvv’が異常終了(ABEN
D)またはプログラム・チェック・コードを含むことを
指定する。
”ADRS’−’vvvvvvvv’が、検出されたエ
ラーに関連するアドレスまたはオフセットを含むことを
指定する。
’DEVS’−’vvvvvvvv’が、障害に関連す
る装置を識別する値(例えば、装置番号、装置アドレス
)を含むことを指定する。
’FLDS’ 一’vvvvvvvv’が、検出された
エラーに関連するフィールド、データ構造、またはラベ
ル名を含むことを指定する。
MS’ 一’vvvvvvvv’が、検出されたエラー
に関連する、または装置によって発行されたメッセージ
番号を含むことを指定する。
’OPCS’−’vvvvvvvv’が,検出されたエ
ラーに関連するプロセス・コード(例えば、プログラム
・オペレーション・コード、コマンド・コード、要求コ
ード)を含むことを指定する。
’OVS’−’vvvvvvvv’が、記憶が上書きさ
れた記憶領域(例えば制御ブロック、データ領域)の名
前を含むことを指定する。
’PCSS’−’vvvvvvvv’が、検出されたエ
ラーに関連するステートメント名、コマンドまたはパラ
メータを含むことを指定する。
’PRCS’−’vvvvvvvv’が、検出されたエ
ラーに関連するリターン・コード、状況コード、条件コ
ード、または装置コードを含むことを指定する。
”REGS゜−  vvvvvvvv’が、検出された
エラーに関連するレジスタ・タイプを含むことを指定す
る。次の゛VALU’キーワードは、このレジスタに含
まれる値をあらわすことになる。
’RI DS’−’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)エラーをさらに
識別するために必要な追加データの集まりであ62次兆
候ストリング。エラー検出の時点での全てのレジスタと
その値が2次兆候ストリングに含められなくてはならな
い。エラー・ログ・レコードは、ソフトウェア問題エラ
ー・ログ上に配置される。
次に、第10図に概略的に示すような総称的警告をサポ
ートするコンピュータ・ネットワーク中のプロセッサ上
で実行されるソフトウェア・プログラムのために、総称
的警告が構或される。総称的警告を構或するためには複
数のステップが実行されなくてはならない。第1のステ
ップでは、EDDCプロセス・コール35(第7図)上
のALERTDSCキーワードによって選択された総称
的警告記述子エントリ13中の情報から、総称的警告デ
ータ及び可能的原因サブベクトルが構築される。第9図
は、総称的警告記述子エントリ・フィールドの、総称的
警告データ及び可能的原因サブベクトルの詳細なマツビ
ングをあらわす。第2のステップでは、総称的警告原因
サブベクトルが、EDDCプロセス・コール35上のA
LERTCSEキーワードによって選択された総称的警
告原因エントリ中の情報から構築される。第9図はやは
りこのマッピングをも示す。第3のステップでは、ED
DCプロセス・コール35上のALERTRACキーワ
ードによって選択された総称的警告推奨動作エントリ中
の情報から、総称的警告推奨動作サブベクトルが構築さ
れる。第9図は、総称的警告推奨動作サブベクトルに対
する、総称的警告推奨動作エントリの詳細なマツビング
を示す。総称的警告の構成における最後の3つのステッ
プは、エラー・ログ55上に記憶されたソフトウェア問
題エラー・ログ・レコードからの情報を必要とする。エ
ラー・ログ・レコードからは、日付/時間サブベクトル
、製品識別子サブベクトル、及び相関サブベクトルが構
築される。相関サブベクトルは、記憶ダンプ40を含む
ファイルの名前を含む。総称的警告70が一旦構築され
ると、それは、遠隔プロセッサ200上で走るネットワ
ーク管理プログラム60から、オペレーティング・シス
テム65を介して、ホスト・プロセッサ100での処理
のために、ネットワーク管理アプリケーション75に渡
される。ホスト・オペレーティング・システム80は次
に、ネットワーク・オペレータ85に通知を渡す。この
時点で、EDDCプロセスが終了する。
尚、この発明の好適な実施例は、単一のプログラム中の
ソフトウェア・エラーの検出及び診断に関連して説明さ
れてきたが、この発明のシステムと方法は、複数のソフ
トウェア・プログラムを同時に処理するように容易に拡
張することができる。このことは、EDDCプロセス5
0を、第7図に示すような多重ADT 1 0との共通
のルーチンとして実現することにより達戒される。する
と、各ソフトウェア・プログラム30は、少なくとも1
つのATD 1 0を関連付けられることになる。
F.付章 (I)アプリケーション・データ・テーブル(ADT)
  ・マクロ ADTを構築するために使用されるマクロは、BLDT
ABLE,ADSEENT,GADSCENT,及びG
ARACENTである。これらのマクロのフォーマット
は、以下に示すとおりである。
BLDTABLE BLDTABLEマクロは、ADTプロセス構築を介し
するために使用される。それは、ADT構築プログラム
における最初のマクロであり、各ADTテーブル構築毎
に一度存在する。その出力は、テーブル中の最初のエン
トリである、アプリケーション・データ・ヘッダ・エン
トリである。
このマクロのフォーマットは、次のとおりである。
BLDTABLE  NAl4E=tablname.
入PPLID=pgmname. 入PPLVER−pgmversn, SVCLVLgsvclevel ここで、 ’ tab I name ’は、このADTに与えら
れる名前である(このテーブルは、検出点でのEDDC
コール上で使用されるTABNAMEキーワードを通じ
て、この名前によって選択される)。
pgmname ’は、このデータが関連するプログラ
ムの名前である。
pgmversn’は、このプログラムのバージョンま
たはリリース番号である。
svcleveFは、このプログラムに既に適用された
修正的サービスのレベルである。
ADSEENT ADSEENTマクロは、ADT中にアプリケーション
・データ構造エンティティ・エントリを配置するために
使用される。このマクロは、ソフトウェア・プログラム
によって使用されるデータ構造または制御ブロックの記
述を構築する。1つまたはそれ異常のADSEENTが
存在してもよく、その各々は次のようなフォーマットを
もつ。
人DSEENT  NAME−entrnarna,D
SLENADR−1enadrs, DSNADRLN=nxadrlen,DSNX人DR
S−nextadrs,STPIDADR=stida
drs,STOPIO−stpidval, DSIDADR=dsidadr, DSID=dsidval, DSTITLE=dstitle ここで、entrnarneは、このエントリに割り当
てられた名前、 ’Ienadrs’は、このデータ構造の長さが配置さ
れている箇所のデータ構造中へのオフセット、next
adrs ’は、このデータ構造のチェインから外れた
、次のデータ構造のアドレスが配置されている、このデ
ータ構造中へのオフセット(このキーワードは、記述さ
れているデータ構造が、連鎖されたデータ構造の列中の
リンクである場合にのみ使用される)。
’stidadrs ’は、チェイン中の最後の識別子
が配置されている、このデータ構造へのオフセットであ
る(このキーワードは、記述されているデータ構造が、
連鎖されたデータ構造の列中のリンクである場合にのみ
使用される。この識別子は、EDDCプロセスに、これ
が、連鎖されたデータ構造の列中の最後のデータ構造で
あることを教える〉。
’stpidvaFは、EDDCプロセスがデータ構造
のチェインをダンプしている間に、チェイン・データ構
造の最後が見いだされた時を調べるためのチェックを行
う際に、比較のために使用される。
’dsidadr’は、データ構造識別子が配置されて
いる箇所での、このデータ構造へのオフセットである(
この識別子の値は、正しいデータ構造が見いだされたこ
とを保証するために、DSIDキーワードに割り当てら
れた識別子の値と比較される〉。
’dsidval’は、DSIDADRキーワードとし
て指し示される、このデータ構造中で見いだされたデー
タ構造識別子に比較する際に使用される値である。
’dstitle’は、ダンブされた時このデータ構造
上に配置されることになるタイトルである。
GADSCENT GADSCEN.Tマクロは、総称的警告記述子エント
リをADT中に配置するために使用される。このマクロ
は、総称的警告サブベクトルのうちの2つ、すなわち、
総称的警告データ及び可能的原因サブベクトルを構築す
るために必要な情報を含むエントリを構築する。1っま
i二はそれ以上のGADSCENTが存在することがで
き、その各々は次のようなフォーマットをもつ。
GADSCENT NAME=entrname.CA
TGY=errcatgy, DESC(f)PT=dssecp, PROBCCPS= (probccpl,.. pr
obccpx) ここで、entrnatne’は、このエントリに割り
当てられた名前である。
errcatg7’は、障害のカテゴリ(例えば、永久
的、一時的、未知)である。
’desccp’は、全体的なエラー記述をあらゎす2
バイト16進コード点である。
probccpF乃至’ probccpx ’は、エ
ラーの可能的原因を識別する1乃至5個の16進コード
点である。
注意:コード点とは、システム・ネットワ−ク・アーキ
テクチャ総称的警告機能によって使用される用語である
。それは、障害のある側面を記述する2バイト16進の
値をあらわす。この情報の詳綱は、’IBM Syst
enNetwork Architecture Ma
nual J注文番号G人27−3136に記載されて
いる。
GACSEENT GADSEENTマクロは、総称的警告原因エントリを
ADT中に配置するために使用される。
このマクロは、総称的原因サブベクトルを構築するため
に必要な情報を含むエントリを構築する。
1つまたはそれ以上のGACSEENTが存在すること
ができ、その各々は次のようなフォーマットをもつ。
GACSEENT  N人ME=entrname.C
AUSE=causecat, CAUSECP=causecp, CPTEXT=((texttype.text).・
・・(texttype, text))ここで、’e
ntrnaIIle’は、このエントリ【こ割り当てら
れた名前である。
causecat”は、原因のカテゴリ(例えば、導入
エラー ユーザー・エラー 欠陥、未知〉である。
’causecp’は、障害の原因を識別する2バイト
16進コード点である。
“texttype“は、’text’が何をあらわす
か( 例えば、プログラム・チェック・コード、戻りコ
ード、エラー・コード)を識別する1バイト値である。
’ text ’は、コード点( ’ eauseep
 ’を参照)Cこ関連するテキスト・データである。
注意:選択されたSNA警告原因コード点に応じて、テ
キスト・データは、その選択されたコード点に関連する
テキスト中への挿入メッセージとして必要とされること
がある。
GARACENT GARACENTマクロは、総称的警告推奨動作エント
リをADT中に配置するために使用される。このマクロ
は、総称的推奨動作サブベクトルを構築するために必要
な情報を含むエントリを構築する.1つまたはそれ以上
のGARACENTが存在することができ、その各々は
次のようなフォーマットをもつ。
GARACENT  NAME=entrnane,R
EC人CTCT=racodept,CPTEXT’(
(texttype,text),. . , (te
xttype, text))ここで、’entrna
oie’は、このエントリに割り当てられた名前である
racodept”は、障害を解決するために必要な動
作を識別する2バイト16進コード点である。
’ texttype ’は、’text“が何をあら
わすか(例えば、プログラム・チェック・コード、戻り
コード、エラー・コード)を識別する1バイト値である
’ text ’は、コード点( ” racodep
t ’を参照〉に関連するテキスト・データで・ある。
注意:選択されたSNA警告推奨動作コード点に応じて
、テキスト・データは、その選択されたコード点に関連
するテキスト中への挿入メッセージヒして必要とされる
ことがある。
(I I)EDDCアプリケーション・プログラム・イ
ンターフェース EDDCプロセスは,呼び出しを通じてアクセスされ、
捕獲されたデータと、生成された総称的警告を決定する
情報を必要とする。呼び出しのフォーマットとこの情報
の記述は以下に示す通りである。
C人LL  EDDC  .(T人BLNAME=ta
ble−name,^DSTENTS−((entry
l,address),..* (entryx.ad
dress)),MODNAME=module  n
ame,DETPTID=dpid, ERRORCAT=category.SYt4STR
DT−((keyword.value),..* (
keyword,value)),人LERTDSC=
alert−dscentnUU,人LERTCSE=
(alert  csentnml,..,alerL
csentnnx)).ALERTRAC−(aler
t−raentnnl,..,alert−raent
nmx)).) ここで、’table−name’は、EDDCプロセ
スによって使用すべきADTの名前、 entryl゜は、捕獲する必要があるデータ構造を記
述するアプリケーション・データ構造エンティティ・エ
ントリの名前、 ’address’は、データ構造の問題プログラム内
の開始アドレス(各エントリは、「アドレス」でなくて
はならない)、 address’はまた、データ構造が位置する問題プ
ログラム内の記憶アドレス、 module−name’は、エラーを検出したモジュ
ールまたは要素(すなわち、検出点がつまずいた箇所か
らの)名前、 ’dpid’は、MODNAMEキーワードによって識
別されるモジュール/要素内の検出点を一意的に識別す
る値、 ’category’は、検出されたエラーの類別(例
えば、ループ、待機、不正データ)、 ’ keyword ’は、’value’という値を
記述する兆候ストリング・キーワード(表1は、サポー
ト兆候ストリング・キーワードとその意味のリストを与
える)、 value’は、兆候ストリング識別子に関連する値、 ’alertJscentn1は、そのエラーに関連す
るTABNAMEキーワードによって名付けられたAD
T中の総称的警告記述子エントリの名前、’alert
,,−csentnm’は、そのエラーに関連するTA
BNAMEキーワードによって名付けられたADT中の
総称的警告原因エントリの名前(これらの名前を1つま
たはそれ以上含めることができる)、 ’alert,,−raentn1は、そのエラーに関
連するTABNAMEキーワードによって名付けられた
ADT中の総称的警告推奨動作エントリの名前(これら
の名前を1つまたはそれ以上含めることができる)であ
る。
G.発明の効果 以上説明したように、この発明によれば、ソフトウェア
・エラーが発生すると直ちにそれを検出し、問題の分離
と収集を容易ならしめる限定された量の診断データを自
動的に集めるための方法が提供される。
【図面の簡単な説明】
第1図は、アプリケーション・データ・テーブルの構築
を示す概要図、 第2図は、アプリケーション・テーブル・ヘッダ・エン
トリのフォーマットを示す図、第3図は、アプリケーシ
ョン・データ構造エンティテイ′エントリのフォーマッ
ト、 第4図は、総称的警告記述子エントリのフォーマット、 第5図は、総称的警告原因エントリのフォーマット、 第6図は、総称的警告推奨動作エントリのフォーマット
、 第7図は、早期検出データ捕獲プロセスの使用と動作を
示す慨要図、 第8A及び8B図は、早期検出データ捕獲プロセスによ
って生成されたエラー・ログ・レコードのフォーマット
を示す図、 第9図は、アプリケーション・データ・テーブル・エン
トリ・フィールドと総称的警告フィールドの間の相互参
照を示す図、 第10図は、総称的警告をサポートするコンピュータ・
ネットワークにおける早期検出データ捕獲プロセスの実
現の概要図である,

Claims (15)

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

Similar Documents

Publication Publication Date Title
JPH0325629A (ja) プログラムのエラー検出方法及びシステム
US6182243B1 (en) Selective data capture for software exception conditions
US7475387B2 (en) Problem determination using system run-time behavior analysis
US6785848B1 (en) Method and system for categorizing failures of a program module
US7975179B2 (en) Techniques for automatic software error diagnostics
US8140565B2 (en) Autonomic information management system (IMS) mainframe database pointer error diagnostic data extraction
US6148417A (en) Method for determining a source of failure during a file system access
JP5495310B2 (ja) 情報処理装置、障害解析方法及び障害解析プログラム
US7237232B2 (en) Method and system for recording program information in the event of a failure
US20070067754A1 (en) Server application state
JPH01269151A (ja) 多重プロセツサシステム試験方法
US20050144513A1 (en) Computer system including active system and redundant system and state acquisition method
US8327189B1 (en) Diagnosing an incident on a computer system using a diagnostics analyzer database
Bowman et al. 1a processor: Maintenance software
CA2420008C (en) Panic message analyzer
US20060168165A1 (en) Provisional application management with automated acceptance tests and decision criteria
CN117493179A (zh) 流量录制回放方法、装置、存储介质及电子设备
US7818646B1 (en) Expectation based event verification
CN120950602B (zh) 一种基于多源接口的不动产数据共享方法及系统
JP3698974B2 (ja) オブジェクト指向開発用デバッグ支援装置
CN118938857A (zh) 一种数据分析方法、装置及电子设备
JP2979553B2 (ja) 障害診断方式
JP2590855B2 (ja) 障害情報管理装置
CN120104428A (zh) 一种linux文件系统元数据监控方法、系统及介质
Li et al. A software fault insertion testing methodology for improving the robustness of telecommunications systems