JPH04263336A - Executing route output method for recurrent call - Google Patents

Executing route output method for recurrent call

Info

Publication number
JPH04263336A
JPH04263336A JP3022562A JP2256291A JPH04263336A JP H04263336 A JPH04263336 A JP H04263336A JP 3022562 A JP3022562 A JP 3022562A JP 2256291 A JP2256291 A JP 2256291A JP H04263336 A JPH04263336 A JP H04263336A
Authority
JP
Japan
Prior art keywords
program
output
execution
management table
operation management
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
JP3022562A
Other languages
Japanese (ja)
Other versions
JP2777938B2 (en
Inventor
Toshiaki Sugiura
杉浦 壽昭
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP3022562A priority Critical patent/JP2777938B2/en
Publication of JPH04263336A publication Critical patent/JPH04263336A/en
Application granted granted Critical
Publication of JP2777938B2 publication Critical patent/JP2777938B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Debugging And Monitoring (AREA)

Abstract

PURPOSE:To enable a debugger to perform the output of an executing route regardless of a program operation rule as well as to reduce the output value when an instruction is given for the output of the executing route by outputting collectively the recurrent calls in an executing route output method. CONSTITUTION:A monitoring point table 9 is provided to store the types and addresses of the inlet and the outlet of a program whose monitoring is instructed together with an action control table 10 where the program name is set. When the operation of the program is interrupted at its inlet, the called program name is set and linked by reference of the table 10 in response to an executing instruction. Meanwhile the table 10 is deleted if the program is interrupted at its output. These operations are repeated and the linked table 10 is retrieved in response to an executing route output instruction of a user. Then the recurrent call frequency is collectively outputted and the calling relation is individually outputted for other programs.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明は、再帰呼び出し時の実行
経路出力方法であって、実行プログラムの実行経路の出
力量を削減および確実に出力する再帰呼び出し時の実行
経路出力方法に関するものである。
[Field of Industrial Application] The present invention relates to a method for outputting an execution path during recursive call, and more particularly, to a method for outputting an execution path during recursive call, which reduces and reliably outputs the amount of output of the execution path of an executable program. .

【0002】0002

【従来の技術】従来の言語デバッガは、対象となる実行
プログラムが自分自身を呼び出す再帰呼び出しの性質を
持つプログラムの場合でも実行経路の出力について特別
の対処を行っていなく図5の(ハ)に示すように、再帰
呼び出しの全てについて呼び出し元のプログラムから呼
び出し先のプログラムの関係を羅列するようにしていた
。以下図5について簡単に説明する。
[Prior Art] Conventional language debuggers do not take any special measures to output the execution path even when the target execution program is a program that calls itself recursively. As shown, for all recursive calls, the relationship between the calling program and the called program is listed. FIG. 5 will be briefly explained below.

【0003】図5の(イ)は、再帰呼び出しのプログラ
ムの例を示す。これは、mainからfuncを呼び出
し、この呼び出されたfunc内で自身のfuncを1
0回、再帰的に呼び出すプログラムである。図5の(ロ
)は、図5の(イ)の再帰呼び出しプログラムについて
、その呼び出し関係を模式的に表示したものである。こ
こで、program:mainから呼び出されたpr
ogram:funcが更に自身のprogram:f
uncを呼び出すことを10回繰り返す様子を示したも
のである。
FIG. 5A shows an example of a recursive calling program. This calls func from main, and within this called func sets its own func to 1.
This is a program that is called recursively 0 times. FIG. 5(B) schematically shows the calling relationship of the recursive calling program shown in FIG. 5(A). Here, the pr called from program:main
ogram:func further adds its own program:f
This shows how calling unc is repeated 10 times.

【0004】図5の(ハ)は、図5の(ロ)の再帰呼び
出し時の実行経路出力例を示す。これは、図5の(ロ)
で模式的に示した各呼び出しを利用者が理解し得るよう
に、例えばfunc called from mai
n.(funcがmainから呼び出された)という記
述で表示したものである。
FIG. 5(c) shows an example of the execution path output at the time of recursive call in FIG. 5(b). This is (b) in Figure 5.
For example, func called from mai
n. (func was called from main).

【0005】[0005]

【発明が解決しようとする課題】このため、再帰呼び出
しの性質を持つプログラムの実行経路を出力した場合、
再帰呼び出しの回数分の呼び出し関係(図5の(ハ)の
func called from func)が繰り
返し表示されることとなり、再帰呼び出しが増えれば増
える程、実行経路出力量が増え、必要な情報の取り出し
を容易に行えないと共に、画面上に表示したときに再帰
呼び出し関係の表示で占領されてしまい、次の画面に必
要な情報が表示され、ひいてはデバッグ時に見逃すとい
う問題があった。また、実行経路の情報を、動作対象の
コンピュータ上のプログラム動作規約に頼りにして、出
力指示がされた時点に採取していたため、途中のプログ
ラム動作規約に基づかないプログラムが存在し、プログ
ラム動作規約が破棄されたような状態になった場合、正
しい情報の出力ができないという問題があった。
[Problem to be solved by the invention] For this reason, when outputting the execution path of a program that has the property of recursive calls,
The calling relationship for the number of recursive calls (func called from func in (c) in Figure 5) is displayed repeatedly, and the more recursive calls, the more the execution path output amount increases, making it difficult to extract the necessary information. It is not easy to do this, and when it is displayed on the screen, it is occupied by displays related to recursive calls, and the necessary information is displayed on the next screen, which in turn causes the problem of being missed during debugging. In addition, because information on the execution path was collected at the time when an output instruction was given, relying on the program operating rules on the target computer, there were programs that were not based on the program operating rules in the middle, and the program operating rules There was a problem in that if the file was in a state where it looked like it had been discarded, correct information could not be output.

【0006】本発明は、呼び出し元と呼び出し先のプロ
グラム名が一致する再帰呼び出しが行われときにこれを
まとめて出力し、実行経路出力指示時の出力量を削減お
よびプログラム動作規約に無関係にデバッガが実行経路
出力を行うことを目的としている。
[0006] The present invention outputs all recursive calls in which the program names of the caller and callee match, thereby reducing the amount of output when instructing to output the execution path, and making it easier to use a debugger regardless of the program operating rules. The purpose is to output the execution path.

【0007】[0007]

【課題を解決するための手段】図1は、本発明の原理構
成図を示す。図1において、監視点テーブル9は、実行
プログラム中の監視点の設定指示されたプログラム(手
続き)の入口および出口のアドレスを格納するテーブル
である。
[Means for Solving the Problems] FIG. 1 shows a diagram of the principle configuration of the present invention. In FIG. 1, a monitoring point table 9 is a table that stores the addresses of the entrance and exit of a program (procedure) for which setting of a monitoring point in an execution program is instructed.

【0008】動作管理テーブル10は、中断点の入り口
で呼び出されたプログラム名を設定し、リンクするテー
ブルである。実行監視部4は、監視点テーブル9をもと
に、動作管理テーブル10の更新などを行うものである
。出力制御部5は、動作管理テーブル10をもとに実行
経路を出力するものである。
The operation management table 10 is a table in which the name of the program called at the entrance of the interruption point is set and linked. The execution monitoring unit 4 updates the operation management table 10 based on the monitoring point table 9. The output control unit 5 outputs an execution path based on the operation management table 10.

【0009】[0009]

【作用】本発明は、図1に示すように、利用者からの実
行指示に対応して、実行監視部4が中断時に監視点テー
ブル9を参照してプログラムの入口と判明したときに動
作管理テーブル10を作成して呼び出されたプログラム
名を設定してリンクし、手続きの出口と判明したときに
該当する動作管理テーブル10を削除することを繰り返
し行い、利用者からの実行経路出力指示に対応して、出
力制御部5がリンクされている動作管理テーブル10を
検索し、プログラムが自身のプログラムを呼び出してい
る再帰呼び出しについてその回数を求めて出力し、それ
以外のプログラムは呼び出し関係を個々に出力するよう
にしている。
[Operation] As shown in FIG. 1, in response to an execution instruction from a user, the execution monitoring unit 4 refers to the monitoring point table 9 at the time of interruption and manages the operation when it is determined that the program is at the entrance. Create a table 10, set the called program name, link it, and when it is determined that it is the exit of the procedure, delete the corresponding operation management table 10, and respond to the execution path output instruction from the user. Then, the output control unit 5 searches the linked operation management table 10, calculates and outputs the number of recursive calls in which a program calls its own program, and records the calling relationships of other programs individually. I am trying to output it.

【0010】従って、呼び出し元と呼び出し先のプログ
ラム名が一致する再帰呼び出しが行われときにこれをま
とめて出力することにより、実行経路出力指示時の出力
量を削減することが可能となると共に、プログラム動作
規約に無関係にデバッガが実行経路出力を行うことが可
能となる。
[0010] Therefore, by collectively outputting recursive calls in which the program names of the caller and callee match, it is possible to reduce the amount of output when instructing to output the execution path, and It becomes possible for the debugger to output the execution path regardless of the program operation rules.

【0011】[0011]

【実施例】次に、図1ないし図4を用いて本発明の実施
例の構成および動作を順次詳細に説明する。図1におい
て、入力部1は、監視指示のコマンドを入力したり、実
行指示のコマンドを入力したり、出力指示のコマンドを
入力したりするためのものである。監視指示は、例えば
コマンドAT  000100を利用者が入力してこの
パラメタで指定した文番号000100に監視点を設定
(元の命令を退避し、ここにSVC  aaを埋め込ん
でデバッガに制御が渡るように設定)する。実行指示は
、例えばコマンドGOを利用者が入力して実行プログラ
ムの実行を再開させる。出力指示は、例えばコマンドB
ACKTRを利用者が入力して実行経路出力を行わせる
DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, the structure and operation of an embodiment of the present invention will be explained in detail with reference to FIGS. 1 to 4. In FIG. 1, an input unit 1 is used to input commands for monitoring, execution, and output. A monitoring instruction can be, for example, when the user inputs the command AT 000100 and sets a monitoring point at statement number 000100 specified by this parameter (saved the original instruction, embedded SVC aa here, and passed control to the debugger. setting). As for the execution instruction, the user inputs a command GO, for example, to restart execution of the execution program. For example, the output instruction is command B
The user inputs ACKTR to cause the execution path to be output.

【0012】処理部2は、デバッグ処理を行うものであ
って、動作管理テーブル10作成のために監視点テーブ
ル9をもとに監視点を設定する監視点設定部3、入力部
1からの実行指示に対応して実行プログラム7の実行中
に、監視点テーブル9をもとに動作管理テーブル10の
作成、プログラム名の設定、解放などを行う実行監視部
4、および入力部1からの出力指示に対応して動作管理
テーブル10を参照して再起呼び出しの回数を求めて実
行経路出力(表示)する出力制御部5などから構成され
るものである。
The processing unit 2 performs debugging processing, and includes a monitoring point setting unit 3 that sets monitoring points based on the monitoring point table 9 to create the operation management table 10, and a monitoring point setting unit 3 that performs debugging processing from the input unit 1. The execution monitoring unit 4 creates an operation management table 10 based on the monitoring point table 9, sets a program name, releases the program, etc. during execution of the execution program 7 in response to an instruction, and output instructions from the input unit 1 The control section 5 includes an output control section 5, etc., which refers to the operation management table 10 to determine the number of restart calls and outputs (displays) the execution path.

【0013】メモリ6は、原始プログラムを翻訳した実
行可能形式の実行プログラム7をロードして実行するた
めのメモリである。デバッグ情報域8は、原始プログラ
ムの翻訳時に採取した原始プログラムの文番号と翻訳し
た実行プログラム7のアドレスとの対応関係を格納する
文情報テーブルや、利用者が設定した監視点(プログラ
ムの入口、出口)のアドレスおよびその種別を格納する
監視点テーブル9などを格納する領域である。
The memory 6 is a memory for loading and executing an execution program 7 in an executable format obtained by translating a source program. The debug information area 8 contains a statement information table that stores the correspondence between the statement numbers of the source program collected at the time of translation of the source program and the addresses of the translated execution program 7, as well as monitoring points set by the user (program entrances, This is an area for storing the monitoring point table 9, etc., which stores the addresses (exits) and their types.

【0014】監視点テーブル9は、利用者が設定した監
視点のプログラムの入口アドレス、出口アドレスおよび
種別を格納するものである(図3の(イ)、(ロ)を用
いて後述する)。動作管理テーブル10は、監視点の入
り口で呼び出されたプログラム名を設定し、リンクする
テーブルであって、デバッグ時における監視点で呼び出
されたプログラム名などを設定して管理するテーブルで
ある。動作管理テーブル10はプログラムの順番がわか
るようにリンクする。この動作管理テーブル10を参照
して、現在の監視点(中断点)におけるプログラムの呼
び出し関係を表示させることができる(図3の(ホ)参
照)。
The monitoring point table 9 stores the program entrance address, exit address, and type of monitoring points set by the user (described later using (a) and (b) in FIG. 3). The operation management table 10 is a table in which the name of a program called at the entrance of a monitoring point is set and linked, and is a table in which the name of a program called at a monitoring point during debugging is set and managed. The operation management table 10 is linked so that the order of programs can be known. By referring to this operation management table 10, the program calling relationship at the current monitoring point (interruption point) can be displayed (see (e) in FIG. 3).

【0015】実行経路出力装置11は、出力制御部5が
動作管理テーブル10を参照して求めた実行経路(プロ
グラムの呼び出し関係など)をディスプレイ上に表示し
たり、印刷したりなどするものである。図2は、原始プ
ログラム/実行プログラム例を示す。図2の(イ)は、
原始プログラム例を示す。これは、プログラム名:ma
inからプログラム名:funcを図示矢印のように呼
び出し、復帰している。この際、プロプラム:func
内で点線の矢印を用いて示すように再帰呼び出しを10
回行っている。
The execution path output device 11 displays on a display or prints the execution path (program call relationship, etc.) determined by the output control section 5 with reference to the operation management table 10. . FIG. 2 shows an example source program/execution program. (a) in Figure 2 is
An example of a source program is shown. This is the program name: ma
The program name: func is called from in as shown by the arrow in the figure, and the program returns. At this time, the program: func
Recursive calls are indicated using dotted arrows within 10
I've been there twice.

【0016】図2の(ロ)は、図2の(イ)原始プログ
ラムを翻訳した実行可能形式の実行プログラムを模式的
に表わしたものである。ここで、プログラム名:mai
nから実線の矢印を用いて示すように、プログラム名:
funcを呼び出し、この呼び出されたプログラム名:
func内で点線の矢印を用いて示すように再帰呼び出
しを行った後、元のプログラム名:mainに復帰する
ようにしている。
FIG. 2B schematically represents an executable program in an executable format obtained by translating the source program shown in FIG. 2A. Here, program name: mai
Program name, as indicated by the solid arrow from n:
Call func and give this called program name:
After performing a recursive call as shown by the dotted arrow in func, the program returns to the original program name: main.

【0017】図3は、本発明の具体例説明図を示す。図
3の(イ)は、監視点テーブルの形式例を示す。監視点
テーブル9は、実行プログラム中に設定した監視点のア
ドレス(監視点アドレス)および入口、出口などの種別
を格納するものである。図3の(ロ)は、監視点テーブ
ル例を示す。これは、図2の(ロ)実行プログラム7の
プログラム名:mainの入口のアドレス000100
、出口のアドレス000328、更にプログラム名:f
uncの入口のアドレス00032C、出口のアドレス
0003C8を図示のように格納して記憶したものであ
る。
FIG. 3 shows a diagram illustrating a specific example of the present invention. FIG. 3A shows an example of the format of the monitoring point table. The monitoring point table 9 stores the addresses of monitoring points set in the execution program (monitoring point addresses) and the types of entrances, exits, etc. FIG. 3B shows an example of a monitoring point table. This is the program name of (b) execution program 7 in Figure 2: main entrance address 000100
, exit address 000328, and program name: f
The entry address 00032C and exit address 0003C8 of unc are stored as shown in the figure.

【0018】図3の(ハ)は、動作管理テーブルの形式
例を示す。これは、図2の(ロ)実行プログラム7を実
行して監視点で中断したとき、入口のときに作成して呼
び出されたプログラム名を設定および他プログラム動作
管理テーブルとの呼び出し関係(このプログラムを呼び
出したプログラムのプログラム動作管理テーブル10へ
のリンク)を格納するものである。一方、出口のときは
削除する。
FIG. 3C shows an example of the format of the operation management table. (b) When execution program 7 in Figure 2 is executed and interrupted at a monitoring point, the name of the program created and called at the time of entry is set, and the calling relationship with other program operation management tables (this program The link to the program operation management table 10 of the program that called the program is stored. On the other hand, when exiting, it is deleted.

【0019】図3の(ニ)は、動作管理テーブル例を示
す。これは、実行プログラム7を実行して監視点で呼び
出されたプログラム名を図示のように、func、fu
nc・・・func、mainというように、動作管理
テーブル10を作成して連鎖の先頭に順次リンクした状
態を示す。この状態では、プログラム名funcが3回
、再帰的に呼び出されていることが判明するので、これ
を図3の(ホ)のfunc recursive ca
lled 3 times.というように再帰呼び出し
の回数でまとめて表示する。これにより、従来は、3行
に表示していたものが1行にまとまり、実行経路出力量
を削減すると共に見やすく表示することが可能となる。
FIG. 3(D) shows an example of an operation management table. This executes the execution program 7 and calls the program name at the monitoring point as shown in the figure, func, fu.
A state is shown in which the operation management table 10 is created and sequentially linked to the top of the chain, such as nc...func, main. In this state, it is found that the program name func has been called recursively three times, so this is called func recursive ca in (e) in Figure 3.
lled 3 times. It is summarized by the number of recursive calls. As a result, what was conventionally displayed in three lines is consolidated into one line, making it possible to reduce the amount of execution route output and to display the information in an easy-to-read manner.

【0020】次に、図4のフローチャートに示す順序に
従い、図3を参照して本発明の動作を詳細に説明する。 図4の(イ)は、実行プログラム動作時の処理を示す。 これは、利用者がコマンドGOを投入して実行プログラ
ムの再開を指示したことに対応して、行う処理である。
Next, the operation of the present invention will be explained in detail in accordance with the order shown in the flowchart of FIG. 4 and with reference to FIG. (A) in FIG. 4 shows processing when the execution program is running. This is a process performed in response to the user inputting the command GO to instruct the restart of the execution program.

【0021】図4の(イ)において、S1は、SVC 
 aaか否かを判別する。これは、利用者がコマンドG
Oを投入して実行プログラム7の実行を再開させ、順次
実行して予め設定した監視点であるSVC  aaが実
行され、実行監視部4に制御が渡ったか否かを判別する
。YESの場合には、S2以降に進む。NOの場合には
、SVC  aaでないので、他の処理を続行する。
In (a) of FIG. 4, S1 is SVC
It is determined whether or not it is aa. This means that the user can use the command G
O is input to restart the execution of the execution program 7, and it is determined whether or not the execution program 7 is sequentially executed and the preset monitoring point SVC aa is executed, and control is passed to the execution monitoring unit 4. If YES, the process advances to S2 and subsequent steps. If NO, it is not SVC aa, so other processing continues.

【0022】S2は、監視点か否かを判別する。YES
の場合には、更にその監視点テーブル(図3の(ロ)監
視点テーブル参照)を参照して監視点の種別が入口、あ
るいは出口のいずれであるかを判別する。監視点の種別
が入口の場合には、S3で動作管理テーブル10を作成
し、これに呼び出されたプログラム名を設定する(図3
の(ニ)の動作管理テーブル10参照)。また、監視点
の種別が出口の場合には、S4で該当する動作管理テー
ブル10をリンクから削除する。
[0022] In S2, it is determined whether the point is a monitoring point or not. YES
In this case, the monitoring point table (see (b) monitoring point table in FIG. 3) is further referred to to determine whether the type of monitoring point is an entrance or an exit. If the type of monitoring point is an entrance, an operation management table 10 is created in S3, and the name of the called program is set in it (Figure 3
(See operation management table 10 in (d)). Further, if the type of the monitoring point is an exit, the corresponding operation management table 10 is deleted from the link in S4.

【0023】以上の処理を繰り返すことにより、例えば
図2の(ロ)実行プログラム中のプログラム名:mai
nからプログラム名:funcを呼び出し、更にこの呼
び出されたプログラム名:funcで自身を再帰的に呼
び出すと、図3の(ニ)に示すように、呼び出されたプ
ログラム名が順次リンクされ、その呼び出し関係を記憶
する。
By repeating the above process, for example, the program name in the execution program (b) in FIG.
If you call program name: func from n and then recursively call itself with this called program name: func, the called program names will be linked in order, as shown in (d) in Figure 3. Remember relationships.

【0024】次に、図4の(ロ)は、実行経路出力指示
時の処理を示す。これは、中断した状態のもとで、利用
者がコマンドBACKTRを投入して実行経路出力指示
したことに対応して、行う処理である。図4の(ロ)に
おいて、S11は、動作管理テーブル10がリンクされ
ているか否かを判別する。ありの場合(呼び出されてい
るプログラムがありの場合)には、S12に進む。なし
の場合には、呼び出されているプログラムがないので、
処理を終了する。
Next, (b) of FIG. 4 shows the processing when an execution route output instruction is given. This is a process performed in response to the user inputting the command BACKTR to instruct output of the execution path under the interrupted state. In (b) of FIG. 4, S11 determines whether or not the operation management table 10 is linked. If yes (if there is a program being called), the process advances to S12. If none, there is no program being called, so
Finish the process.

【0025】S12は、再帰呼び出し回数=0と初期設
定する。S13は、現在の動作管理テーブル10のプロ
グラム名を調べる。例えば図3の(ニ)の中断している
現在の動作管理テーブル10のプログラム名として、連
鎖の先頭のfuncを調べる。S14は、呼び出し元の
動作管理テーブル10のプログラム名を調べる。
In S12, the number of recursive calls is initialized to 0. In step S13, the program name in the current operation management table 10 is checked. For example, as the program name of the interrupted current operation management table 10 in (d) of FIG. 3, the func at the head of the chain is checked. In S14, the program name in the calling source operation management table 10 is checked.

【0026】S15は、両者が等しいか否かを判別する
。これらS13、S14、S15は、例えば図3の(ニ
)動作管理テーブル例中の、S13で連鎖の先頭の動作
管理テーブル10のプログラム名funcと、S14で
これを呼び出した元(連鎖の先頭から2番目)の動作管
理テーブル10のプログラム名funcとが等しいか否
か、即ち再帰呼び出しか否かを判別する。YESの場合
には、再帰呼び出しであると判明したので、S16で再
帰呼び出し回数+1し、S17で対象を次の動作管理テ
ーブル10にし、S13以降を繰り返す。一方、NOの
場合には、再帰呼び出しでないと判明したので、S18
でこれら再帰呼び出しを実行経路出力し、S19に進む
[0026] In S15, it is determined whether the two are equal. These S13, S14, and S15 are, for example, the program name func of the operation management table 10 at the head of the chain in S13 in the operation management table example (d) in FIG. It is determined whether the program name func of the second) operation management table 10 is the same, that is, whether or not it is a recursive call. If YES, it is determined that it is a recursive call, so the number of recursive calls is incremented by 1 in S16, the target is set to the next operation management table 10 in S17, and S13 and subsequent steps are repeated. On the other hand, in the case of NO, it turns out that it is not a recursive call, so S18
These recursive calls are output as an execution path, and the process advances to S19.

【0027】S19は、再帰呼び出し回数=0か否かを
判別する。YESの場合には、S20で対象を次の動作
管理テーブル10にしてS21に進む。NOの場合には
、S21に進む。S21は、次がある場合には、S11
以降を繰り返し行い、次がない場合には終了する(EN
D)。
In S19, it is determined whether the number of recursive calls is 0 or not. If YES, the next operation management table 10 is set as the target in S20, and the process advances to S21. If NO, the process advances to S21. In S21, if there is the following, S11
Repeat the following steps, and if there is no next step, exit (EN
D).

【0028】以上の処理によって、中断時に、出力指示
のコマンドBACKTRの投入に対応して、図3の(ニ
)のように連鎖の先頭からリンクされている動作管理テ
ーブル10を順次辿り、再帰呼び出し回数を求めてこれ
をまとめて図3の(ホ)出力例に示すように、func
 recusive called 3times.と
いうように、従来の3行分を1行にまとめて表示するこ
とにより、実行経路出力量を削減し、画面に表示した際
に次画面に表示されて見逃すことがなくなる。
Through the above processing, in response to the input of the output instruction command BACKTR at the time of interruption, the operation management tables 10 linked from the top of the chain are sequentially traced as shown in (d) of FIG. 3, and recursive calls are made. After calculating the number of times and summarizing them, as shown in the output example (e) in Figure 3,
recusive called 3 times. By displaying the conventional three lines in one line, the amount of execution path output can be reduced, and when displayed on the screen, it will not be missed because it is displayed on the next screen.

【0029】[0029]

【発明の効果】以上説明したように、本発明によれば、
実行プログラム7の実行時のプログラムの呼び出し関係
を動作管理テーブル10に設定してリンクしておき、実
行経路出力指示に対応して、これらリンクされた動作管
理テーブル10を参照して再帰呼び出し回数を求めてこ
れを表示する構成を採用しているため、実行経路出力指
示時の出力量を削減することができると共に、プログラ
ム動作規約に無関係にデバッガが呼び出し関係のあるプ
ログラム名を動作管理テーブル10に格納しておきこれ
をもとに実行経路出力し、プログラムの動作規約に関係
することなく、確実に実行経路出力を行うことができる
[Effects of the Invention] As explained above, according to the present invention,
Program calling relationships during execution of the execution program 7 are set and linked in the operation management table 10, and the number of recursive calls is calculated by referring to these linked operation management tables 10 in response to an execution path output instruction. Since this configuration is adopted, it is possible to reduce the amount of output when the execution path output is instructed, and the debugger can display the names of related programs called in the operation management table 10 regardless of the program operation rules. By storing the information and outputting the execution path based on this information, the execution path can be reliably output regardless of the operating rules of the program.

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

【図1】本発明の原理構成図である。FIG. 1 is a diagram showing the principle configuration of the present invention.

【図2】原始プログラム/実行プログラム例である。FIG. 2 is an example of a source program/execution program.

【図3】本発明の具体例説明図である。FIG. 3 is a diagram illustrating a specific example of the present invention.

【図4】本発明の動作説明フローチャートである。FIG. 4 is a flowchart explaining the operation of the present invention.

【図5】従来技術の説明図である。FIG. 5 is an explanatory diagram of the prior art.

【符号の説明】[Explanation of symbols]

1:入力部 2:処理部 3:監視点設定部 4:実行監視部 5:出力制御部 6:メモリ 7:実行プログラム 8:デバッグ情報域 9:監視点テーブル 10:動作管理テーブル 11:実行経路出力装置 1: Input section 2: Processing section 3: Monitoring point setting section 4: Execution monitoring unit 5: Output control section 6: Memory 7: Execution program 8: Debug information area 9: Monitoring point table 10: Operation management table 11: Execution path output device

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】  再帰呼び出し時に実行経路を出力する
実行経路出力方法において、実行プログラム中の監視指
示されたプログラム(手続き)の入口および出口の種別
およびそのアドレスを格納する監視点テーブル(9)と
、監視点の入り口で呼び出されたプログラム名を設定し
てリンクする動作管理テーブル(10)とを備え、利用
者からの実行指示に対応して、中断がプログラムの入口
であった場合に上記動作管理テーブル(10)を作成し
て呼び出されたプログラム名を設定してリンクし、手続
きの出口であった場合に該当する動作管理テーブル(1
0)を削除することを繰り返し行い、利用者からの実行
経路出力指示に対応して、リンクされている上記動作管
理テーブル(10)を検索し、プログラムが自身のプロ
グラムを呼び出している再帰呼び出しについてその回数
を求めてまとめて出力し、これ以外のプログラムは呼び
出し関係を個々に出力するように構成したことを特徴と
する再帰呼び出し時の実行経路出力方法。
1. An execution path output method for outputting an execution path at the time of recursive call, comprising: a monitoring point table (9) storing the types and addresses of the entry and exit of a program (procedure) instructed to be monitored in an execution program; , an operation management table (10) that sets and links the name of the program called at the entrance of the monitoring point, and in response to an execution instruction from the user, performs the above operation when the interruption occurs at the entrance of the program. Create a management table (10), set the called program name, link it, and create the operation management table (10) that corresponds to the exit of the procedure.
0) is repeated, and in response to an execution path output instruction from the user, the linked operation management table (10) is searched to find the recursive call where the program is calling its own program. A method for outputting an execution path during recursive calls, characterized in that the number of times of recursive calls is calculated and outputted all at once, and other programs are configured to output call relationships individually.
JP3022562A 1991-02-18 1991-02-18 Program execution path output device Expired - Fee Related JP2777938B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3022562A JP2777938B2 (en) 1991-02-18 1991-02-18 Program execution path output device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3022562A JP2777938B2 (en) 1991-02-18 1991-02-18 Program execution path output device

Publications (2)

Publication Number Publication Date
JPH04263336A true JPH04263336A (en) 1992-09-18
JP2777938B2 JP2777938B2 (en) 1998-07-23

Family

ID=12086311

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3022562A Expired - Fee Related JP2777938B2 (en) 1991-02-18 1991-02-18 Program execution path output device

Country Status (1)

Country Link
JP (1) JP2777938B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6368939A (en) * 1986-09-11 1988-03-28 Fujitsu Ltd Analytic processing system for program transition
JPH0362136A (en) * 1989-07-28 1991-03-18 Nec Corp Measuring system for number of times of subroutine access
JPH03273346A (en) * 1990-03-22 1991-12-04 Nec Corp Dynamic call relation analyzing system by symbolic debugger

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6368939A (en) * 1986-09-11 1988-03-28 Fujitsu Ltd Analytic processing system for program transition
JPH0362136A (en) * 1989-07-28 1991-03-18 Nec Corp Measuring system for number of times of subroutine access
JPH03273346A (en) * 1990-03-22 1991-12-04 Nec Corp Dynamic call relation analyzing system by symbolic debugger

Also Published As

Publication number Publication date
JP2777938B2 (en) 1998-07-23

Similar Documents

Publication Publication Date Title
US7080360B2 (en) Breakpoint safety net
JPH05341819A (en) Method and device for debugging of sfc program
JPH04263336A (en) Executing route output method for recurrent call
JPH0554277A (en) Plant monitor device
JPH0581069A (en) Debugging method for program
JPH045703A (en) Sequence program generating device
JP2642788B2 (en) Execution monitoring point reduction method
JP2579996B2 (en) Core state prediction device
CN117520155A (en) RPA flow debugging method and device, electronic equipment and storage medium
JPH03130840A (en) Trace control system for overlay module
JP3139393B2 (en) Debug device
JPH0667864A (en) Method for automatically preparing/updating manual or the like
JPH096644A (en) Software debugging method
JPS63106047A (en) Dynamic subroutine call system
JPH0283634A (en) Program debugging system
JPS63163543A (en) Information processor
JPH08328893A (en) Command processing and method therefor
JPH07319730A (en) Test debugging method
JPS63298531A (en) Partial deleting system for object program
JPH0561716A (en) Program debugging system
JPH0269837A (en) Program debug support device
JPH0695916A (en) Interruption point setting system
JPS63640A (en) Execution control system for partial unit of data flow
JPH01136271A (en) Text display system
JPH0267628A (en) Command start system

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980331

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080508

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090508

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees