JPH02282838A - Dump collection system at abnormal end of program - Google Patents

Dump collection system at abnormal end of program

Info

Publication number
JPH02282838A
JPH02282838A JP1105326A JP10532689A JPH02282838A JP H02282838 A JPH02282838 A JP H02282838A JP 1105326 A JP1105326 A JP 1105326A JP 10532689 A JP10532689 A JP 10532689A JP H02282838 A JPH02282838 A JP H02282838A
Authority
JP
Japan
Prior art keywords
program
dump
area
dump collection
collection area
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
JP1105326A
Other languages
Japanese (ja)
Inventor
Yuji Murotani
室谷 祐二
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 JP1105326A priority Critical patent/JPH02282838A/en
Publication of JPH02282838A publication Critical patent/JPH02282838A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PURPOSE:To collect the dumps without duplication for only the program area that is necessary for the analysis of the program abnormality by collecting the dumps after selecting without duplication the dump collecting areas corresponding to all area describers stored in a dump collection area register stack when the program is ended abnormally. CONSTITUTION:An area describer group 301 is registered into a dump collection area register stack 10 via a dump collection area register means 2 at the inlet point of a program 101 which is called first. Then only a dump collection area describer group 302 registered by a program 102 to be called is deleted out of the stack 10 via a dump collection area deleting means 3 when the program 102 is restored to the program 101. Then the dump collection areas of the area describers remaining in the stack 10 are selected and collected. Thus only the dump collection area where an uncompleted program is designated is obtained at the abnormal ending of the program.

Description

