JP2695497B2 - Suspension notification device for statements that share instructions - Google Patents

Suspension notification device for statements that share instructions

Info

Publication number
JP2695497B2
JP2695497B2 JP1327567A JP32756789A JP2695497B2 JP 2695497 B2 JP2695497 B2 JP 2695497B2 JP 1327567 A JP1327567 A JP 1327567A JP 32756789 A JP32756789 A JP 32756789A JP 2695497 B2 JP2695497 B2 JP 2695497B2
Authority
JP
Japan
Prior art keywords
instruction
sentence
shared
passage
statement
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.)
Expired - Fee Related
Application number
JP1327567A
Other languages
Japanese (ja)
Other versions
JPH03188537A (en
Inventor
美奈 藤田
敏弘 福井
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 JP1327567A priority Critical patent/JP2695497B2/en
Publication of JPH03188537A publication Critical patent/JPH03188537A/en
Application granted granted Critical
Publication of JP2695497B2 publication Critical patent/JP2695497B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔概要〕 実行プログラム上で命令が共用される文の中断通知装
置に関し、 命令が共用されているか否か、いずれの実行文を通過
したか否か、共用する実行文に中断点を設定したか否か
をもとに指定された位置でのみ中断させて文番号などを
表示し、命令を共用する複数の文が存在する実行プログ
ラムでデバッグ作業を効率的に進めることを目的とし、 原始プログラムの文番号に対応づけて実行プログラム
上の共用番号、被共用フラグ、文アドレスと翻訳時に収
集して格納する文情報テーブルと、文アドレスに対応づ
けて通過判定指示、通過記録指示、および中断指示を格
納する中断点管理テーブルと、共用番号に対応づけて通
過の有無を格納する通過記憶テーブルとを備え、利用者
からの中断点設定指示に対応して、設定された中断点の
文アドレス、通過判定指示、通過記憶指示、中断指示を
上記中断点管理テーブルに設定、更に中断点設定指示が
共用される命令の文のときに上記文情報テーブルを参照
して同一の共用番号を持つ共用する命令の文の文アドレ
ス、通過判定指示、通過記憶指示、中断指示を設定し、
デバッグ実行指示に対応して、上記中断点管理テーブ
ル、通過記憶テーブル、および上記文情報テーブルをも
とに中断点の設定された位置でのみ中断すると共に中断
点の原始プログラム上の文番号を表示するように構成す
る。
The present invention relates to a statement interruption notification device in which an instruction is shared in an execution program, and whether or not the instruction is shared, which executable statement has been passed, and the shared executable statement. Efficiently perform debugging work with an execution program that has multiple statements that share instructions by suspending only at the specified position based on whether or not an interrupt point is set and displaying the statement number, etc. The sentence information table that collects and stores the shared number, shared flag, and sentence address in the execution program in association with the sentence number of the source program and the passage determination instruction and passage in association with the sentence address A recording instruction and an interruption point management table for storing the interruption instruction, and a passage storage table for storing the presence / absence of passage in association with the shared number are provided, and in response to the interruption point setting instruction from the user, The statement address of the set break point, the passage determination instruction, the passage storage instruction, and the interruption instruction are set in the above-mentioned breakpoint management table, and the sentence information table is referred to when the statement of the instruction to which the breakpoint setting instruction is shared. Set the statement address of the shared statement having the same shared number, the passage determination instruction, the passage memory instruction, and the interruption instruction,
Corresponding to the debug execution instruction, it suspends only at the position where the breakpoint is set based on the breakpoint management table, passage memory table, and statement information table, and the statement number of the source program at the breakpoint is displayed. To configure.

〔産業上の利用分野〕[Industrial applications]

本発明は、実行プログラム上で命令が共用される文の
中断通知装置に関するものである。
The present invention relates to a statement interruption notification device in which an instruction is shared on an execution program.

〔従来の技術と発明が解決しようとする課題〕[Problems to be solved by conventional technology and invention]

従来の言語デバッガでは、複数の実行文が1つの命令
を共用する実行プログラム(ロードモジュール)につい
てデバッグする際に、利用者が命令が共用される実行文
に中断点を設定した場合、命令を共用する実行文から分
岐したとき、共用する命令の位置で中断してしまう。こ
れは、利用者から見れば、中断点を設定した実行文を実
行していないのに、あたかも実行したかのように見えて
しまい、プログラムの動きが不明でデバッグし得ない事
態が発生するという問題があった。
In a conventional language debugger, when debugging an execution program (load module) in which a plurality of executable statements share one instruction, if the user sets a break point in the executable statement to which the instruction is shared, the instruction is shared. When branching from an executable statement that executes, it interrupts at the position of the shared instruction. This means that from the user's point of view, the executable statement with the breakpoint set is not executed, but it looks as if it had been executed, causing a situation in which the behavior of the program is unknown and cannot be debugged. There was a problem.

本発明は、命令が共用されているか否か、いずれの実
行文を通過したか否か、共用する実行文に中断点を設定
したか否かをもとに指定された位置でのみ中断させて文
番号などを表示し、命令を共用する複数の文が存在する
実行プログラムでデバッグ作業を効率的に進めることを
目的としている。
The present invention interrupts only at a specified position based on whether an instruction is shared, which executable statement has passed, and whether an interrupt point is set in the shared executable statement. The purpose is to display the statement number and so on, and to efficiently proceed with the debugging work in an execution program that has multiple statements that share instructions.

〔課題を解決する手段〕[Means to solve the problem]

第1図は、本発明の原理構成図を示す。 FIG. 1 shows a principle configuration diagram of the present invention.

第1図において、文情報テーブル6は、翻訳時に生成
し、原始プログラムの文番号に対応づけて実行プログラ
ム上の共用番号、被共用フラグ、文アドレスを格納する
テーブルである。
In FIG. 1, the sentence information table 6 is a table that is generated at the time of translation and stores the shared number, shared flag, and sentence address in the execution program in association with the sentence number of the source program.

中断点管理テーブル7は、文アドレスに対応づけて通
過判定指示、通過記録指示、および中断指示を格納する
テーブルである。
The interruption point management table 7 is a table that stores a passage determination instruction, a passage recording instruction, and an interruption instruction in association with a sentence address.

通過記憶テーブル8は、共用番号に対応づけて通過の
有無を格納するテーブルである。
The passage storage table 8 is a table that stores the presence or absence of passage in association with a shared number.

中断点設定部2−1は、中断点の設定処理を行うもの
である。
The break point setting section 2-1 performs a break point setting process.

実行監視部2−2は、文情報テーブル6、中断点管理
テーブル7、および通過記憶テーブル8をもとに中断点
の設定された位置でのみ中断すると共に中断点の原始プ
ログラム上の文番号を表示などの実行を監視するもので
ある。
Based on the statement information table 6, the breakpoint management table 7, and the passage storage table 8, the execution monitoring unit 2-2 suspends only at the position where the breakpoint is set and determines the statement number of the breakpoint on the source program. It monitors the execution of displays.

〔作用〕[Action]

本発明は、第1図に示すように利用者からの中断点設
定指示に対応して、中断点設定部2−1が設定された中
断点の文アドレスに対応づけて通過判定指示、通過記憶
指示、中断指示、更に中断点設定指示が共用される命令
の文のときに文情報テーブル6を参照して同一の共用番
号を持つ文の文アドレスに対応づけて通過判定指示、通
過記憶指示、中断指示を中断管理テーブル7に設定し、
デバッグ実行指示に対応して、実行監視部2−2が中断
点管理テーブル7、通過記憶テーブル8、および文情報
テーブル6をもとに中断点の設定された位置でのみ中断
すると共に中断点の原始プログラム上の文番号を表示す
るようにしている。
According to the present invention, as shown in FIG. 1, in response to a break point setting instruction from a user, a break point setting unit 2-1 associates a sentence address of a set break point with a passage determination instruction and a pass memory. When the instruction, the interruption instruction, and the statement of the instruction to which the interruption point setting instruction is shared are referred to, the statement information table 6 is referred to, and the passage determination instruction and the passage storage instruction are associated with the statement addresses of the statements having the same shared number. Set the interruption instruction in the interruption management table 7,
In response to the debug execution instruction, the execution monitoring unit 2-2 interrupts only at the position where the break point is set based on the break point management table 7, the passage storage table 8, and the statement information table 6, and The sentence number on the source program is displayed.

従って、命令が共用されているか否か、いずれの実行
文を通過したか否か、共用する実行文に中断点を設定し
たか否かをもとに指定された位置でのみ中断させて文番
号を表示することにより、命令を共用する複数の実行文
が存在する表示プログラムで利用者が指定した位置での
み中断させて文番号を表示し、デバッグ作業を効率的に
進めることが可能となる。
Therefore, the statement number is interrupted only at the specified position based on whether the instruction is shared, which executable statement has passed, and whether an interrupt point has been set for the shared executable statement. By displaying, the display program in which there are a plurality of executable statements sharing the instruction is interrupted only at the position designated by the user, the statement number is displayed, and the debugging work can be efficiently performed.

〔実施例〕〔Example〕

次に、第1図から第9図を用いて本発明の1実施例の
構成および動作を順次詳細に説明する。
Next, the configuration and operation of one embodiment of the present invention will be sequentially described in detail with reference to FIGS. 1 to 9.

第1図において、入力部1は、中断指示(AT2100など
のコマンドを投入して中断指示)、実行指示(GOなどの
コマンドを投入してデバッグ実行指示)などの入力を行
うものである。
In FIG. 1, the input unit 1 is for inputting an interruption instruction (throw a command such as AT2100 to give an interruption instruction) and an execution instruction (put a command such as GO to give a debug execution instruction).

処理部2は、利用者からの中断点の設定指示に対応し
て中断点設定処理(第8図参照)を行う中断点設定部2
−1、および利用者からのデバッグ実行指示に対応して
文情報テーブル6、中断点管理テーブル7、通過記憶テ
ーブル8をもとに中断点の設定された位置で中断すると
共に中断点の原始プログラム上の文番号を表示などの処
理(第9図参照)を行う実行監視部2−2などから構成
されるものである。
The processing unit 2 performs the breakpoint setting process (see FIG. 8) in response to the instruction to set the breakpoint from the user.
-1, and in response to a debug execution instruction from the user, the program is interrupted at the position where the breakpoint is set based on the sentence information table 6, the breakpoint management table 7, and the passage memory table 8 and the source program of the breakpoint It is composed of an execution monitoring unit 2-2 and the like which performs processing such as displaying the above sentence number (see FIG. 9).

実行プログラム4は、メモリ3上にロードされた実行
可能なプログラム(ロードモジュールレベルのプログラ
ム)である(第4図参照)。
The execution program 4 is an executable program (load module level program) loaded on the memory 3 (see FIG. 4).

デバッグ情報域5は、デバッグ情報を格納する領域で
あって、ここでは翻訳時に生成した文情報を格納する文
情報テーブル6を設ける領域である。この文情報テーブ
ル6には、原始プログラムの文番号に対応づけて共用番
号、被共用フラグ、実行プログラム4上の文アドレスを
格納する。
The debug information area 5 is an area for storing debug information, and is an area for providing a sentence information table 6 for storing sentence information generated at the time of translation here. In the statement information table 6, the shared number, the shared flag, and the statement address on the execution program 4 are stored in association with the statement number of the source program.

中断点管理テーブル7は、実行プログラム4の文アド
レスに対応づけて通過判定指示、通過記録指示、および
中断指示を格納するテーブルである。
The interruption point management table 7 is a table that stores a passage determination instruction, a passage recording instruction, and an interruption instruction in association with the sentence address of the execution program 4.

通過記憶テーブル8は、文情報テーブル6に格納され
ている共用番号に対応づけて通過の有無を格納するテー
ブルである。
The passage storage table 8 is a table that stores the presence or absence of passage in association with the shared number stored in the sentence information table 6.

第2図は、文情報テーブル例を示す。これは、第2図
原始プログラム例を翻訳して第4図実行プログラム例を
生成したときに収集した情報であって、図示のように原
始プログラムの文番号、共用番号、被共用フラグ、およ
び実行プログラムの文アドレスを対応づけて保存したも
のである。
FIG. 2 shows an example of a sentence information table. This is the information collected when the example of FIG. 2 source program is translated and the example of FIG. 4 execution program is generated. As shown in the figure, the statement number, shared number, shared flag, and execution of the source program are executed. It is the one that the sentence address of the program is associated and saved.

第3図は、原始プログラム例を示す。この原始プログ
ラム10は、呼び出し元のプログラム9からCALL文によっ
て呼び出され、図中のRETURN、ENDによって呼び出し元
のプログラム9に復帰するものである。この復帰の際に
命令を共用して処理(復帰処理)を行うようにしている
(第4図実行プログラム例のアドレス0002CE〜0002DEの
命令を共用するようにしている)。
FIG. 3 shows an example of a source program. This source program 10 is called from the calling program 9 by a CALL statement and returns to the calling program 9 by RETURN and END in the figure. At the time of this return, the instruction is shared and the processing (return processing) is performed (the instruction at the addresses 0002CE to 0002DE in the execution program example of FIG. 4 is shared).

第4図は、第3図原始プログラム例を翻訳した実行プ
ログラム例を示す。ここで、欄外の右端に示す文番号
は、第3図原始プログラムの文番号を示す。欄の中の文
アドレスは実行プログラムの文アドレスを表し、機械命
令はプロセッサが即実行可能な機械命令を模式的に表し
たものである。
FIG. 4 shows an example of an execution program obtained by translating the original program example of FIG. Here, the sentence numbers shown at the right end of the margin indicate the sentence numbers of the original program shown in FIG. The statement address in the column represents the statement address of the execution program, and the machine instruction schematically represents the machine instruction that can be immediately executed by the processor.

第5図は、本発明に係る中断点管理テーブル例を示
す。これは、第2図原始プログラム例を文番号“2100"
のプログラム記述“END"にSVC命令を埋め込んで中断点
を設定したときの文アドレス、通過判定指示の有無(1:
有、0:無)、通過記録指示の有無(1:有、0:無)、中断
指示の有無(AT:有、−:無)を第8図フローチャート
に示す手順によって設定したものである。
FIG. 5 shows an example of a break point management table according to the present invention. This is the sentence number "2100" in Figure 2 Primitive program example.
The statement address when the SVC instruction is embedded in the program description of "END" and the setting of the break point, the presence / absence of the passage determination instruction (1:
Yes, 0: No), presence / absence of passage recording instruction (1: Yes, 0: No), presence / absence of interruption instruction (AT: Yes, −: No) are set by the procedure shown in the flowchart of FIG.

第6図は、本発明に係る通過記録テーブル例を示す。
これは、第2図文情報テーブル例中の共用番号に対応づ
けて通過の有無(1:有、0:無)を登録するものであっ
て、デバッグ実行時に第9図フローチャートに示す手順
によって設定するものである。
FIG. 6 shows an example of a passage record table according to the present invention.
This is to register the presence / absence of passage (1: Yes, 0: No) in association with the shared number in the example of the FIG. 2 sentence information table, and set by the procedure shown in the flowchart of FIG. 9 during debug execution. To do.

第7図は、中断指示命令例を示す。ここで、 AT 2100 のうちの、コマンドATは中断指示コマンド、パラメタ21
00は原始プログラムで中断点を設定する文番号である。
FIG. 7 shows an example of a suspend instruction command. Here, of the AT 2100, the command AT is a suspend instruction command, parameter 21
00 is the statement number that sets the break point in the source program.

次に、第8図のフローチャートに示す順序に従い、第
2図ないし第5図、第7図を用いて第1図構成の中断点
の設定の動作を詳細に説明する。
Next, the operation of setting the break point in the configuration of FIG. 1 will be described in detail with reference to FIGS. 2 to 5 and 7 according to the order shown in the flowchart of FIG.

第8図において、は、通知されたAT2100を解析す
る。これは、第1図入力部1から中断指示として例えば
AT2100(原始プログラムの文番号2100の位置で中断され
る指示、第7図参照)の通知を受けた処理部2が、この
コマンドの解析を行う。
In FIG. 8, the notified AT2100 is analyzed. This is, for example, as an interruption instruction from the input unit 1 in FIG.
The processing unit 2 which receives the notification of the AT2100 (instruction to be interrupted at the position of the sentence number 2100 of the source program, see FIG. 7) analyzes this command.

は、中断指示コマンドか否かを判別する。YESの場
合には、以降の処理を第1図中断点設定部2−1が行
う。NOの場合には処理を続行する。
Determines whether the command is a suspend instruction command. In the case of YES, the interruption point setting unit 2-1 in FIG. 1 performs the subsequent processing. If NO, continue processing.

は、文番号を取り出し、文アドレスに変換する。こ
こでは、通知された中断指示コマンドAT2100から文番号
2100を取り出し、第2図文情報テーブルを参照して文ア
ドレス0002CEに変換する。
Retrieves the sentence number and converts it into a sentence address. Here, the sentence number from the notified interruption instruction command AT2100
2100 is taken out and converted to the sentence address 0002CE by referring to the second figure information table.

は、同じ文アドレスが中断点管理テーブルにあるか
否かを判別する。ありの場合には、を行う。なしの場
合(例えば最初のなしの場合)には、で第5図中断点
管理テーブルに文アドレス0002CEを追加し、で文アド
レスの命令を命令保存テーブルにセーブ(第4図文番号
2100に対応する文アドレス0002CEの命令を図示のように
セーブ)してこの位置に中断点を設定(SVC命令で置き
換え)した後、を行う。
Determines whether the same sentence address exists in the breakpoint management table. If yes, do. When there is no statement (for example, when there is no first statement), the statement address 0002CE is added to the break point management table in Fig. 5 and the instruction of the statement address is saved in the instruction save table in (Figure 4 sentence number).
After saving the instruction of the statement address 0002CE corresponding to 2100 as shown in the figure) and setting an interruption point at this position (replacement with the SVC instruction), execute.

