【0001】[0001]
【産業上の利用分野】本発明は、並列処理単位の実行状
態を採取する複数トレースバックマップ出力方式であっ
て、並列対応を行った言語処理系において、従来の逐次
対応の言語処理系からの自然な拡張のデバッグ機能のサ
ポートに関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a multiple traceback map output system for collecting execution states of parallel processing units. Concerning support for natural extension debugging features.
【0002】[0002]
【従来の技術】逐次対応の言語処理系(FORTRAN
77、FORTRAN77EXなど)は、以下の場合
にトレースバックマップを出力する。2. Description of the Related Art Sequential language processing system (FORTRAN)
77, FORTRAN77EX, etc.) outputs a traceback map in the following cases.
【0003】・エラーが発生した場合、診断メッセージ
の出力直後 ・異常終了事象が発生した場合、異常終了メッセージの
出力直後 ・ユーザが言語処理系の提供するトレースバックマップ
出力のサービスルーチンを呼び出した場合 このトレースバックマップは、主プログラムからエラー
発生・異常終了事象の発生および現在のプログラム単位
(トレースプログラム単位)までの呼び出し関係を表わ
すものである。呼び出し関係の検索は各プログラム間の
レジスタ退避域のバックチェーンを利用して行い、検索
した呼び出し関係をもとにトレースバックマップを出力
している。この際、各プログラム単位が標準リンケージ
規約に基づくレジスタ退避を行っていることを前提に呼
び出し関係を検索している。When an error occurs, immediately after the output of a diagnostic message. When an abnormal end event occurs, immediately after the output of an abnormal end message. When the user calls a service routine for traceback map output provided by a language processing system. This traceback map represents the calling relationship from the main program to the occurrence of an error occurrence / abnormal end event and the current program unit (trace program unit). The call relationship is searched using the back chain of the register save area between programs, and the trace back map is output based on the searched call relationship. At this time, the calling relationship is searched on the assumption that each program unit saves registers based on the standard linkage convention.
【0004】トレースバックマップ21の例を図6に示
す。このトレースバックマップ21は、トレース開始行
(図6の)と、トレース行(図6の)の2つの部分
から成り立っている。ここで、のトレース開始行には
エラー発生個所を示し、のトレース行はプログラム間
の呼び出し関係を示す。An example of the traceback map 21 is shown in FIG. The traceback map 21 is composed of two parts, a trace start line (in FIG. 6) and a trace line (in FIG. 6). Here, the trace start line indicates the location of the error, and the trace line indicates the call relationship between the programs.
【0005】[0005]
【発明が解決しようとする課題】従来の図6のようなト
レースバックマップ21は、逐次処理を行うプログラム
間のエラー発生個所およびその呼び出し関係を調査する
のに都合がよい。The conventional traceback map 21 as shown in FIG. 6 is convenient for investigating an error occurrence point and a calling relationship between programs which perform sequential processing.
【0006】しかし、言語処理系の並列対応、即ちプロ
グラムを複数個に分割して各並列処理単位が独立に動作
可能にする並列対応を考えた場合、並列処理単位の間の
プログラム間の呼び出し関係を上述した従来の図6のよ
うなトレースバックマップでは並列処理単位間の呼び出
し関係を採取して調査し得ないという問題があった。詳
述すれば、複数個の並列処理単位に分割した各プログラ
ムが並列実行中に生じたエラーは、エラーの生じた並列
処理単位だけに着目してもエラー発生原因が判明すると
は限らない。発生したエラーの原因が、そのときに動作
中の他の並列処理単位により引き起こされたものである
場合には、従来の上述したトレースバックマップでは探
索し得ない。また、並列処理単位間の実行順序が異なれ
ばエラーが再現しないことがある。このように並列処理
単位の実行時に従来のプログラム単位のトレースバック
マップを採取したのではデバッグ作業を行えないという
問題がある。However, when considering parallel correspondence of a language processing system, that is, parallel correspondence in which a program is divided into a plurality of pieces and each parallel processing unit can operate independently, a call relationship between programs between the parallel processing units is considered. In the conventional traceback map as shown in FIG. 6 described above, there is a problem that the call relationship between parallel processing units cannot be collected and investigated. More specifically, regarding the error generated during parallel execution of each program divided into a plurality of parallel processing units, the cause of the error does not always become clear even if only the parallel processing unit in which the error occurs is focused. If the cause of the error that occurred is that caused by another parallel processing unit that is operating at that time, it cannot be searched by the above-mentioned conventional traceback map. Further, if the execution order between the parallel processing units is different, the error may not be reproduced. As described above, there is a problem that the debug work cannot be performed if the conventional traceback map for each program is collected during execution of the parallel processing unit.
【0007】本発明は、エラーの生じた並列処理単位だ
けでなく、そのときに動作中の全ての並列処理単位の実
行状態のトレースバックマップを採取し、並列処理単位
におけるプログラムの実行状態および呼び出し関係を表
示などし、再現性のない並列処理時特有のエラーなどを
把握可能にしてデバッグ作業の効率化を図ることを目的
としている。According to the present invention, not only the parallel processing unit in which an error has occurred, but also the traceback maps of the execution states of all the parallel processing units in operation at that time are collected, and the execution state and call of the program in the parallel processing unit The purpose is to improve the efficiency of the debugging work by displaying the relations and grasping errors that are not reproducible and which are peculiar to parallel processing.
【0008】[0008]
【課題を解決するための手段】図1を参照して課題を解
決するための手段を説明する。図1において、並列処理
単位1は、並列に処理を実行する処理単位(例えばタス
ク)であって、トレースバックマップの出力の対象であ
る。[Means for Solving the Problems] Means for solving the problems will be described with reference to FIG. In FIG. 1, a parallel processing unit 1 is a processing unit (for example, a task) that executes processing in parallel, and is an output target of a traceback map.
【0009】PCB(並列処理単位制御表)4は、並列
処理単位1の実行状態および呼び出し関係などを設定す
る制御表である。A PCB (parallel processing unit control table) 4 is a control table for setting the execution state and calling relationship of the parallel processing unit 1.
【0010】[0010]
【作用】本発明は、図1に示すように、並列処理単位1
毎にPCB4をそれぞれ設け、ある並列処理単位1が他
の並列処理単位1を呼び出すときに自身の状態および呼
び出し先の並列処理単位1との呼び出し関係をPCB4
に設定し、呼び出された並列処理単位1が実行状態をP
CB4に設定した後に処理実行することを繰り返し、異
常が発生したときに、全ての並列処理単位1の処理を中
断させた後、PCB4を参照して並列処理単位1毎に実
行状態および呼び出し関係をトレースバックマップとし
て出力するようにしている。According to the present invention, as shown in FIG.
A PCB 4 is provided for each of the parallel processing units 1, and when a certain parallel processing unit 1 calls another parallel processing unit 1, its own state and the call relationship with the parallel processing unit 1 of the call destination are indicated by the PCB 4
, And the called parallel processing unit 1 sets the execution state to P
The process execution is repeated after setting to CB4, and when an abnormality occurs, the process of all parallel processing units 1 is interrupted, and then the execution state and the call relationship are determined for each parallel processing unit 1 by referring to PCB4. It outputs it as a traceback map.
【0011】従って、エラーの生じた並列処理単位1だ
けでなく、そのときに動作中の全ての並列処理単位1の
実行状態および呼び出し関係の情報を持つトレースバッ
クマップを出力することができ、並列処理単位1におけ
るプログラムの実行状態および呼び出し関係を表示など
し、再現性のない並列処理時特有のエラーなどを容易に
把握することが可能となり、デバッグ作業の効率化を図
ることができる。Therefore, not only the parallel processing unit 1 in which an error has occurred, but also the traceback map having the execution state and call relation information of all the parallel processing units 1 in operation at that time can be output. By displaying the program execution state and call relationship in the processing unit 1, it is possible to easily grasp errors that are not reproducible and are peculiar to parallel processing, and to improve the efficiency of debugging work.
【0012】[0012]
【実施例】次に、図1から図5を用いて本発明の実施例
の構成および動作を順次詳細に説明する。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, the construction and operation of an embodiment of the present invention will be sequentially described in detail with reference to FIGS.
【0013】図1において、並列処理単位1は、並列に
処理を実行する処理単位であって、例えば図示のように
メインタスク11、メインタスク11から呼び出される
(並列処理ライブラリ経由で)子タスク12などの並列
に同時に実行する処理単位である。これら並列処理単位
1毎に、本実施例ではPCB4を作成してこれに実行状
態および呼び出し関係を設定しておき、エラー発生時に
これを編集してトレースバックマップを出力するように
している。In FIG. 1, a parallel processing unit 1 is a processing unit for executing processing in parallel, and for example, as shown in the drawing, a main task 11 and a child task 12 called from the main task 11 (via a parallel processing library). Is a processing unit that is executed in parallel at the same time. In this embodiment, a PCB 4 is created for each of these parallel processing units 1 and an execution state and a call relationship are set therein, and when an error occurs, this is edited and a traceback map is output.
【0014】メインタスク11は、mainプログラム
2、並列処理ライブラリ3、およびPCB4などから構
成され、mainプログラム2が並列処理単位1を構成
する子タスク12の生成をOS5に依頼して生成した
り、並列処理ライブラリ3経由で子タスク12を呼び出
したり、子タスク12の消滅をOS5に依頼したりなど
するものである。並列処理ライブラリ3は、mainプ
ログラム2からの呼び出し依頼に対応して、子タスク1
2を呼び出したりなどするものである。The main task 11 is composed of a main program 2, a parallel processing library 3, a PCB 4, etc., and the main program 2 requests the OS 5 to generate a child task 12 which constitutes the parallel processing unit 1, or It calls the child task 12 via the parallel processing library 3, requests the OS 5 to delete the child task 12, and so on. The parallel processing library 3 responds to the call request from the main program 2 by issuing the child task 1
2 is called.
【0015】PCB(並列処理単位制御表)4は、各並
列処理単位1毎に設け、並列処理単位1の状態(図2の
(イ)に示すEXEC(実行中)など)および呼び出し
関係などを設定する制御表である。いずれかの並列処理
単位1に異常が発生した場合、このPCB4を参照し、
各並列処理単位1の状態および呼び出し関係の情報を取
り出すことができ、これを図2の(ロ)に示すように、
異常の発生した並列処理単位1の状態および呼び出し関
係、他の並列処理単位1の状態および呼び出し関係を順
次リストとしたトレースバックマップを生成して出力す
ることができる。A PCB (parallel processing unit control table) 4 is provided for each parallel processing unit 1, and indicates the state of the parallel processing unit 1 (EXEC (in execution) shown in (a) of FIG. 2) and call relations. It is a control table to set. If an error occurs in any of the parallel processing units 1, refer to this PCB4,
Information on the state and calling relationship of each parallel processing unit 1 can be extracted, and as shown in (b) of FIG.
It is possible to generate and output a traceback map in which a state and a call relationship of the parallel processing unit 1 in which an abnormality has occurred and a state and a call relationship of another parallel processing unit 1 are sequentially listed.
【0016】OS5は、オペレーティングシステムであ
って、各並列処理単位1の統括制御するものであって、
ここでは子タスク12を生成・消滅したりなどするもの
である。The OS 5 is an operating system that controls the parallel processing units 1 in a unified manner.
Here, the child task 12 is created and deleted.
【0017】図2は、本発明の動作説明図を示す。図2
の(イ)は、並列処理単位1の状態遷移を示す。ここ
で、INITは、初期化済状態であって、例えばメイン
タスク11がOS5に依頼して子タスク12を生成し、
呼び出して処理開始させていない状態を表わす。FIG. 2 is a diagram for explaining the operation of the present invention. Figure 2
(A) indicates the state transition of the parallel processing unit 1. Here, INIT is in the initialized state, and for example, the main task 11 requests the OS 5 to generate the child task 12,
Represents a state in which the process has not been called to start processing.
【0018】EXECは、実行中状態であって、例えば
メインタスク11がOS5に依頼して子タスク12を生
成し、呼び出して処理開始させ、実行中の状態を表わ
す。RESTは、待ち状態(新たな並列処理単位の実行
完了待ち)であって、例えばメインタスク11がOS5
に依頼して子タスク12を生成し、呼び出して処理開始
させ、自身が当該子タスク12の実行完了を待っている
状態を表わす。EXEC is a running state, for example, the main task 11 requests the OS 5 to generate a child task 12, call it to start processing, and indicate a running state. REST is a waiting state (waiting for completion of execution of a new parallel processing unit), and for example, the main task 11 uses the OS 5
Requesting to generate a child task 12, calling it to start processing, and waiting for completion of execution of the child task 12 itself.
【0019】WAITは、待ち状態(同期待ち)であっ
て、例えばメインタスク11がOS5に依頼して複数の
子タスク12を生成し、呼び出して処理開始させ、これ
ら子タスク12の間で同期待ちする状態を表わす。WAIT is a waiting state (synchronization wait). For example, the main task 11 requests the OS 5 to generate a plurality of child tasks 12, call them to start processing, and wait for synchronization between these child tasks 12. Represents the state of doing.
【0020】JOINは、実行完了状態であって、例え
ばメインタスク11がOS5に依頼して複数の子タスク
12を生成し、呼び出して処理開始させ、子タスク12
が実行完了した状態を表わす。JOIN is in the execution completion state. For example, the main task 11 requests the OS 5 to generate a plurality of child tasks 12, call them to start processing, and then the child task 12
Indicates that the execution has been completed.
【0021】図2の(ロ)は、並列処理単位の状態とト
レース開始行を表わす。ここで、(1)は、エラー(E
RROR)の発生した並列処理単位の出力するトレース
開始行を表わす。ここでは、エラーがプログラム名“p
rogram−name−1”の文通番(SSN)の
“iiii”で発生し、そのときの位置がロケーション
(LOC)“xxxx”からオフセット(OFFSE
T)“yyyy”である旨を表わす。FIG. 2B shows the state of the parallel processing unit and the trace start line. Here, (1) is an error (E
RROR) represents the trace start line output by the parallel processing unit in which the (RROR) has occurred. In this case, the error is the program name "p
It occurs at "iii" of the sentence sequence number (SSN) of "logram-name-1", and the position at that time is offset (OFFSE) from the location (LOC) "xxxx".
T) Indicates that it is "yyyy".
【0022】以下同様に、(2)はEXEC、RES
T、WAIT状態の並列処理単位の出力するトレース開
始行を表わし、(3)はINIT状態の並列処理単位の
出力するトレース開始行を表わし、(4)はJOIN状
態の並列処理単位の出力するトレース開始行を表わす。Similarly, (2) is EXEC, RES
The trace start line output by the parallel processing unit in the T or WAIT state is represented, (3) represents the trace start line output by the parallel processing unit in the INIT state, and (4) is the trace output by the parallel processing unit in the JOIN state. Indicates the start line.
【0023】トレースバックマップは、これらトレース
開始行と、後述する呼び出し関係を表わすトレース行と
を並列処理単位毎に出力したものである(図5を用いて
後述する)。The traceback map is the output of these trace start lines and trace lines representing the calling relationship described later for each parallel processing unit (described later with reference to FIG. 5).
【0024】次に、図3および図4の実行フローチャー
トを用いて、メインタスクから子タスクsub1ないし
sub4、子タスクsub2から子タスクsub21、
sub22の各並列処理単位を呼び出し、子タスクsu
b21でエラー発生時にトレースバックマップを出力す
るときの、図1の構成(子タスク12は一部省略してあ
る)の動作を具体的に説明する。Next, referring to the execution flow charts of FIGS. 3 and 4, the main task to the child tasks sub1 to sub4, the child task sub2 to the child task sub21,
Each parallel processing unit of sub22 is called, and the child task su
The operation of the configuration of FIG. 1 (the child task 12 is partially omitted) when outputting the traceback map when an error occurs in b21 will be specifically described.
【0025】図3において、S1は、mainの処理実
行する。S2は、mainの処理中断する。S3は、メ
インタスクが自PCB4にREST(新たな並列処理単
位の実行完了待ち)を設定する。これは、メインタスク
の状態をRESTとして設定、即ちこれから呼び出した
処理を依頼しようとする子タスクsub1ないしsub
4の並列処理単位1による処理が完了するまで待ち状態
になる旨をRESTとして自PCB4に設定する。In FIG. 3, S1 executes main processing. In S2, the main process is interrupted. In S3, the main task sets REST (waiting for completion of execution of a new parallel processing unit) in the own PCB 4. This is because the state of the main task is set as REST, that is, the child tasks sub1 to sub that are going to request the processing called from now on.
The fact that the process by the parallel processing unit 1 of 4 is completed is set in the own PCB 4 as REST.
【0026】S4は、子タスクsub1ないしsub4
のPCB4にINIT(初期化済状態、未実行)を設定
する。これは、これから呼び出して処理を依頼しようと
する子タスクsub1ないしsub4を生成し、未だ実
行開始させていない旨をsub1ないしsub4のPC
B4にそれぞれ設定する。S4 is a child task sub1 to sub4.
INIT (initialized state, unexecuted) is set in the PCB4. This means that the child tasks sub1 to sub4 to be called from now on to request processing are generated, and the PCs of the sub1 to sub4 indicate that they have not started execution yet.
Set to B4 respectively.
【0027】S5は、子タスクsub1ないしsub4
を呼び出す。S6は、自タスク(メインタスク)が処理
中断する。以上の処理によって、メインタスクが自身の
PCB4にRESTを設定、呼び出そうとする子タスク
のsub1ないしsub4のPCB4にINITをそれ
ぞれ設定、更に、メインタスクと呼び出す子タスクとの
間の呼び出し関係をそれぞれのPCB4に設定する。S5 is a child task sub1 to sub4.
Call. In S6, the own task (main task) suspends processing. Through the above processing, the main task sets REST in its own PCB4, sets INIT in each of the subtasks PCB1 to PCB4 of the child task to be called, and further establishes the call relationship between the main task and the called child task. Set in each PCB4.
【0028】S7は、S5で呼び出された子タスクsu
b1が自PCB4にEXEC(実行中状態)を設定した
後、S8でsub1の処理を実行する。S9は、S5で
呼び出された子タスクsub2が自PCB4にEXEC
(実行中状態)を設定した後、S10でsub2の処理
を実行する。そして、図4のS11からS15によって
子タスクsub21、sub22を呼び出して処理依頼
する(後述する)。S7 is a child task su called in S5.
After b1 sets EXEC (execution in progress) in its own PCB4, the process of sub1 is executed in S8. In S9, the child task sub2 called in S5 is executed by the own PCB4.
After setting the (running state), the process of sub2 is executed in S10. Then, in S11 to S15 of FIG. 4, the child tasks sub21 and sub22 are called to request processing (described later).
【0029】S16は、S5で呼び出された子タスクs
ub3が自PCB4にEXEC(実行中状態)を設定し
た後、S17でsub3の処理を実行する。そして、S
18で自PCB4にJOIN(実行完了状態)を設定
し、S19でsub3の処理終了する。S16 is a child task s called in S5.
After the ub3 sets the EXEC (execution status) to the own PCB4, the process of the sub3 is executed in S17. And S
In step 18, JOIN (execution completion state) is set in the own PCB 4, and in step S19, the process of sub3 ends.
【0030】S20は、S5で呼び出された子タスクs
ub4が自PCB4にEXEC(実行中状態)を設定し
た後、S21でsub4の処理を実行する。そして、S
22で自PCB4にWAIT(同期待ち状態)を設定
し、S23で同期待ちのため、sub4の処理中断す
る。S20 is the child task s called in S5.
After ub4 sets EXEC (execution state) in its own PCB4, the processing of sub4 is executed in S21. And S
A WAIT (synchronization waiting state) is set in the own PCB 4 in 22 and the processing of sub 4 is interrupted for waiting for synchronization in S23.
【0031】以上の処理によって、S5でメインタスク
から呼び出された子タスクsub1ないしsub4で自
PCB4にEXECを設定して処理を実行し、処理に応
じてJOIN、WAITを設定する。Through the above processing, the child tasks sub1 to sub4 called from the main task in S5 set EXEC to the own PCB 4 to execute the processing, and JOIN and WAIT are set according to the processing.
【0032】次に、図4で子タスクsub2が更に子タ
スクsub21、sub22を呼び出し、この呼び出し
た状態でsub21にエラーが発生したときの動作を説
明する。The operation when the child task sub2 further calls the child tasks sub21 and sub22 in FIG. 4 and an error occurs in the sub21 in this called state will be described.
【0033】S11は、子タスクsub2がsub2の
処理を中断する。これは、子タスクsub2が子タスク
sub21、sub22を呼び出して処理依頼するため
に処理を中断する。In S11, the child task sub2 suspends the processing of sub2. This interrupts the processing because the child task sub2 calls the child tasks sub21 and sub22 and requests the processing.
【0034】S12は、子タスクsub2が自PCB4
にREST(新たな並列処理単位の実行完了待ち)を設
定する。これは、子タスクsub2の状態をRESTと
して設定、即ちこれから呼び出した処理を依頼しようと
する子タスクsub21、sub22の並列処理単位1
による処理が完了するまで待ち状態になる旨をREST
として自PCB4に設定する。In S12, the child task sub2 executes its own PCB4.
Is set to REST (waiting for completion of execution of a new parallel processing unit). This is because the state of the child task sub2 is set as REST, that is, the parallel processing unit 1 of the child tasks sub21 and sub22 that is going to request the processing called from now on.
REST to wait until the process is completed
Is set in the own PCB 4.
【0035】S13は、子タスクsub21およびsu
b22のPCB4にINIT(初期化済状態、未実行)
を設定する。これは、これから呼び出して処理を依頼し
ようとする子タスクsub21およびsub22を生成
し、未だ実行開始させていない旨をsub21およびs
ub22のPCB4にそれぞれ設定する。In S13, the child tasks sub21 and su are executed.
INIT (initialized state, not executed) on PCB4 of b22
To set. This means that the child tasks sub21 and sub22 which are to be called from now on and requested to be processed are generated, and the fact that the execution has not started yet
It is set in PCB4 of ub22, respectively.
【0036】S14は、子タスクsub21およびsu
b22を呼び出す。S15は、自タスク(子タスクsu
b2)が処理中断する。以上の処理によって、子タスク
sub2が自身のPCB4にRESTを設定、呼び出そ
うとする子タスクのsub21およびsub22のPC
B4にINITをそれぞれ設定、更に、子タスクsub
2と呼び出す子タスクsub21、sub22との間の
呼び出し関係をそれぞれのPCB4に設定する。In S14, the child tasks sub21 and su
Call b22. S15 is an own task (child task su
b2) suspends processing. Through the above processing, the child task sub2 sets the REST in its own PCB4, and the PCs of the child tasks sub21 and sub22 which are going to call
INIT is set in B4, respectively, and child task sub
The call relationship between 2 and the child tasks sub21 and sub22 to be called is set in each PCB 4.
【0037】S24は、S14で呼び出された子タスク
sub21が自PCB4にEXEC(実行中状態)を設
定した後、S25でsub21の処理を実行する。S2
6は、S25で処理を実行したsub21でエラーが検
出される。このエラー検出に対応して、S27で並列ラ
イブラリ4経由でメインタスクを起動する。In step S24, the child task sub21 called in step S14 sets EXEC (executing state) in its own PCB 4, and then the processing of sub21 is executed in step S25. S2
In No. 6, an error is detected in sub21 that has executed the process in S25. In response to this error detection, the main task is started via the parallel library 4 in S27.
【0038】S28は、S27で起動されたメインタス
クが、動作中の子タスク、ここでは、子タスクsub
1、sub21、sub22(未実行中)を中断させ
る。S29は、S28で実行中の子タスクを中断させた
後、図示のように複数トレースバックマップを出力す
る。この複数トレースバックマップは、図示のように、
は、エラー発生したsub21のPCBの状態を出力
(エラー発生)(トレース開始行、図2の(ロ)参
照)、およびsub2からmainまでのトレースバッ
クマップ(呼び出し関係)を出力する。In step S28, the main task started in step S27 is a child task in operation, here, child task sub.
1, sub21, and sub22 (not yet executed) are suspended. In S29, after suspending the child task being executed in S28, a plurality of traceback maps are output as illustrated. This multiple traceback map, as shown,
Outputs the state of the PCB of the sub21 in which the error occurred (error occurrence) (trace start line, see (b) of FIG. 2) and the traceback map (call relationship) from sub2 to main.
【0039】ないしは、エラー発生したsub21
以外の並列処理単位であるsub1、sub22、su
b3、sub4について、上段のトレース開始行および
下段のトレース行の情報を図示のようにそれぞれ出力す
る。これらトレース開始行およびトレース行の情報を具
体化したものが図5である。以下図5を用いてないし
の内容を詳細に説明する。Or, the sub21 in which the error occurred
Other than parallel processing units sub1, sub22, su
For b3 and sub4, the information of the upper trace start row and the lower trace row are output as shown in the figure. FIG. 5 is a concrete representation of the information of the trace start line and the trace line. The contents of FIG. 5 will be described in detail below.
【0040】図5は、本発明の並列時の複数トレースバ
ックマップの例を示す。左側の呼び出し関係の模式図
は、図3および図4の実行フローチャートで説明した呼
び出し関係および実行状態を示し、sub21実行中
(EXEC状態)にエラーが発生したときに出力された
トレースバックマップの例を示す。ないしは、su
b21、sub1、sub22、sub3、sub4に
対応するトレースバックマップの例を示す。ここで、S
SNは文番号、LOCはロケーション(先頭アドレ
ス)、OFFSETはオフセット(ロケーションからの
オフセット)を表わす。FIG. 5 shows an example of a plurality of traceback maps in parallel according to the present invention. The schematic diagram of the call relationship on the left side shows the call relationship and the execution state described in the execution flowcharts of FIGS. 3 and 4, and is an example of the traceback map output when an error occurs during execution of sub21 (EXEC state). Indicates. Or su
An example of traceback maps corresponding to b21, sub1, sub22, sub3, and sub4 is shown. Where S
SN represents a sentence number, LOC represents a location (start address), and OFFSET represents an offset (offset from the location).
【0041】第1行目は、sub21の文番号iiでエ
ラーが発生し、その位置がロケーションxxからオフセ
ットyyの位置である。第2行目は、sub2の文番号
kkのロケーションwwから、sub21のロケーショ
ンzzが並列呼び出されている(PAR−CALLE
D)。The first line is the position where the error occurs at the sentence number ii of sub21 and the position is offset yy from the position xx. In the second line, the location zz of sub21 is called in parallel from the location ww of the statement number kk of sub2 (PAR-CALLE.
D).
【0042】第3行目は、メインの文番号kkのロケー
ションwwから、sub2のロケーションzzが並列呼
び出されている(PAR−CALLED)。第4行目
は、OSから、sub2のロケーションzzが呼び出さ
れている(CALLED)。On the third line, the location zz of sub2 is called in parallel from the location ww of the main sentence number kk (PAR-CALLED). In the 4th line, the location zz of sub2 is called from the OS (CALLED).
【0043】以下同様に、INTERRUPTIONは
中断、WAITINGは待機中、ALREADY TE
RMINATEDは既に終了した、を表わす。Similarly, INTERRUPTION is interrupted, WAITING is waiting, ALREADY TE
RMINATED indicates that it has already ended.
【0044】[0044]
【発明の効果】以上説明したように、本発明によれば、
エラーの生じた並列処理単位1だけでなく、そのときに
動作中の全ての並列処理単位1の実行状態および呼び出
し関係をPCB4に設定しておき、いずれかの並列処理
単位1でエラー発生時にこのPCB4を参照して各並列
処理単位1の実行状態および呼び出し関係をトレースバ
ックマップとして出力する構成を採用しているため、並
列処理単位1におけるプログラムの実行状態および呼び
出し関係をトレースバックマップとして表示などし、再
現性のない並列処理時特有のエラーなどを容易に把握す
ることが可能となり、デバッグ作業の効率化を図ること
ができる。これにより、エラーなどの発生した処理単位
だけでなく、そのときの動作中の全ての並列処理単位の
実行状態および呼び出し関係をトレースバックマップと
して表示し、いまどのような状態にあるか、どこまで実
行したかなどを視覚的に判り易く表示などし、プログラ
ム全体の動作状況を直感的かつ容易に把握することが可
能となる。As described above, according to the present invention,
Not only the parallel processing unit 1 in which an error has occurred, but also the execution states and calling relationships of all the parallel processing units 1 that are operating at that time are set in the PCB 4, and when an error occurs in any of the parallel processing units 1, The execution status and call relationship of each parallel processing unit 1 are output as a traceback map by referring to the PCB 4, so that the execution status and call relationship of the program in the parallel processing unit 1 are displayed as a traceback map. However, it is possible to easily grasp errors that are not reproducible and are peculiar to parallel processing, and it is possible to improve the efficiency of debugging work. As a result, not only the processing unit in which an error has occurred, but also the execution status and call relationships of all the parallel processing units that are operating at that time are displayed as a traceback map, and the current status and how far It is possible to intuitively and easily grasp the operation status of the entire program by displaying, for example, whether or not it has been done visually.
【図1】本発明のシステムブロック図である。FIG. 1 is a system block diagram of the present invention.
【図2】本発明の動作説明図である。FIG. 2 is an operation explanatory diagram of the present invention.
【図3】本発明の複数トレースバックマップの実行フロ
ーチャート(その1)である。FIG. 3 is an execution flowchart (No. 1) of the multiple traceback map of the present invention.
【図4】本発明の複数トレースバックマップの実行フロ
ーチャート(その2である。FIG. 4 is an execution flowchart (No. 2) of the multiple traceback map of the present invention.
【図5】本発明の並列時の複数トレースバックマップの
例である。FIG. 5 is an example of a plurality of traceback maps in parallel according to the present invention.
【図6】従来形式のトレースバックマップである。FIG. 6 is a conventional form of traceback map.
1:並列処理単位 11:メインタスク 12:子タスク 2:mainプログラム 3:並列処理ライブラリ 4:PCB(並列処理単位制御表) 5:OS(オペレーティングシステム) 1: Parallel processing unit 11: Main task 12: Child task 2: main program 3: Parallel processing library 4: PCB (parallel processing unit control table) 5: OS (operating system)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3236694AJPH0573367A (en) | 1991-09-18 | 1991-09-18 | Multiple trace-back map output system |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3236694AJPH0573367A (en) | 1991-09-18 | 1991-09-18 | Multiple trace-back map output system |
| Publication Number | Publication Date |
|---|---|
| JPH0573367Atrue JPH0573367A (en) | 1993-03-26 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3236694APendingJPH0573367A (en) | 1991-09-18 | 1991-09-18 | Multiple trace-back map output system |
| Country | Link |
|---|---|
| JP (1) | JPH0573367A (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5970248A (en)* | 1994-09-29 | 1999-10-19 | International Business Machines Corporation | Method of walking-up a call stack for a client/server program that uses remote procedure call |
| EP1096212A1 (en) | 1999-10-25 | 2001-05-02 | Sharp Kabushiki Kaisha | Door opening/closing mechanism and manufacturing method thereof |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS59103119A (en)* | 1982-12-03 | 1984-06-14 | Hitachi Ltd | Time management method in data processing system |
| JPS62121536A (en)* | 1985-11-22 | 1987-06-02 | Toshiba Corp | program processing device |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS59103119A (en)* | 1982-12-03 | 1984-06-14 | Hitachi Ltd | Time management method in data processing system |
| JPS62121536A (en)* | 1985-11-22 | 1987-06-02 | Toshiba Corp | program processing device |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5970248A (en)* | 1994-09-29 | 1999-10-19 | International Business Machines Corporation | Method of walking-up a call stack for a client/server program that uses remote procedure call |
| EP1096212A1 (en) | 1999-10-25 | 2001-05-02 | Sharp Kabushiki Kaisha | Door opening/closing mechanism and manufacturing method thereof |
| Publication | Publication Date | Title |
|---|---|---|
| WO2002029548A2 (en) | Http transaction monitor with capacity to replay in debugging session | |
| JP2709705B2 (en) | Program management method in multi-computer system | |
| JPH0573367A (en) | Multiple trace-back map output system | |
| JPS63231613A (en) | Command setting method | |
| JPS6378231A (en) | Partial program combining system | |
| CN112363707A (en) | Control layer general scheduling method based on JAVA reflection technology | |
| JPH0756725A (en) | Program creation support method | |
| JP3085730B2 (en) | Parallel simulation method for complex CPU system | |
| JPH10289129A (en) | Task scheduler for debugging | |
| Kewley et al. | A distributed object-oriented framework for tool development | |
| JP2695497B2 (en) | Suspension notification device for statements that share instructions | |
| Aspnäs et al. | A programming environment for a transputer-based multiprocessor system | |
| JPH06175991A (en) | Parallel computer | |
| JPH01283640A (en) | Data driving type control method | |
| JPS63289654A (en) | Program branching instruction monitoring system | |
| JP2569026B2 (en) | Program execution method for multi-computer system | |
| JPH08305607A (en) | Program debugging method and debugger for multiprocessor system | |
| CN114363411A (en) | Data transmission method, device, system and computer storage medium | |
| JPH11272516A (en) | Dump output control system | |
| JPS6191734A (en) | Debugging system for program | |
| JPH02121454A (en) | electronic switching system | |
| JPH01279334A (en) | Test system for software single body by means of pseudo monitor | |
| JPH11242590A (en) | Graphic screen program generation support device | |
| JPH0468446A (en) | Debugging support device | |
| JPH05143388A (en) | Suspending system for parallel processing program |
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal | Free format text:JAPANESE INTERMEDIATE CODE: A02 Effective date:19980707 |