【発明の詳細な説明】 (産業上の利用分野〕 本発明は電子計算機システムにおけるプログラム異常終
了時のダンプ採取方式に関する。
DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to a dump collection method when a program terminates abnormally in a computer system.

(従来の技術) 従来の電子計算機は、プログラム異常終了時のダンプの
採取の要否をプログラム起動オプションとして選択する
機能を持ち、ダンプ採取要を選択した場合は、リンクさ
れた全てのプログラム領域をダンプ採取し、ダンプ採取
不要を選択した場合は、ダンプ採取を一切行わないよう
になっていた。
(Prior art) Conventional electronic computers have a function to select whether or not to collect a dump when a program terminates abnormally as a program startup option, and if dump collection is selected, all linked program areas are If you collect a dump and select not to collect a dump, no dump will be collected at all.

また、プログラミング選択オプションとして、プログラ
ムの全ての更新領域をダンプ採取する方式もあ7た。
Additionally, as a programming selection option, there is also a method of collecting a dump of all updated areas of the program.

(発明が解決しようとする課題) 一般に、プログラムの異常終了時のダンプ解析に当たっ
ては、異常終了したプログラムが参照、更新するプログ
ラム域およびデータ域の一部を参照するだけで十分な場
合がほとんどである。
(Problem to be Solved by the Invention) Generally, when analyzing a dump when a program terminates abnormally, it is often sufficient to refer to part of the program area and data area that is referenced or updated by the program that terminated abnormally. be.

ところが、従来の方式では、プログラム領域の全域のダ
ンプ採取をするので、ダンプファイル領域が大きくなり
、ダンブリストも参照不要な部分が多く、無駄を生じる
ばかりでなく、解析作業も非効率的になるという欠点が
ある。
However, in the conventional method, the entire program area is dumped, resulting in a large dump file area, and there are many parts of the dump list that do not need to be referenced, resulting in not only waste, but also inefficient analysis work. There are drawbacks.

本発明の目的は、異常解析に必要なプログラム領域のみ
のダンプな1重複することなく採取するプログラム異常
終了時のダンプ採取方式を提供することにある。
SUMMARY OF THE INVENTION An object of the present invention is to provide a dump collecting method when a program terminates abnormally, which collects a dump of only the program area necessary for abnormality analysis without duplication.

(課題を解決するための手段) 本発明のプログラム異常終了時のダンプ採取方式は、 プログラムの実行開始時にダンプ採取領域登録スタック
を主記憶上に割り当て、該スタックを空状態にする登録
スタック初期化手段と、プログラムが実行中に異常終了
した場合のダンプ採取領域を示す領域記述子を当該プロ
グラムの入口点で前記ダンプ採取領域登録スタックに登
録するダンプ採取領域合縁手段と、 被呼び出しプログラムが呼び出しプログラムに戻る際に
、前記ダンプ採取領域登録スタックに該被呼び出しプロ
グラムについて登録されている領域記述子を抹消するダ
ンプ採取領域抹消手段と、プログラム異常終了時に、前
記ダンプ採取領域登録スタックに格納されている全ての
領域記述子に対応するダンプ採取領域を重複しないよう
に選択するダンプ採取領域選択手段と、 前記ダンプ採取領域選択手段によって選択されたダンプ
採取領域のダンプを採取するダンプ採取手段とを存する
(Means for Solving the Problems) The dump collection method when a program terminates abnormally according to the present invention allocates a dump collection area registration stack on main memory at the start of program execution, and initializes the registration stack to empty the stack. and dump collection area merging means for registering an area descriptor indicating a dump collection area in the dump collection area registration stack at the entry point of the program in the event that the program terminates abnormally during execution; dump collection area deletion means for deleting the area descriptor registered for the called program in the dump collection area registration stack when returning to the program; a dump collection area selection means for selecting dump collection areas corresponding to all area descriptors in the dump collection area so as not to overlap; and a dump collection means for collecting a dump of the dump collection area selected by the dump collection area selection means. .

(作用) 被呼び出しプログラムの入口点で、領域記述子がダンプ
採取領域登録スタックに登録される。この領域記述子は
、被呼び出しプログラムが正常に動作終了して呼び出し
プログラムへ戻る際に抹消される。したがって、プログ
ラム異常終了時のダンプ採取領域登録スタックには、そ
の時点で実行中のプログラムの領域記述子のみが残る。
(Operation) At the entry point of the called program, an area descriptor is registered in the dump collection area registration stack. This area descriptor is deleted when the called program normally terminates its operation and returns to the calling program. Therefore, at the time of abnormal program termination, only the area descriptor of the program being executed at that time remains in the dump collection area registration stack.

そして、このダンプ採取領域登録スタックに残っている
領域記述子のダンプ採取領域が選択され、選択されたダ
ンプ採取領域のダンプが採取される。なお、プログラム
異常発生時、他のプログラムが複数のプログラムから呼
び出され実行中の場合、該プログラムの領域記述子がダ
ンプ採取傾城登録スタックに複数残ることになるが、ダ
ンプ採取領域選択手段によって、同一ダンプ採取領域は
1回だけしか選択されない。
Then, the dump collection area of the area descriptor remaining in this dump collection area registration stack is selected, and a dump of the selected dump collection area is collected. Note that when a program error occurs, if another program is called by multiple programs and is being executed, multiple area descriptors for that program will remain in the dump collection tilt registration stack, but the dump collection area selection means A dump collection area is selected only once.

(実施例) 次に、本発明の実施例について図面を参照して説明する
(Example) Next, an example of the present invention will be described with reference to the drawings.

第1図は本発明のプログラム異常終了時のダンプ採取方
式の一実施例を示す電子計算機システムのブロック図、
第2図はダンプ採取領域登録スタックlOにを録される
領域記述子群301. :102.・・・309とダン
プ領域201.202.・−,209の関係を示す図で
ある。
FIG. 1 is a block diagram of a computer system showing an embodiment of a dump collection method when a program terminates abnormally according to the present invention;
FIG. 2 shows a group of area descriptors 301 recorded in the dump collection area registration stack IO. :102. ...309 and dump area 201.202. .-, 209 is a diagram showing the relationship between.

主記憶装置20にはプログラム101.102.・・・
、IO2と、ダンプ採取領域201〜209を指す領域
記述子401〜409が各プログラムごとにまとめて領
域記述子群301〜309として登録されるダンプ採取
領域登録スタック10が含まれている。また、補助記憶
装置30にはダンプ内容格納域31が設けられている。
The main storage device 20 stores programs 101, 102. ...
, IO2, and a dump collection area registration stack 10 in which area descriptors 401 to 409 pointing to dump collection areas 201 to 209 are collectively registered as area descriptor groups 301 to 309 for each program. Further, the auxiliary storage device 30 is provided with a dump content storage area 31.

ここで、プログラム101〜108は、プログラム10
1がO3等によフて呼び出される主プログラムで、プロ
グラム101がプログラム+02を呼び出し、プログラ
ム+02の動作が終了してプログラム101に戻るとプ
ログラム101がプログラム103を呼び出す・・・・
という関係にあり、プログラム109はプログラム10
1〜108のうちのいくつかのプログラムから呼び出さ
れるサブルーチンのプログラムである。
Here, programs 101 to 108 are program 10
1 is the main program called by O3 etc., program 101 calls program +02, and when the operation of program +02 ends and returns to program 101, program 101 calls program 103...
Therefore, program 109 is program 10.
This is a subroutine program called from some of the programs 1 to 108.

登録スタック初期化手段1は、プログラムの実行開始時
に、ダンプ採取領域登録スタック10を主記憶装置20
に割り当て、スタックIOを空状態に(初期化)する。
The registration stack initialization means 1 stores the dump collection area registration stack 10 in the main storage device 20 at the start of program execution.
, and empty (initialize) the stack IO.

ダンプ採取領域登録手段2は、当該プログラムのダンプ
採取領域を示す全ての領域記述子を当該プログラムが呼
び出されたときにその入口点でダンプ採取領域登録スタ
ックlOに登録する。ダンプ採取領域抹消手段3は、被
呼び出しプログラムが正常に動作を終了して呼び出しプ
ログラムに戻る際に、ダンプ採取領域登録スタック10
に登録されている該被呼び出しプログラムの領域記述子
の全てを抹消する。ダンプ採取領域選択手段4は、プロ
グラム異常終了時に、ダンプ採取領域登録スタックIO
に登録されている全ての領域記述子に対応するダンプ採
取領域を重複しないように選択する。ダンプ採取手段5
は、ダンプ採取領域選択手段4によって選択されたダン
プ採取領域のダンプを採取し、補助記憶装置30のダン
プ内容格納域31に格納する。
The dump collection area registration means 2 registers all the area descriptors indicating the dump collection area of the program in the dump collection area registration stack IO at the entry point when the program is called. The dump collection area deletion means 3 erases the dump collection area registration stack 10 when the called program normally ends its operation and returns to the calling program.
All area descriptors of the called program registered in the called program are deleted. The dump collection area selection means 4 selects the dump collection area registration stack IO when the program terminates abnormally.
Select the dump collection areas corresponding to all the area descriptors registered in , so as not to overlap. Dump collection means 5
collects a dump of the dump collection area selected by the dump collection area selection means 4 and stores it in the dump content storage area 31 of the auxiliary storage device 30.

次に、本実施例の動作を説明する。Next, the operation of this embodiment will be explained.

まず、プログラム101〜109からなるプログラムの
開始時点において、登録スタック初期化手段1によって
、主記憶装置20上にダンプ採取領域登録スタックIO
を割り当てるとともに、該スタックIOを空状態にする
。最初に呼び出されたプログラム10+の入口点では、
該プログラム+01のダンプ採取領域201および20
3を指す領域記述子群301をダンプ採取領域登録手段
2によってダンプ採取領域登録スタックIOに登録する
。また、プログラム+01からプログラム102を呼び
出した際に、プログラム+02の入口点においても、前
述の登録手段2を用いて、該プログラム102に関する
ダンプ採取領域202を指す領域記述子群302をダン
プ採取領域登録スタックIOに登録する。次に、被呼び
出しプログラム102から呼び出しプログラム101へ
復帰する際に、ダンプ採取領域抹消手段3によって、該
被呼び出しプログラム102で登録されたダンプ採取領
域記述子群302のみをダンプ採取領域登録スタック1
0から抹消する。各プログラムの呼び出しおよび復帰の
際に、上述の動作を繰り返すことによって、ダンプ採取
領域登録スタック10には、現時点において呼び出し状
態にある全てのプログラム101−109に関するダン
プ採取に必要な領域201〜209を指す記述子群30
1〜309を有している。
First, at the start of the program consisting of programs 101 to 109, the registration stack initialization means 1 stores the dump collection area registration stack IO on the main storage device 20.
, and also makes the stack IO empty. At the entry point of the first called program 10+,
Dump collection areas 201 and 20 of the program +01
The area descriptor group 301 pointing to 3 is registered in the dump collection area registration stack IO by the dump collection area registration means 2. Furthermore, when the program 102 is called from the program +01, the above-mentioned registration means 2 is also used at the entry point of the program +02 to register the area descriptor group 302 pointing to the dump collection area 202 related to the program 102 as a dump collection area. Register in stack IO. Next, when returning from the called program 102 to the calling program 101, the dump collection area deleting means 3 deletes only the dump collection area descriptor group 302 registered in the called program 102 from the dump collection area registration stack 101.
Delete from 0. By repeating the above-mentioned operations when calling and returning each program, the dump collection area registration stack 10 stores the areas 201 to 209 necessary for dump collection for all programs 101 to 109 currently in the calling state. Pointing descriptor group 30
1 to 309.

ここで、現時点で動作中のプログラム109においてプ
ログラム異常終了が発生したものとする。
Here, it is assumed that an abnormal termination of the program occurs in the program 109 that is currently running.

ただし、プログラム+09はプログラム103から呼び
出されたものとする。まず、ダンプ採取領域選択手段4
において、ダンプ採取領域登録スタックIOにスタック
されているダンプ採取領域記述子群301.303.3
09を参照する。ダンプ採取領域記述子群302は−た
ん登録されたが、プログラム102が正常に終了復帰し
たので抹消され、その他の記述子群304〜308はプ
ログラム104〜108がまだ呼び出されていないので
未登録である。
However, it is assumed that program +09 is called from program 103. First, dump collection area selection means 4
, the dump collection area descriptor group 301.303.3 stacked in the dump collection area registration stack IO
Refer to 09. The dump collection area descriptor group 302 was temporarily registered, but since the program 102 ended and returned normally, it was deleted, and the other descriptor groups 304 to 308 are unregistered because the programs 104 to 108 have not been called yet. be.

これらの記述子群301.303.309のうち、重複
指定されない領域201.204.209の記述子40
1゜404、409は残し、プログラム101とプログ
ラム103から重複指定された領域203の領域記述子
403は、記述子群301内の記述子403を残し、重
複している記述子群303内の記述子403を除去する
ことによって、ダンプ採取の対象とする領域を単一的に
選択する。次に、ダンプ採取手段5において、ダンプ採
取領域選択手段4によって選択されたダンプ採取領域記
述子401.403.404.409を参照しながら、
主記憶装置20上の、これらの記述子の指す全ての領域
201.203.204.209の内容をダンプし、該
ダンプ内容を補助記憶装置30上のダンプ内容格納域3
1に収集する。
Among these descriptor groups 301.303.309, descriptor 40 in area 201.204.209 that is not specified twice
1. 404 and 409 are left, and the area descriptor 403 of the area 203 that is duplicately designated by the program 101 and the program 103 is the descriptor 403 in the descriptor group 301, and the description in the duplicate descriptor group 303 is By removing the child 403, a single area to be dumped is selected. Next, in the dump collection means 5, while referring to the dump collection area descriptor 401.403.404.409 selected by the dump collection area selection means 4,
Dump the contents of all areas 201.203.204.209 pointed to by these descriptors on the main storage device 20, and transfer the dump contents to the dump content storage area 3 on the auxiliary storage device 30.
Collect in 1.

以上述べた方法によって、あるプログラムで異常終了し
た場合に、該プログラムの異常終了解析に必要なダンプ
を採取することが可能である。
By the method described above, when a certain program terminates abnormally, it is possible to collect a dump necessary for analyzing the abnormal termination of the program.

〔発明の効果〕〔Effect of the invention〕

以上説明したように本発明は、ダンプ領域記述子を用い
てプログラム全領域の中から採取されるダンプ領域を指
定し、正常に終了した被呼び出しプログラムに関するダ
ンプ領域記述子を呼び出しプログラムに復帰する際に全
て抹消し、さらに、同一領域を指すダンプ領域記述子が
重複して存在する場合は単一化するようダンプ領域記述
子を選択することにより、プログラム異常終了時に採取
されるダンプ採取領域がその時点で未完了のプログラム
の指定された領域のみとなり、プログラム異常終了時の
解析に十分で、かつ無駄な部分の少ないダンプ採取が行
われ、解析作業の効率を高める大きな効果がある。
As explained above, the present invention uses a dump area descriptor to specify a dump area to be collected from the entire program area, and when returning the dump area descriptor for a normally terminated called program to the calling program. By deleting all dump area descriptors that point to the same area, and selecting the dump area descriptor to unify it if there are duplicate dump area descriptors pointing to the same area, the dump collection area collected when the program terminates abnormally will be the same. Only the specified area of the program that is incomplete at the time is collected, and the dump collection is sufficient for analysis when the program terminates abnormally and has a small amount of wasted parts, which has a great effect of increasing the efficiency of analysis work.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明のプログラム異常終了時のダンプ採取方
式の一実施例を示す電子計算機システムのブロック図、
第2図はダンプ採取領域登録スタックIOに登録される
領域記述子とダンプ領域の関係を示す図である。 1−’llススタック初期化手段 2・・・ダンプ採取領域登録手段、 3・・・ダンプ採取領域抹消手段。 4・・・ダンプ採取領域選択手段、 5・・・ダンプ採取手段、 ] 0−・・ダンプ採取領域登録スタック、20−・・
主記憶装置、 30・・・補助記憶装置、 31−・・ダンプ内容格納域、 +01−109−・・プログラム、 201〜209−・・ダンプ採取領域、301〜309
・・・ダンプ採取領域記述子群。 401〜409 ・・・領域記述子。
FIG. 1 is a block diagram of a computer system showing an embodiment of a dump collection method when a program terminates abnormally according to the present invention;
FIG. 2 is a diagram showing the relationship between the area descriptor registered in the dump collection area registration stack IO and the dump area. 1-'ll stack initialization means 2: dump collection area registration means; 3: dump collection area deletion means. 4... Dump collection area selection means, 5... Dump collection means, ] 0-... Dump collection area registration stack, 20-...
Main storage device, 30... Auxiliary storage device, 31-... Dump content storage area, +01-109-... Program, 201-209-... Dump collection area, 301-309
...Dump collection area descriptor group. 401-409...Area descriptor.

Claims (1)

【特許請求の範囲】 1、電子計算機システムにおいて、 プログラムの実行開始時にダンプ採取領域登録スタック
を主記憶上に割り当て、該スタックを空状態にする登録
スタック初期化手段と、 プログラムが実行中に異常終了した場合のダンプ採取領
域を示す領域記述子を当該プログラムの入口点で前記ダ
ンプ採取領域登録スタックに登録するダンプ採取領域登
録手段と、 被呼び出しプログラムが呼び出しプログラムに戻る際に
、前記ダンプ採取領域登録スタックに該被呼び出しプロ
グラムについて登録されている領域記述子を抹消するダ
ンプ採取領域抹消手段と、プログラム異常終了時に、前
記ダンプ採取領域登録スタックに格納されている全ての
領域記述子に対応するダンプ採取領域を重複しないよう
に選択するダンプ採取領域選択手段と、 前記ダンプ採取領域選択手段によって選択されたダンプ
採取領域のダンプを採取するダンプ採取手段とを有する
、プログラム異常終了時のダンプ採取方式。
[Scope of Claims] 1. In a computer system, registration stack initialization means allocates a dump collection area registration stack on main memory at the start of program execution and makes the stack empty; dump collection area registration means for registering an area descriptor indicating a dump collection area when the program is terminated in the dump collection area registration stack at the entry point of the program; and when the called program returns to the calling program, the dump collection area is dump collection area deletion means for deleting the area descriptor registered for the called program in the registration stack; and a dump corresponding to all area descriptors stored in the dump collection area registration stack when the program terminates abnormally. A method for collecting a dump when a program terminates abnormally, comprising: a dump collection area selection means for selecting collection areas so as not to overlap; and a dump collection means for collecting a dump of the dump collection area selected by the dump collection area selection means.
JP1105326A 1989-04-24 1989-04-24 Dump collection system at abnormal end of program Pending JPH02282838A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1105326A JPH02282838A (en) 1989-04-24 1989-04-24 Dump collection system at abnormal end of program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1105326A JPH02282838A (en) 1989-04-24 1989-04-24 Dump collection system at abnormal end of program