は、中断点管理テーブルの中断指示をATにする。こ
れは、第5図中断点管理テーブルにで設定した例えば
文アドレス0002CEに対応づけて中断指示にATを設定す
る。
Sets AT as the interruption instruction in the interruption point management table. This sets AT in the interruption instruction in association with, for example, the sentence address 0002CE set in the interruption point management table in FIG.

は、被共用フラグを判定する。ここでは、第2図文
情報テーブル例の文番号2100(文アドレス0002CE)の被
共用フラグが“1"の(他の実行文から共用されている旨
を表す)であることが判明するので、ないしを実行
する。一方、被共用フラグが“0"(他の実行文から共用
されていない旨を表す)の場合は、他の実行文から共用
されていないので、終了する(END)。
Determines the shared flag. Here, it is found that the shared flag of the statement number 2100 (statement address 0002CE) in the second figure information table example is "1" (indicating that it is shared by other executable statements). To execute On the other hand, if the shared flag is "0" (indicating that it is not shared by other executable statements), it is not shared by other executable statements, and the process ends (END).

は、中断点管理テーブルの該当する通過判定指示を
“1"にする。
Sets the corresponding passage determination instruction in the breakpoint management table to "1".

は、中断点管理テーブルの該当する通過記憶指示を
“0"にする は、同じ共用番号を持つ文アドレスを1つ取り出
す。これは、で第2図文情報テーブル例の文アドレス
0002CEの被共用フラグが“1"のときに、これの共用番号
“2"と同じ共用番号を持つ文アドレス(文アドレス0002
CEの命令を共用している実行文の文アドレス)として、
例えば文アドレス000292を取り出す。
Sets the corresponding passage storage instruction in the breakpoint management table to "0". One statement address with the same shared number is fetched. This is the sentence address of the example in Figure 2 sentence information table.
0002 When the shared flag of CE is "1", the statement address with the same shared number as its shared number "2" (statement address 0002
As the statement address of the executable statement that shares the CE instruction),
For example, the sentence address 000292 is taken out.

