JPH02280239A - プログラムダンプ出力方式 - Google Patents

プログラムダンプ出力方式

Info

Publication number
JPH02280239A
JPH02280239A JP1102863A JP10286389A JPH02280239A JP H02280239 A JPH02280239 A JP H02280239A JP 1102863 A JP1102863 A JP 1102863A JP 10286389 A JP10286389 A JP 10286389A JP H02280239 A JPH02280239 A JP H02280239A
Authority
JP
Japan
Prior art keywords
abnormality
program
dump
data
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP1102863A
Other languages
English (en)
Inventor
Yukihiko Saitou
斉藤 至彦
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP1102863A priority Critical patent/JPH02280239A/ja
Publication of JPH02280239A publication Critical patent/JPH02280239A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、プログラムが異常終了した場合のプログラム
ダンプ出力方式に関する。
(従来の技術) 従来、プログラムが異常終了した場合には。
異常原因全追及するためのダンプの出力方式として以下
に記載する第1〜第3の方式が公知である。
第1の方式では、プログラムが異常を検出した場合、そ
の異常の種類を識別し、原因追及の几めに必要なプログ
ラムの命令や、データ部分のダンプ出力に必要とする機
wFAをプログラム自身に組込む。
第2の方式では、プログラムが異常終了し九場合、ダン
プを出力しないことも含めて、どの範囲までのダンプを
出力するかをプログラムの実行時に利用者が指定する。
第3の方式では、プログラムが異常終了した場合、プロ
グラムの実行中に内容を更新したデータ部分のみをダン
プ出力する。
(発明が解決しようとする課@) 上述した従来の第1の方式では、ダンプ出力機能をプロ
グラムに組込むものであるために、プログラムの各所に
この機能を埋込む必要があり、プログラムの機能変更に
おいて、それがプログラム異常処理に関する部分であn
はダンプ出力機能も変更しなければならないという手間
がかかる。さらに、この第1の方式では、プログラム組
込みであることから、プログラム作成時にまったく予期
していないプログラム異常までは検出できないという欠
点がある。
上述した第2の方式では、プログラム実行開始に際して
、プログラム実行制御手段の余分な処理は極力抑えなけ
n/dならない。このため、ダンプ指示データも、異常
発生の場所や種類などの詳細な情報全指定することがで
きないと云う欠点がある。
このため、プログラム上の簡単な誤りで直ちに原因が判
明するような異常であっても、ダンプ出力の範囲を広く
指定していると、まったく不要な部分までもダンプ出力
され、プリント用紙を無駄にするとともに、プリンタに
ダンプ出力している間、他のジョブのプリント出力を行
9ことができず、業務処理に支障を及ぼすという欠点が
ある。
逆にダンプ出力の範囲を狭く指定している場合、原因追
求の困無な異常や、他のジョブとの相互関係で稀にしか
発生しないような異常の場合には、必要なデータがダン
プ出力されないことがあり、原因を追求できなくなると
いう欠点がある。
上述した第3の方式では、プログラムの実行中に内容が
更新されたデータ部分のダンプ出力が得られる。この次
め、異常の発生とはまったく関係のない余分なデータ部
分までも出力されることがあり、上記第2の方式と同様
にプリンタ用紙に無駄があったり、あるいは他のジョブ
のプリント出力に影響を与えることがあるという欠点が
ある。また、ダンプ出力の単位をメモリ管理の単位であ
るページよりも小さくする場合、内容更新の有無を時々
刻々把握しなければならない。この九め、プログラム実
行に与えるオーバヘッドが大きくなるという欠点もある
本発明の目的は、プログラム実行の前に異常が発生した
場合のダンプすべき領域を、異常の発生場所と異常のa
t類とに従って区分して、きめ細かく指定しておくこと
により上記欠点を除去し、条件によらず、容易且つ確実
にダンプ出力を得ることができるように構成したプログ
ラムダンプ出力方弐七提供することにある。
(課題を解決するための手段) 本発明によるプログラムダンプ出力方式はリンク処理手
段と、実行制御手段とを具備して構成したものである。
リンク処理手段は、ソースプログラムを翻訳した後のオ
ブジェクトモジュールを入力してシステムの各種ルーチ
ンとリンクしてロードモジュールを作成するとともに、
プログラムの実行中に異常があり、さらに利用者から異
常の種類およびダンプ出力すべき範囲が異常時処置デー
タとしてあらかじめ指示されているならば、異常時処置
データ金ロードモジュールにリンクして出力するための
ものである。
実行制御手段は、ロードモジュールを主記憶装置上にロ
ードして、その実行を制御するとともに、プログラムの
実行に際して利用者から異常終了時のダンプ出力指示が
ない限り、プログラムの異常終了時にはロードモジュー
ル(リンクされ次異常時処置データに従って指示された
範囲のダンプのみを出方し、プログラム実行に際して利
用者から特別にダンプ出力の指示があつた場合にはロー
ドモジュールにリンクされ之異常時処置データを無視し
て実行時に指定されたダンプ出力指示に従ってダンプ出
力をするためのものである。
(実 九 例) 次に、本発明について図面を参照して説明する。
第1図は1本発明によるプログラムダンプ出力方式の一
実施例を示すブロック構成因である。
第1図において、lはオブジェクトモジュール、2は異
常時処置データ、3はリンク処理手段、4はロードモジ
ュール、5はダンプ指示データ、6は実行制御手段、7
は実行プログラムである。
本発明によるプログラムダンプ出力方式は、ソースプロ
グラムを翻訳して得らnたオブジェクトモジュールl、
およびプログラムの異常時のダンプ出力範囲をあらかじ
め設定しておく念めの異常時処置データ2を備え、オブ
ジェクトモジュール1を読込んでリンク処理を行うとと
もに、上記異常時処置データ2を入力してテーブル化し
、それをロードモジュール4に設定する九めのリンク処
理手段3と、上記異常時処置データ2をテーブルの形で
内部にもつロードモジュール4.およびプログラムの実
行時に指定されるダンプ指示データ5を備え、上記ロー
ドモジュール41に主記憶装置上に展開して実行プログ
ラム7として実行させ、プログラム実行中に異常終了し
次場合、指定され友ダンプの出力全行うための実行制御
手段6とから構成さnている。
第2図は、本発明による異常時処置データテーブルの内
容を示す説明図である。
第2因においては、リンク処理手段3により利用者の指
定し友異常時処置データ2全入力して、ロードモジュー
ル4内に作成する異常時処置データテーブルの内容を示
したものである。
指定領域群数2(11には指定領域9Al、A2゜・・
・・・・、その他の領域の数が入り、指定領域群A1の
領域数202には指定領域All、A12゜・・・・・
・の数が入り、原因群数203には原因群B11 、 
H12、・・・・・・の数が入り、原因群Bllの原因
数204には原因B111.B112゜・・・・・・の
数が入り、原因群Bllのダンプ領域数205にはダン
プ領域0111.0112.・・・・・・の数が入る。
原因群B12の原因数206や原因群B12のダンプ領
域数207についても同様であジ、指定領域群A2の領
域数208以下についても指定領域群A1の領域数20
2以下のデータと同様である。なお、その他の領域の領
域数209は、指定外の領域についての指定であるため
、指定領域数は0である。wJ2図から容易に理解され
るように、異常時処置データとして、まず異常の発生す
るであろうプログラム領域を指定領域All、A12.
・・・・・・から成る領域#Alと、指定領域A21.
A22.・・・・・・から成る領域群A2と、その他の
領域群とに区分する。さらに、%領域群で発生する異常
の種類を原因B111と、 B112.・・・・・・か
ら成る原因pB11と、原因B121.B122.・・
・・・・から成る原因群B12.・曲・とに区分する。
予め指定さf′L九領域群(例えば、A1)の領域内(
例えば、A12)で発生した異常が、予め指定された原
因群内(例えば、B12)の原因(例えばB121)で
あった場合には、指定さnたダンプ領域(例えば、01
21,0122など〕をダンプ出力する。なお、この場
合には指定されていな一領域で異常が発生した場合も考
慮して、その他の領域として一括して指定することも可
能である。また、指定された種類の異常原因以外の場合
も考慮して、原因データを荷足値で指定することにより
、その他の原因として指定することもできる。
第3図は、異常時処置データ2を入力してロードモジュ
ール4に設定するリンク処理手段3の動作を示す流n図
である。
まず、ステップ301におhて、以降の処理で使用する
カウンタである指定領域群数、領域数、原因群数、原因
数、およびダンプ領域数をW期化する。ステップ302
では、利用者の指定した1件の異常時処置データ2を入
力する。ステップ303では異常時処置データ2の終了
か否かを判定し、終了であればステップ304t−実行
し、既にカウントしている指定領域群数、原因群数、お
よびダンプ領域数をテーブルに設定する。その後1作成
したテーブルをロードモジュール内に出力して処理全終
了する。入力データの終了でない場合、ステップ305
以降を実行する。ステップ305からステップ307で
は入力したデータがそれぞれ指定領域のデータか、原因
データかあるいはダンプ領域のデータかt−判定し1判
定が一致している場合、それぞれステップ309.ステ
ップ315.ステップ320に制御を移丁。
入力データが上記のどのデータでもない場合。
不正な入力データであると認識して、ステップ308に
より処理を中止する。入力データが指定領域データであ
る場合、ステップ309からステップ314までの処理
を実行する。ステップ309により、カウンタの領域数
が0であるか否かを調べる。領域数が0である場合には
、ある領域群のデータの最初のデータであることから、
ステップ310で指定領域群数t−1だけ増加する。さ
らに、ステップ311において指定領域群数が1である
か否かを判定する。1である場合には最初の指定領域群
のデータであり。
原因群数やダンプ領域数はカウントされていない。この
ため、ステップ312t−スキップする。
指定領域群数が1ではない場合、2番目以降の指定領域
群のデータであるため、前の指定領域群の原因群数とダ
ンプ領域数とをテーブルに設定した後、再度、初期化す
る。ステップ313では、入力さweデータがその他の
領域t−指定し友ものであるか否かを判定する。
その他の領域の指定であれば、ステップ314をスキッ
プし、通常の領域データであれば、ステップ314で領
域数を1だけ増加するとともに、入力され九領域データ
をテーブルに設定する。その後、制御をステップ302
に戻して次のデータの入力から繰返す。
入力されたデータが原因データである場合、ステップ3
15からステップ319までを実行する。ステップ31
5では原因群数が0.すなわち、ある指定領域群のデー
タの最初の原因データであるか否かt−!!lIべ、あ
る指定領域群のデータの最初の原因データである場合に
は、ステップ316を実行する。ステップ316では、
既にカウントしている領域数をテーブルに設定し念後、
再び初期化する。ステップ317では原因数がOである
か否か、すなわち、ある原因群のデータの最初の原因デ
ータであるか否か’evI4べろ。最初の原因データで
ある場合にはステップ318で原因群数t−1だけ増加
する。原因データの処理の最後のステップ319では、
原因数を1だけ増加し、入力した原因データをテーブル
に設定する。その後、処理をステップ302に戻す。
入力さnたデータがダンプ領域データである場合には、
ステップ320からステップ322までを実行する。ス
テップ320ではダンプ領域数が0であるか否か、すな
わち、ある原因群のデータの最初のダンプ領域データで
あるか否かを調べる。最初のデータである場合、ステッ
プ321により、既にカウントしている原因数をテーブ
ルに設定し念後、舛度、初期化しておく。
ステップ322では、ダンプ領域数を1だけ増加し、入
力のダンプ領域データをテーブルに設定する。その後、
制御をステップ302に戻す。
第4図は、プログラムの実行を制御する実行制御手段6
の動作會示す流れ因である。まず。
ステップ401によりロードモジュール41に主記憶装
置上にロードして実行させ、制御を実行プログラム7に
渡す。実行プログラムの実行処理中に異常を検出して異
常終了するとき、制御は実行制御手段6に渡される。実
行制御平段6は、実行プログラム7より異常終了の通知
を受けると、まずステップ402で実行時に利用者によ
って指定され九ダンプ指示データがあるか否かを調べる
。ダンプ指示データがある場合には、ステップ403に
よって、その指示データに従ってダンプ出力を行い、処
理を終了する。
ダンプ指示データがない場合には、ステップ404以降
を実行する。ステップ404では、ロードモジュール4
内に設定されている異常時処置データテーブルを参照し
て、異常の発生した場所がテーブルに設定されているど
の指定領域に含まれているかを指定領域群ごとにサーチ
する。ステップ405では、発生し友異常の種類がどの
種類のものであるかを、テーブルに設定されている原因
群のなかの原因のサーチによって調べる。最後に、テー
ブルに設定されているダンプ領域の指定に従って、ダン
プ出力全ステップ406で行い、処理全終了する。
(発明の効果) 以上説明し友ように本発明は、プログラム実行の前に異
常が発生した場合のダンプ丁べき領域t、異常の発生場
所と異常の′a類とに従って区分して、きめ細かく指定
しておくことにより1%異常が発生した場合に、その原
因を追及することができるだけの領域のみをダンプする
ことができると云う効果がある。
この友め、不必要な領域までもダンプ出力してプリント
用紙を無駄にすることはなく、ダンプのプリンタ出力に
おいても、必要最小限の量しか出力しないため、他のジ
ョブのプリンタ出力に与える影響も少なくすることがで
きると云り効果がある。さらに、プログラム実行時に。
特にダンプ指示を指定しなくても、異常の発生時には必
要なダンプが出力される几め、ダンプ出力により原因を
確実に追及することができると云う効果もある。
【図面の簡単な説明】
第1図は1本発明によるプログラムダンプ出力方式の一
実施例を示すブロック図である。 第2図は、本発明による異常時処置データテーブルの内
容を示す説明図である。 第3□□□は、リンク処理手段の動作を示す流n図であ
る。 第4図は、実行制御手段の動作全示す流n図である。 l・・・オブジェクトモジュール 2・・・異常時処置データ 3・・・リンク処理手段 4・・・ロードモジュール 5・・・ダンプ指示データ 6・・・実行制御手段 7・・・実行プログラム 201〜209・・・異常時処置データテーブル項目 301〜322,401〜406・・・処理ステップ Jm

Claims (1)

    【特許請求の範囲】
  1. ソースプログラムを翻訳した後のオブジェクトモジュー
    ルを入力してシステムの各種ルーチンとリンクしてロー
    ドモジュールを作成するとともに、前記プログラムの実
    行中に異常があり、さらに利用者から異常検出場所、異
    常の種類、およびダンプ出力すべき範囲が異常時処置デ
    ータとしてあらかじめ指示されているならば、前記異常
    時処置データを前記ロードモジュールにリンクして出力
    するためのリンク処理手段と、前記ロードモジュールを
    主記憶装置上にロードして当該ロードモジュールの実行
    を制御するとともに、前記プログラムの実行に際して前
    記利用者から異常終了時のダンプ出力指示がない限り、
    前記プログラムの異常終了時には前記ロードモジュール
    にリンクされた異常時処置データに従つて指示された範
    囲のダンプのみを出力し、前記プログラムの実行に際し
    て前記利用者から特別にダンプ出力の指示があつた場合
    には前記ロードモジュールにリンクされた異常時処置デ
    ータを無視して実行時に指定されたダンプ出力指示に従
    つてダンプ出力をするための実行制御手段とを具備して
    構成したことを特徴とするプログラムダンプ出力方式。
JP1102863A 1989-04-21 1989-04-21 プログラムダンプ出力方式 Pending JPH02280239A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1102863A JPH02280239A (ja) 1989-04-21 1989-04-21 プログラムダンプ出力方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1102863A JPH02280239A (ja) 1989-04-21 1989-04-21 プログラムダンプ出力方式

Publications (1)

Publication Number Publication Date
JPH02280239A true JPH02280239A (ja) 1990-11-16

Family

ID=14338751

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1102863A Pending JPH02280239A (ja) 1989-04-21 1989-04-21 プログラムダンプ出力方式

Country Status (1)

Country Link
JP (1) JPH02280239A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0588882A (ja) * 1990-12-20 1993-04-09 Internatl Business Mach Corp <Ibm> データ処理システム
JPH08263331A (ja) * 1995-03-22 1996-10-11 Kofu Nippon Denki Kk 情報処理システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0588882A (ja) * 1990-12-20 1993-04-09 Internatl Business Mach Corp <Ibm> データ処理システム
JPH08263331A (ja) * 1995-03-22 1996-10-11 Kofu Nippon Denki Kk 情報処理システム

Similar Documents

Publication Publication Date Title
JPH02280239A (ja) プログラムダンプ出力方式
JPS635780B2 (ja)
JPS62296248A (ja) 主記憶ダンプ制御方式
JP4092750B2 (ja) 冗長コード検査装置
JP2845650B2 (ja) 論理式評価演算器
JPS63228232A (ja) プログラムの異常検出方式
JPH06131212A (ja) 他のプログラムによるターゲットプログラムの呼び出しに関してターゲットプログラムの実行を追跡するコンピュータ制御方法
JPS5856152A (ja) プログラム変換装置
KR950005523B1 (ko) 프로그램어블 로직 콘트롤러의 스텝 런 처리방법
JP2833933B2 (ja) インサーキット・エミュレータ
JPH08137714A (ja) マルチタスクプログラムのデバッグ方法およびデバッグシステム
JPS6218054B2 (ja)
JPH01270128A (ja) リンクシステム
JPH03246643A (ja) ダンプサマリ編集処理方法
JPH0447337B2 (ja)
JPH08106444A (ja) ロードモジュール取込み制御システム
JPS62212743A (ja) メモリダンプ方式
JPH02267632A (ja) 再翻訳処理方式
JPS6367648A (ja) プログラムトレ−ス制御方式
JPH034336A (ja) プログラムデバッグ処理装置
JPH03233730A (ja) ソフトウェアエラー処理方式
JPS6398030A (ja) プログラム開発装置
JPH03242736A (ja) 異常処理方式
JPH06168152A (ja) タスク縮退管理装置
JPH0667887A (ja) 情報処理装置