Publications (1)

Publication Number Publication Date
JPH02282838A true JPH02282838A (en) 1990-11-20

Family

ID=14404595

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1105326A Pending JPH02282838A (en) 1989-04-24 1989-04-24 Dump collection system at abnormal end of program

Country Status (1)

Country Link
JP (1) JPH02282838A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05257737A (en) * 1992-01-31 1993-10-08 Nec Corp System for supporting analysis of cause of abnormal program end
JPH05257761A (en) * 1992-03-16 1993-10-08 Nec Corp Damp output control system
JPH08263331A (en) * 1995-03-22 1996-10-11 Kofu Nippon Denki Kk Information processing system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05257737A (en) * 1992-01-31 1993-10-08 Nec Corp System for supporting analysis of cause of abnormal program end
JPH05257761A (en) * 1992-03-16 1993-10-08 Nec Corp Damp output control system
JPH08263331A (en) * 1995-03-22 1996-10-11 Kofu Nippon Denki Kk Information processing system

Similar Documents

Publication Publication Date Title
KR100715638B1 (en) Memory reclamation method
US5900001A (en) Method and apparatus for optimizing exact garbage collection using a bifurcated data structure
US6182243B1 (en) Selective data capture for software exception conditions
US6049810A (en) Method and apparatus for implementing a write barrier of a garbage collected heap
US5920876A (en) Performing exact garbage collection using bitmaps that identify pointer values within objects
US5903900A (en) Method and apparatus for optimizing exact garbage collection of array nodes in a carded heap
US6757890B1 (en) Methods and apparatus for enabling local Java object allocation and collection
US6038572A (en) Method and apparatus for localizing nodes in a garbage collected carded heap
JP4812997B2 (en) Method and apparatus for improving locality of reference by memory management
US5915255A (en) Method and apparatus for referencing nodes using links
US20060037079A1 (en) System, method and program for scanning for viruses
US20020087589A1 (en) Methods and apparatus for optimizing garbage collection
JP2002506548A (en) Bounded pause garbage collection system having read and write barriers associated with a partially relocated object instance and garbage collection method thereof
CN102214109A (en) Method and device for loading plug-ins
CN101154185A (en) Method for performing recovery and playback when running software
US7085782B2 (en) Log grooming in a multi-log environment
US20070203959A1 (en) Apparatus and method for managing resources using virtual ID in multiple Java application environment
US7660961B2 (en) Concurrent evacuation of the young generation
JPH02282838A (en) Dump collection system at abnormal end of program
JPH10333944A (en) Memory dump sample system
JP2003015917A (en) Data migration processing method and program
JPH039426A (en) Software development environment storing system
CN115221117A (en) Method and system capable of transferring data across disks
JP2943694B2 (en) Data registration method and data search method
JP2573926B2 (en) Verification method of file update