は、同じ文アドレスが中断点管理テーブルにあるか
否かを判別する。ありの場合にはを行う。なしの場合
には、で第5図中断点管理テーブルに文アドレス(例
えば文アドレス000292)を追加し、で文アドレスの命
令を図示のように命令保存テーブルにセーブし、中断点
を設定(SVC命令で置き換える)した後、を行う。
Determines whether the same sentence address exists in the breakpoint management table. If yes, do. If none, add a statement address (for example, statement address 000292) to the break point management table in Fig. 5, save the command of the statement address in the command save table as shown in, and set the break point (SVC Replace with instructions) and then do.

は、中断点管理テーブルの該当する通過判定指示を
0にする。
Sets the corresponding passage determination instruction in the interruption point management table to 0.

は、中断点管理テーブルの該当する通過記憶指示を
1にする。
Sets the corresponding passage storage instruction in the breakpoint management table to 1.

は、終わりか否かを判別する。YESの場合には、終
了する。NOの場合には、以降を繰り返し行う。
Determines whether it is the end or not. If YES, terminate. If NO, repeat the above steps.

以上の処理によって、中断指示コマンドAT2100に対応
して、第3図、第4図プログラムに対して第5図中断点
管理テーブル例が生成される。
Through the above processing, the interruption point management table example of FIG. 5 is generated for the programs of FIGS. 3 and 4 in response to the interruption instruction command AT2100.

次に、第9図フローチャートに示す順序に従い、第2
図ないし第6図を用いて第1図構成のデバッグ時の動作
を詳細に説明する。
Next, in the order shown in the flowchart of FIG.
The operation during debugging of the configuration shown in FIG. 1 will be described in detail with reference to FIGS.

第9図において、は、通知されたGOによって第4図
実行プログラム例を実行開始し、SVCaaか否かを判別す
る。YESの場合(第8図あるいはで設定されたSVCaa
(サービスコール命令)を実行してデバッガに制御権が
渡った場合)には、当該デバッガがないしを順次実
行する。NOの場合には、処理を続行する。
In FIG. 9, the execution of the example of the execution program of FIG. 4 is started by the notified GO, and it is determined whether or not it is SVCaa. If YES (SVCaa set in Figure 8 or
(When the control right is passed to the debugger by executing the (service call instruction)), the debugger executes sequentially. If NO, continue the processing.

は、PSWから中断アドレスを取り出す。これは、SVC
aaによってデバッガに制御権が渡って中断した中断点の
文アドレスをPSWから例えば文アドレス0002CEとして取
り出す。
Retrieves the suspend address from the PSW. This is the SVC
The statement address at the point of interruption where control is passed to the debugger by aa is fetched from PSW as, for example, statement address 0002CE.

は、中断点管理テーブルの該当アドレスから通過判
定指示を取り出す。
Extracts the passage determination instruction from the corresponding address in the breakpoint management table.

はで取り出した通過判定指示が1の場合、で文
情報テーブルの該当文アドレスから共用番号を取り出
し、通過記憶テーブルの該当共用番号から通過の有無を
取り出し(例えば第5図中断点管理テーブル例の文アド
レス0002CEの通過判定指示“1"の場合に第2図文情報テ
ーブル例の当該文アドレス0002CEの共用番号“2"を取り
出し、第6図通過記憶テーブル例の当該共用番号“2"の
通過の有無を取り出し)、を行う。
When the passage determination instruction fetched with is 1, the shared number is fetched from the corresponding sentence address of the sentence information table, and the presence / absence of passage is fetched from the corresponding shared number of the passage storage table (for example, in the example of the breakpoint management table in FIG. 5). In the case of the passage determination instruction "1" of the sentence address 0002CE, the shared number "2" of the sentence address 0002CE of the second figure information table is taken out, and the shared number "2" of the passage memory table example of FIG. 6 is passed. Take out the presence or absence of).

は、通過の有無が0(無)のときはを行い、1
(有り)のときはで通気記憶テーブルの該当共用番号
の通過の有無を0にし、を行う。
When the presence or absence of passage is 0 (none),
If (Yes), the presence / absence of the corresponding shared number in the ventilation storage table is set to 0, and the operation is performed.

は、中断点管理テーブルの該当アドレスから中断指
示を取り出す。
Extracts the interruption instruction from the corresponding address in the interruption point management table.

は、中断指示のあり、なしを判別する。あり(AT)
の場合(例えば第5図中断点管理テーブル例の中断指示
の欄にATが設定されていた場合)には、を行う。なし
の場合には、を行う。
Determines whether or not there is an interruption instruction. Yes (AT)
In the case of (for example, when AT is set in the interruption instruction column of the example of the interruption point management table in FIG. 5), the procedure is performed. If none, do.

は、文情報テーブルの該当文アドレスから文番号を
取り出し、文番号を表示する。これは、右側に示すよう
に、第2図文情報テーブル例を参照し、中断点の例えば
文アドレス000292の文番号1400を取り出し、画面上に表
示して利用者に知らせる。これにより、ユーザは、実行
プログラム上で中断した位置(文アドレス)に対応する
原始プログラム上の文番号を容易に知ることができる。
Extracts the sentence number from the corresponding sentence address in the sentence information table and displays the sentence number. As shown on the right side, the second figure information table example is referred to, the sentence number 1400 at the break point, for example, the sentence address 000292 is taken out and displayed on the screen to notify the user. As a result, the user can easily know the sentence number in the source program corresponding to the position (statement address) at which the execution program was interrupted.

は、ユーザからの入力待ちする。 Waits for input from the user.

は、GOの入力がありか否かを判別する。YESの場合
(ユーザが画面からGOを入力した場合)には、を行
う。
Determines whether or not GO has been input. If YES (when the user inputs GO from the screen), do.

は、中断点管理テーブルの該当アドレスから通過記
録指示を取り出す。
Retrieves the passage record instruction from the corresponding address in the breakpoint management table.

は、通過記録指示が1あるいは0のいずれかを判別
する。1の場合には、で文情報テーブルの該当文アド
レスから共用番号を取り出し、通気記憶テーブルの該当
共用番号の通過の有無を1にし、を行う。0の場合に
は、を行う。
Determines whether the passage record instruction is 1 or 0. In the case of 1, the shared number is taken out from the relevant sentence address in the sentence information table, and the presence / absence of passage of the relevant shared number in the ventilation storage table is set to 1. If it is 0, perform.

は、命令保存テーブルの該当文アドレスの元の命令
を実行する。
Executes the original instruction at the relevant sentence address in the instruction storage table.

は、次の命令に制御を渡す。 Passes control to the next instruction.

次に、第8図、第9図フローチャートにおける第3図
原始プログラム例のデバッグ時の中断点の設定、中断、
文番号の表示などの動作の具体例をあげて説明する。
Next, in the flowcharts of FIGS. 8 and 9, the interruption point is set and interrupted at the time of debugging the original program example of FIG.
A specific example of an operation such as displaying a sentence number will be described.

〔例1〕 利用者がAT1400で、1400行(命令を共用する文)に中
断点を設定し、プログラムの実行時に1400行のRETURN文
で呼び出し元に復帰する場合: 第8図フローチャートの処理により、1400行に中断点
が設定され、下図の中断点管理テーブル6が作成され
る。
[Example 1] When the user uses AT1400 to set a break point at line 1400 (statement sharing instructions) and returns to the caller with the RETURN statement at line 1400 when the program is executed: , 1400 lines, break points are set, and a break point management table 6 shown in the figure below is created.

第9図フローチャートを用いて実行時の処理の流れを
示す。
The flow of processing at the time of execution is shown using the flowchart of FIG.

YES→→→0→→あり(AT)→(BREAK
ING AT 1400のメッセージ出力)→→YES→→0
→ 従って、中断点を設定した1400行(命令を共用する
文)でのみ実行が中断され、その中断点の文番号1400行
が表示される。
YES → → → 0 → → Yes (AT) → (BREAK
ING AT 1400 message output) →→ YES →→ 0
→ Therefore, execution is interrupted only at 1400 lines (statements that share instructions) where the breakpoint is set, and the statement number 1400 at that breakpoint is displayed.

〔例2〕 利用者がAT1400で、1400行(命令を共用する文)に中
断点を設定し、プログラムの実行時に2100行のEND文で
呼び出し元に復帰する場合: 第8図フローチャートの処理により、1400行に中断点
が設定され、下図の中断点管理テーブル6が作成され
る。
[Example 2] When the user sets a break point at line 1400 (statement sharing instructions) and returns to the caller with the END statement at line 2100 when the program is executed on the AT1400: , 1400 lines, break points are set, and a break point management table 6 shown in the figure below is created.

第9図フローチャートを用いて実行時の処理の流れを
示す。
The flow of processing at the time of execution is shown using the flowchart of FIG.

この場合には、中断点が設定された1400行の文が実行
されず、2100行の文が実行され、SVCaaを実行しなく、
NOとなり、プログラムの実行は中断されない。
In this case, the statement at line 1400 with the breakpoint set is not executed, the statement at line 2100 is executed, and SVCaa is not executed,
No, the program execution is not interrupted.

〔例3〕 利用者がAT2100で、2100行(命令を共用される文)に
中断点を設定し、プログラムの実行時に1400行のRETURN
文で呼び出し元に復帰する場合: 第8図フローチャートの処理により、2100行に中断点
が設定されると共に命令を共用する全ての文にも中断点
が設定され、下図の中断点管理テーブル6が作成され
る。
[Example 3] With AT2100, the user sets a break point on line 2100 (statement that shares a command) and returns 1400 lines when the program is executed.
When returning to the caller by a statement: By the processing of the flowchart in FIG. 8, a breakpoint is set in line 2100 and breakpoints are set in all statements that share instructions. Created.

第9図フローチャートを用いて実行時の処理の流れを
示す。
The flow of processing at the time of execution is shown using the flowchart of FIG.

YES→→→0→→なし(実行が中断する
のを回避する)→→1→→→→→YES→
→→1→→1(実行が中断するのを回避する)
→→ 従って、2100行に中断点が設定されていても、プログ
ラムは1400行の文で呼び出し元に復帰するため、2100行
で実行が中断しないようにしている。
YES →→→ 0 →→ None (Avoid execution interruption) →→ 1 →→→→→ YES →
→→ 1 →→ 1 (Avoid execution interruption)
→ → Therefore, even if a break point is set at line 2100, the program returns to the caller at the statement at line 1400, so execution is not interrupted at line 2100.

〔例4〕 利用者がAT2100で、2100行(命令を共用される文)に
中断点を設定し、プログラムの実行時に2100行のEND文
で呼び出し元に復帰する場合: 第8図フローチャートの処理により、2100行に中断点
が設定されると共に命令を共用する全ての文にも中断点
が設定され、下図の中断点管理テーブル6が作成され
る。
[Example 4] When the user sets a break point on line 2100 (statement that shares instructions) with AT2100 and returns to the caller with the END statement on line 2100 when the program is executed: Processing of the flowchart in Fig. 8 As a result, a break point is set in the 2100th line, and also in all statements that share the instruction, a break point management table 6 shown in the figure below is created.

第9図フローチャートを用いて実行時の処理の流れを
示す。
The flow of processing at the time of execution is shown using the flowchart of FIG.

YES→→→1→→0→→AT→(BRE
AKING AT 2100のメッセージ出力)→→YES→→
0→ 従って、命令を共用する全ての文にも中断点を設定す
るが、利用者が中断点を設定した文のみで実行を中断
し、文番号210を表示する。
YES → → → 1 → → 0 → → AT → (BRE
AKING AT 2100 message output) → → YES → →
0 → Therefore, although the break point is set also in all the sentences that share the instruction, the execution is stopped only in the sentence in which the user sets the break point, and the sentence number 210 is displayed.

〔例5〕 利用者がATコマンドで1400行(命令を共用する文)と
2100行(命令を共用される文)に中断点を設定し、プロ
グラムの実行時に1400行のRETURN文で呼び出し元に復帰
する場合: 第8図フローチャートの処理により、命令を共用する
文および命令を共用される文に中断点が設定され、下図
の中断点管理テーブル6が作成される。
[Example 5] When the user uses the AT command to write 1400 lines (sentences that share instructions)
When setting a break point at line 2100 (statement sharing instructions) and returning to the caller with the RETURN statement at line 1400 when the program is executed: A break point is set in the shared statement, and a break point management table 6 shown in the figure below is created.

第9図フローチャートを用いて実行時の処理の流れを
示す。
The flow of processing at the time of execution is shown using the flowchart of FIG.

YES→→→0→→あり→(BREAKING AT
1400のメッセージ出力)→YES→→1→→→
→→YES→→→1→→1(実行が中断す
るのを回避する)→→ 従って、命令を共用する全ての文および命令を共用さ
れる全ての文に中断点を設定し、利用者が中断点を設定
した1400行の文で一旦実行を中断し、再び2100行に制御
が渡ってきたときに実行を中断しないようにしている。
YES → → → 0 → → Yes → (BREAKING AT
1400 message output) → YES →→ 1 →→→
→→ YES →→→ 1 →→ 1 (Avoid execution interruption) →→ Therefore, set break points for all statements that share instructions and all statements that share instructions, and the user Execution is suspended once at the 1400th line where the break point is set, and execution is not suspended when control reaches 2100th line again.

〔例6〕 利用者がATコマンドで1400行(命令を共用する文)と
2100行(命令を共用される文)に中断点を設定し、原始
プログラムの実行時に2100行のEND文で呼び出し元に復
帰する場合: 第8図フローチャートの処理により、命令を共用する
文および命令を共用される文に中断点が設定され、下図
の中断点管理テーブル6が作成される。
[Example 6] When the user uses the AT command to write 1400 lines (sentences that share instructions)
When a break point is set at line 2100 (statement in which instructions are shared) and when the source program is executed and the END statement at line 2100 is used to return to the caller: statements and instructions that share instructions by the processing of the flowchart in FIG. A break point is set in the sentence that is shared with, and a break point management table 6 shown in the figure below is created.

第9図フローチャートを用いて実行時の処理の流れを
示す。
The flow of processing at the time of execution is shown using the flowchart of FIG.

YES→→→0→→あり→(BREAKING AT
1400のメッセージ出力)→YES→→0→ 従って、命令を共用する全ての文および命令を共用さ
れる全ての文に中断点を設定し、利用者が1400行にも中
断点を設定しているが、1400行には制御が渡らないの
で、2100行に制御が渡ったときに実行を中断し、中断メ
ッセージを表示する。
YES → → → 0 → → Yes → (BREAKING AT
1400 message output) → YES →→ 0 → Therefore, a break point is set for all statements that share a command and for all statements that share a command, and the user also sets a break point for line 1400. However, since control is not transferred to the 1400th line, execution is interrupted when the control is transferred to the 2100th line and a break message is displayed.

〔発明の効果〕〔The invention's effect〕

以上説明したように、本発明によれば、命令が共用さ
れているか否か、いずれの実行文を通過したか否か、共
用する実行文に中断点を設定したか否かをもとに指定さ
れた位置でのみ中断させて文番号を表示する構成を採用
しているため、命令を共用する複数の実行文が存在する
実行プログラムで利用者が指定した位置でのみ中断させ
て文番号を表示し、デバッグ作業を効率的に進めること
ができる。
As described above, according to the present invention, designation is made based on whether or not an instruction is shared, which executable statement has passed, and whether or not a break point has been set for the shared executable statement. The statement number is displayed by suspending only at the position specified by the user in the execution program that has multiple executable statements that share instructions because it adopts the configuration that suspends and displays the statement number only at the specified position. However, the debugging work can proceed efficiently.

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

第1図は本発明の原理構成図、第2図は文情報テーブル
例、第3図は原始プログラム例、第4図は実行プログラ
ム例、第5図は本発明に係る中断点管理テーブル例、第
6図は本発明に係る通過記憶テーブル例、第7図は中断
指示命令例、第8図は本発明に係る中断点の設定フロー
チャート、第9図は本発明に係る実行の監視フローチャ
ートを示す。 図中、1は入力部、2は処理部、2−1は中断点設定
部、2−2は実行監視部、4は実行プログラム、6は文
情報テーブル、7は中断点管理テーブル、8は通過記憶
テーブル例を示す。
1 is a block diagram of the principle of the present invention, FIG. 2 is an example of a sentence information table, FIG. 3 is an example of a source program, FIG. 4 is an example of an execution program, and FIG. 5 is an example of a breakpoint management table according to the present invention. FIG. 6 shows an example of a passage memory table according to the present invention, FIG. 7 shows an example of an interruption instruction command, FIG. 8 shows a flowchart for setting an interruption point according to the present invention, and FIG. 9 shows a flow chart for monitoring execution according to the present invention. . In the figure, 1 is an input unit, 2 is a processing unit, 2-1 is an interruption point setting unit, 2-2 is an execution monitoring unit, 4 is an execution program, 6 is a sentence information table, 7 is an interruption point management table, and 8 is An example of a passage storage table is shown.

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】実行プログラム上で命令が共用される文の
中断通知装置において、 原始プログラムの文番号に対応づけて実行プログラム上
の共用番号、被共用フラグ、文アドレスを翻訳時に収集
して格納する文情報テーブル(6)と、 文アドレスに対応づけて通過判定指示、通過記録指示、
および中断指示を格納する中断点管理テーブル(7)
と、 共用番号に対応づけて通過の有無を格納する通過記録テ
ーブル(8)と、 利用者からの中断点設定指示に対応して、設定された中
断点の文アドレス、通知判定指示、通過記録指示、中断
指示を上記中断点管理テーブル(7)に設定、更に中断
点設定指示が共用される命令の文のときに上記文情報テ
ーブル(6)を参照して同一の共用番号を持つ共用する
命令の文の文アドレス、通過判定指示、通過記録指示、
中断指示を設定する手段と、 デバッグ実行指示に対応して、中断点に到達したときに
上記中断点管理テーブル(6)を参照して該当文アドレ
スの通過判定指示が有であって文情報テーブル(6)の
該当文アドレスから共用番号を取り出して上記通過記録
テーブル(8)の該当共用番号の通過の有無が無のとき
に、あるいは通過判定指示が無のときに、更に中断点管
理テーブル(6)を参照して中断指示が有のときに中断
すると共に文情報テーブル(6)から該当文アドレスに
対応する文番号を取り出して表示する手段とを備えたこ
とを特徴とする命令が共用される文の中断点通知装置。
1. A statement interruption notification device in which an instruction is shared in an execution program, a shared number, a shared flag, and a statement address in the execution program are collected and stored at the time of translation in association with the statement number of the source program. A sentence information table (6) to be used, and a passage determination instruction, a passage recording instruction, in association with a sentence address,
And a break point management table (7) that stores a break instruction
And a passage record table (8) that stores the presence or absence of passage in association with the shared number, and the sentence address of the set interruption point, the notification determination instruction, and the passage record corresponding to the interruption point setting instruction from the user. The instruction and the interruption instruction are set in the interruption point management table (7), and when the instruction of the instruction in which the interruption point setting instruction is shared, the statement information table (6) is referred to share the same shared number. Sentence address of instruction sentence, passage determination instruction, passage record instruction,
A means for setting an interruption instruction and a statement information table corresponding to the debug execution instruction, referring to the above-mentioned interruption point management table (6) when there is a passage judgment instruction of the corresponding sentence address When the shared number is extracted from the relevant sentence address in (6) and there is no passage of the corresponding shared number in the passage record table (8), or when there is no passage determination instruction, the interruption point management table ( 6), the instruction is shared when it is interrupted when there is an interrupt instruction, and means for fetching and displaying the sentence number corresponding to the corresponding sentence address from the sentence information table (6) is shared. Break sentence notification device.
【請求項2】上記中断点管理テーブル(6)を参照して
該当文アドレスの通過判定指示が有であって文情報テー
ブル(6)の該当文アドレスから共用番号を取り出して
上記通過記録テーブル(8)の該当共用番号の通過の有
無が有のときに無に設定、あるいは上記中断して再開す
るときに上記通過記録指示が有のときに上記文情報テー
ブル(6)の該当文アドレスから共用番号を取り出して
上記通過記憶テーブル(8)の該当共用番号の通過の有
無を有に設定する手段を備えたことを特徴とする請求項
1記載の命令が共用される文の中断点通知装置。
2. The passage record table (6) in which there is a passage determination instruction for the corresponding sentence address by referring to the breakpoint management table (6), and a shared number is extracted from the sentence address in the sentence information table (6). Set to 8 when there is a passage of the corresponding shared number in 8), or shared from the corresponding sentence address in the sentence information table (6) when the passage record instruction is present when the interruption and restart are performed. 2. An apparatus for notifying a break point of a statement in which an instruction is shared according to claim 1, further comprising means for extracting a number and setting whether or not the corresponding shared number in the passage storage table (8) has passed.
JP1327567A 1989-12-18 1989-12-18 Suspension notification device for statements that share instructions Expired - Fee Related JP2695497B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1327567A JP2695497B2 (en) 1989-12-18 1989-12-18 Suspension notification device for statements that share instructions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1327567A JP2695497B2 (en) 1989-12-18 1989-12-18 Suspension notification device for statements that share instructions

Publications (2)

Publication Number Publication Date
JPH03188537A JPH03188537A (en) 1991-08-16
JP2695497B2 true JP2695497B2 (en) 1997-12-24

Family

ID=18200509

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1327567A Expired - Fee Related JP2695497B2 (en) 1989-12-18 1989-12-18 Suspension notification device for statements that share instructions

Country Status (1)

Country Link
JP (1) JP2695497B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS638946A (en) * 1986-06-30 1988-01-14 Nec Corp Program debug supporting system
JPS63178341A (en) * 1987-01-20 1988-07-22 Fujitsu Ltd Program debugging system

Also Published As

Publication number Publication date
JPH03188537A (en) 1991-08-16

Similar Documents

Publication Publication Date Title
JP2007188147A (en) Debugging support device, and program for making computer execute debug processing method
JP2695497B2 (en) Suspension notification device for statements that share instructions
JPH07334211A (en) Data tracing method for programmable controller
JP2815638B2 (en) Debug device
JP2010015364A (en) Multiprocessor system and information processor
JP3339708B2 (en) Event recording method
JP2659366B2 (en) Debugging method and device
JPH0262639A (en) Interruption system for language debugger
JP2003263340A (en) Debug device
JPH0395638A (en) Debugging device
JPS638946A (en) Program debug supporting system
JPH0465729A (en) Symbolic debugger
JPH0695910A (en) Interactive debugging control system for abnormality processing
JPS6136850A (en) Input and output interruption information system
JPH11191072A (en) Debug break processing method and debug processor
JPH0247733A (en) Debugging system for data flow computer
JPH06161817A (en) Thread on-line debugging device
JPH05324399A (en) Information monitoring device
JPH05334135A (en) Error information display system for abnormal end of program
JPH02284236A (en) Program debugging processor
JPH04168535A (en) Latch data collecting system
JPS63127341A (en) Multi-operating system
JPS6393049A (en) Program debug device
JPH02259844A (en) Program debugging system
JP2002229815A (en) Task trace method and computer device having task trace function

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees