JPH0695917A - Method for specifying execution interrupting point - Google Patents

Method for specifying execution interrupting point

Info

Publication number
JPH0695917A
JPH0695917A JP4247034A JP24703492A JPH0695917A JP H0695917 A JPH0695917 A JP H0695917A JP 4247034 A JP4247034 A JP 4247034A JP 24703492 A JP24703492 A JP 24703492A JP H0695917 A JPH0695917 A JP H0695917A
Authority
JP
Japan
Prior art keywords
execution
program
point
interruption
instruction
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
JP4247034A
Other languages
Japanese (ja)
Other versions
JP3079238B2 (en
Inventor
Hiroshi Ao
宏志 粟生
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 JP04247034A priority Critical patent/JP3079238B2/en
Publication of JPH0695917A publication Critical patent/JPH0695917A/en
Application granted granted Critical
Publication of JP3079238B2 publication Critical patent/JP3079238B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PURPOSE:To speed up the setting processing of interruption points by setting up interruption points on all corresponding positions specified by flags and validating the flags so that the flags are reused as they are at the time of inputting a succeeding sub command and specified interruption points can be set up or deleted. CONSTITUTION:Debugging information 8 storing whether interruption points can be set up or not in a program 6 to be debugged and an execution interrupting point specification execution validating flag 9 for expressing whether interruption points (NEXT) in the program 6 are valid or invalid are prepared. When the flag 9 is invalid correspondingly to an execution interrupting point specification executing instruction (NEXT), the interruption points (NEXT) are set up in all lines allowed to set up interruption points based upon the information 8 and validated, and then the program 6 is executed and interrupted at the interruption points. When the flag is valid on the other hand, the program 6 is executed and interrupted at the interruption points.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、プログラムの実行を中
断させる中断点を指定する実行中断点指定方式であっ
て、利用者プログラムを指定した位置まで実行する機能
を実現するデバッガの実行中断点指定方式に関するもの
である。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an execution interruption point designating method for designating an interruption point for interrupting the execution of a program, and an execution interruption point of a debugger for realizing a function of executing a user program up to a designated position. It is related to the designation method.

【0002】[0002]

【従来の技術】従来のデバッガは、利用者が指定した位
置まで利用者プログラムを実行して中断する場合、利用
者が使用し易いようにその指定方法にある程度の柔軟性
を持たせている。例えば具体的に利用者プログラムの
“1000行目の行”まで実行と指定する他に、“次に
中断点を実行する行”まで実行などという指定を許して
いる。
2. Description of the Related Art In a conventional debugger, when a user program is executed up to a position specified by the user and interrupted, the specification method has some flexibility so that the user can easily use the program. For example, in addition to specifically specifying execution up to the "1000th line" of the user program, execution up to the "line at which the breakpoint is executed" is permitted.

【0003】[0003]

【発明が解決しようとする課題】このため、デバッガの
処理において、利用者が指定した位置を厳密に求めるこ
とが困難になっている。例えば現在中断している位置が
IF文の場合、“次に実行する位置まで実行”と指定さ
れた場合、次に実行する位置がTHEN節になるのかE
LSE節になるのかはIF文の条件式の状態によるた
め、求めることが難しい。
For this reason, it is difficult to exactly obtain the position designated by the user in the processing of the debugger. For example, if the currently suspended position is an IF statement and if "execute to the next execution position" is specified, is the next execution position the THEN clause?
Since it depends on the condition of the conditional expression of the IF statement whether it becomes the LSE clause is difficult to find.

【0004】そこで、デバッガは、利用者の指定した位
置に該当するであろう位置の全てに中断点を設定し、利
用者プログラムを実行させ、設定した中断点のいずれか
で利用者プログラムが中断した場合に、設定した中断点
を全て削除するということを行っていた。
Therefore, the debugger sets breakpoints at all the positions that are likely to correspond to the positions designated by the user, executes the user program, and interrupts the user program at any of the set breakpoints. In that case, all the set break points were deleted.

【0005】そのため、実行中断点指定の指示があった
場合、その指定に該当するであろう全ての位置に中断点
を設定し、そのうちのいずれかに中断したら全ての中断
点を削除する。再び実行中断点指定の指示があった場
合、また該当するであろう全ての位置に中断点を設定す
るということを繰り返していた。
Therefore, when there is an instruction to specify an execution break point, the break points are set at all positions that may correspond to the designation, and if any of them is interrupted, all the break points are deleted. When the instruction to specify the execution break point is given again, the setting of the break point is repeated at all the positions that may be applicable.

【0006】従って、利用者の指定した位置に該当する
であろう位置が多数あればある程、毎回中断点の設定お
よび削除を繰り返すために実行中断点指定の機能の性能
を低下させてしまうという問題があった。
Therefore, the larger the number of positions that may correspond to the position designated by the user, the more the setting and deletion of the break point is repeated each time, which deteriorates the performance of the execution break point designation function. There was a problem.

【0007】本発明は、これらの問題を解決するため、
実行中断点指定実行有効フラグを設けて指定に対応して
該当するであろう全ての位置に中断点を設定およびフラ
グを有効にし、次のサブコマンドの入力時にそのまま再
利用、指定された中断点を設定、あるいは中断点を削除
し、中断点の設定処理を高速化することを目的としてい
る。
The present invention solves these problems.
Execution break point specification Execution valid flag is set to set the break points to all positions that may correspond to the specification and enable the flag, and it is reused as it is when the next subcommand is input, and the specified break point The purpose is to speed up the process of setting the interruption point by setting or deleting the interruption point.

【0008】[0008]

【課題を解決するための手段】図1を参照して課題を解
決するための手段を説明する。図1において、デバッグ
情報8は、デバッグ対象のプログラム6の中断点設定の
可否を格納した情報である。
[Means for Solving the Problems] Means for solving the problems will be described with reference to FIG. In FIG. 1, the debug information 8 is information that stores whether or not the breakpoint 6 of the program 6 to be debugged can be set.

【0009】実行中断点指定実行有効フラグ9は、デバ
ッグ対象のプログラム6に中断点が設定されているか否
かを表すフラグである。中断点(NEXT)は、次に中
断するであろう全ての位置に設定した中断点である。
The execution break point designation execution valid flag 9 is a flag indicating whether or not a break point is set in the program 6 to be debugged. The break point (NEXT) is a break point set at all positions where the next break will occur.

【0010】中断点(AT)は、指示された位置に設定
した中断点である。
The break point (AT) is the break point set at the designated position.

【0011】[0011]

【作用】本発明は、図1に示すように、利用者から実行
中断点指定実行指示(NEXT)に対応して、実行中断
点指定実行有効フラグ9が無効のときにデバッグ情報8
で中断点設定が可となっている全ての行に中断点(NE
XT)を設定および有効にセットした後、プログラム6
を実行して中断点で中断し、一方、有効のときにプログ
ラム6を実行して中断点で中断するようにしている。
According to the present invention, as shown in FIG. 1, the debug information 8 is issued when the execution breakpoint designation execution valid flag 9 is invalid in response to the execution breakpoint designation execution instruction (NEXT) from the user.
Breakpoints (NE
After setting and enabling XT), program 6
Is executed to interrupt at the interruption point, while the program 6 is executed to interrupt at the interruption point when it is valid.

【0012】また、利用者から利用者中断点設定指示
(AT)に対応して、指示された行番号の位置に中断点
(AT)を設定するようにしている。また、利用者から
実行再開指示(GO)に対応して、全ての中断点(NE
XT)を削除および実行中断点指定実行有効フラグ9を
無効に設定した後、プログラム6の実行を再開し、中断
点(AT)で中断あるいは中断せずに処理を終了するよ
うにしている。
Further, the interruption point (AT) is set at the position of the designated line number in response to the user's interruption point setting instruction (AT). In addition, all interruption points (NE
XT) is deleted and the execution interruption point designation execution valid flag 9 is set to invalid, then the execution of the program 6 is restarted, and the processing is terminated at the interruption point (AT) or without interruption.

【0013】また、中断点の設定として、プログラム6
の該当位置にデバッガを呼び出すSVC命令を埋め込む
および元の命令を退避し、中断点の削除として、SVC
命令を退避した元の命令に戻すようにしている。
Further, the program 6 is used to set the break point.
Embed an SVC instruction that calls the debugger in the corresponding position of
The instruction is restored to the original instruction that was saved.

【0014】従って、実行中断点指定実行有効フラグ9
を設けて指定に対応して該当するであろう全ての位置に
中断点を設定およびフラグ9を有効にし、次のサブコマ
ンドの入力時にそのまま再利用したり、指定された中断
点(AT)を設定したり、あるいは中断点を削除したり
することにより、中断点の設定処理を高速化することが
可能となる。
Therefore, execution interruption point designation execution valid flag 9
Is set to set break points at all positions that may correspond to the designation and enable the flag 9 so that it can be reused as it is when the next subcommand is input, or the designated break point (AT) can be set. By setting or deleting the break point, the process of setting the break point can be speeded up.

【0015】[0015]

【実施例】次に、図1から図5を用いて本発明の実施例
の構成および動作を順次詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, the construction and operation of an embodiment of the present invention will be described in detail with reference to FIGS.

【0016】図1は、本発明の1実施例構成図を示す。
図1において、入力部1は、各種指示などを入力するも
のであって、ここでは、実行中断点指定実行指示(NE
XT)2、利用者中断点設定指示(AT)3、および実
行再開指示(GO)4などである。
FIG. 1 shows a block diagram of an embodiment of the present invention.
In FIG. 1, an input unit 1 is for inputting various instructions and the like, and here, an execution interruption point designation execution instruction (NE
XT) 2, user interruption point setting instruction (AT) 3, execution resumption instruction (GO) 4, and the like.

【0017】実行中断点指定実行指示2は、デバッグ対
象のプログラム6中に、次に中断するであろう全ての位
置に中断点を設定する指示(例えばNEXT)である。
中断点の設定は、デバッグ対象のプログラム6の指定さ
れた位置にデバッガの呼び出し命令(SVC命令)を埋
め込むと共に元の命令を退避することである。
The execution interruption point designation execution instruction 2 is an instruction (for example, NEXT) for setting an interruption point at all positions in the program 6 to be debugged that will be interrupted next.
The setting of the break point is to embed the call instruction (SVC instruction) of the debugger in the designated position of the program 6 to be debugged and save the original instruction.

【0018】利用者中断点設定指示3は、利用者が指定
した位置に中断点を設定する指示である。例えば100
0行目に中断点を設定する指示(例えばAT)である。
実行再開指示4は、利用者が中断した状態からプログラ
ム6の実行を再開する指示(例えばGO)である。
The user break point setting instruction 3 is an instruction to set a break point at a position designated by the user. For example 100
It is an instruction (for example, AT) to set an interruption point on the 0th line.
The execution resumption instruction 4 is an instruction (for example, GO) for resuming the execution of the program 6 from a state where the user has interrupted.

【0019】デバッガ処理部5は、デバッグを行うもの
であって、ここでは、入力部1からの各種指示に対応し
て、デバッグ対象のプログラム6に中断点を設定した
り、削除したり、実行させたりなどするものである。
The debugger processing unit 5 is for performing debugging. Here, in accordance with various instructions from the input unit 1, a break point is set in the program 6 to be debugged, deleted, or executed. It is something to do.

【0020】プログラム6は、デバッグ対象のプログラ
ムであって、例えば図2に示すような利用者プログラム
である。メモリ7は、各種データを格納するものであっ
て、ここではデバッグ情報8を格納するものである。
The program 6 is a program to be debugged and is, for example, a user program as shown in FIG. The memory 7 stores various data, and here stores the debug information 8.

【0021】実行中断点指定実行有効フラグ9は、実行
中断点指定実行指示2に対応して設定された中断点(N
EXT)が有効か、無効かを設定するフラグである。図
2は、本発明の利用者プログラム例を示す。左側の数字
は、行番号であって、例えば000100は行番号が1
00行である。
The execution break point designation execution valid flag 9 indicates the break point (N) set in correspondence with the execution break point designation execution instruction 2.
This is a flag for setting whether EXT) is valid or invalid. FIG. 2 shows an example of a user program of the present invention. The number on the left is the line number. For example, 000100 has a line number of 1.
It is line 00.

【0022】000100 IDENTIFICATION DIVISION. は行番号100以下に定義節を記述する旨が記載されて
いる。同様に、行番号800以下に手続節を記述する旨
が記載されている。
000100 IDENTIFICATION DIVISION. Describes that the definition section is described below the line number 100. Similarly, it is described that the procedure section is described below the line number 800.

【0023】図3は、本発明のデバッグ情報例を示す。
これは、行番号に対応づけて、中断点を設定すること
が、“不可”あるいは“可能”の区別を設定したもので
ある。利用者が実行中断点指定実行指示2を行ったこと
に対応して、次に中断するであろう全ての位置に中断点
を設定ときに、当該デバッグ情報例中に“可能”として
ある行番号に中断点を設定する。例えば行番号1000
には中断点を設定し、行番号2200には中断点を設定
しない(中断するであろう位置に該当しないから中断点
を設定しない)。
FIG. 3 shows an example of debug information of the present invention.
This is to set a break point in association with a line number, which is set as "impossible" or "possible". In response to the user's execution instruction 2 for specifying the execution break point, when setting break points at all the positions where the next break will occur, the line numbers that are set to "possible" in the debug information example Set a break point at. For example, line number 1000
To the line number 2200, and the break point is not set to the line number 2200 (the break point is not set because the position does not correspond to the position where the break will occur).

【0024】図4は、本発明に係わるフラグおよび指示
例を示す。図4の(a)は、実行中断指定実行有効フラ
グ例を示す。この実行中断指定実行有効フラグ9は、実
行中断指定実行指示2に対応して、デバッグ情報8を参
照して中断点設定可能と設定してある行番号の位置に中
断点が設定してあるときに“有効”、一方、設定してな
いときに“無効”を設定する(図5を用いて後述す
る)。
FIG. 4 shows an example of flags and instructions according to the present invention. FIG. 4A shows an example of the execution interruption designation execution valid flag. The execution interruption designation execution valid flag 9 corresponds to the execution interruption designation execution instruction 2 when the interruption point is set at the position of the line number for which the interruption point can be set by referring to the debug information 8. Is set to "valid", while "invalid" is set when not set (described later with reference to FIG. 5).

【0025】図4の(b)は、実行中断点指定実行指示
例を示す。この実行中断点指定実行指示2は、サブコマ
ンド名が例えば“NEXT”であって、デバッグ対象の
プログラム6の現在の位置から次に中断するであろう全
ての位置に中断点を設定する旨のサブコマンドである。
具体的には、図3のデバッグ情報8の例に“可能”と設
定されている位置(行番号)に中断点を設定する(即ち
SVC命令を埋め込んでデバッグ処理部5に制御が渡る
ように設定および元の命令を退避する)。
FIG. 4B shows an example of execution instruction designating an execution interruption point. This execution interruption point designation execution instruction 2 indicates that the subcommand name is, for example, "NEXT" and that the interruption points are set at all positions from the current position of the program 6 to be debugged that will be interrupted next. It is a subcommand.
Specifically, a break point is set at a position (line number) set as “enabled” in the example of the debug information 8 of FIG. 3 (that is, control is passed to the debug processing unit 5 by embedding the SVC instruction) Save settings and original instructions).

【0026】図4の(c)は、利用者中断点設定指示例
を示す。この利用者中断点設定指示3は、サブコマンド
名が例えば“AT”であって、デバッグ対象のプログラ
ム6中の、オペランドで指定した行に中断点を設定す
る。ここでは、行番号1300の位置に中断点を設定す
る。
FIG. 4C shows an example of a user interruption point setting instruction. The user break point setting instruction 3 has a subcommand name of "AT", for example, and sets a break point in a line designated by an operand in the program 6 to be debugged. Here, a break point is set at the position of line number 1300.

【0027】図4の(d)は、実行再開指示例を示す。
この実行再開指示4は、サブコマンド名が例えば“G
O”であって、デバッグ対象のプログラム6中の中断し
た位置から実行を再開する指示である。
FIG. 4D shows an example of an instruction to restart execution.
This execution resumption instruction 4 has a subcommand name of "G
It is O "and is an instruction to restart the execution from the position where the program 6 to be debugged was interrupted.

【0028】次に、図5のフローチャートに示す順序に
従い、図1の構成の動作を詳細に説明する。図5におい
て、S1は、実行中断点指示実行有効フラグ9を「無
効」に初期化する。これは、デバッグ対象のプログラム
6のデバッグの開始に先立ち、実行中断点指定実行有効
フラグ9を「無効」に設定し、中断点(NEXT)が設
定されていないと初期設定する。
Next, the operation of the configuration of FIG. 1 will be described in detail in the order shown in the flowchart of FIG. In FIG. 5, S1 initializes the execution breakpoint instruction execution valid flag 9 to "invalid". This sets the execution breakpoint designation execution valid flag 9 to "invalid" before starting the debugging of the program 6 to be debugged, and initializes it when the breakpoint (NEXT) is not set.

【0029】S2は、サブコンマンドの入力を行う。こ
れは、サブコマンドとして、図4に記載した“NEX
T”、“AT”、“GO”などを利用者が図1の入力部
1から入力する。
In step S2, a sub command is input. This is the subcommand "NEX" shown in FIG.
The user inputs "T", "AT", "GO", etc. from the input unit 1 of FIG.

【0030】S3は、サブコマンド名がNEXT、A
T、あるいはGOのいずれか判別する。NEXTの場合
には、実行中断点指定実行指示2が入力されたので、S
4からS8によって、中断点(NEXT)の設定、実行
中断点指定実行有効フラグ9が無効のときに有効に設
定、および利用者プログラム(プログラム6)の実行を
再開などする。また、ATの場合には、利用者中断点設
定指示3が入力されたので、S9によって、オペランド
で指定された行番号の位置に中断点(AT)を設定す
る。また、GOの場合には、実行再開指示4が入力され
たので、S10からS12、S7、およびS8によっ
て、実行中断点指定実行有効フラグ9が有効のときに全
ての中断点(NEXT)を削除および実行中断点指定実
行有効フラグ9を無効にした後、利用者プログラム(プ
ログラム6)の実行を再開する。以下説明する。
In S3, the subcommand name is NEXT, A
Either T or GO is discriminated. In the case of NEXT, since the execution interruption point designation execution instruction 2 is input, S
From 4 to S8, the interruption point (NEXT) is set, the execution interruption point designation execution valid flag 9 is set valid, and the execution of the user program (program 6) is restarted. In the case of AT, since the user's interruption point setting instruction 3 is input, the interruption point (AT) is set at the position of the line number designated by the operand in S9. In the case of GO, since the execution restart instruction 4 is input, all the interruption points (NEXT) are deleted when the execution interruption point designation execution valid flag 9 is valid in S10 to S12, S7, and S8. After the execution interruption point designation execution valid flag 9 is invalidated, the execution of the user program (program 6) is restarted. This will be described below.

【0031】S4は、S3でサブコマンド名として“N
EXT”が入力されたと判明したので、実行中断点指定
実行有効フラグ9が有効か無効かを判別し、有効のとき
にS7に進み、無効のときにS5に進む。
In S4, "N" is set as the subcommand name in S3.
Since it has been determined that "EXT" has been input, it is determined whether the execution interruption point designation execution valid flag 9 is valid or invalid. If it is valid, the process proceeds to S7, and if it is invalid, the process proceeds to S5.

【0032】S5は、S4で実行中断点指定実行有効フ
ラグ9が無効と判別されたので、中断点が設定可能な全
ての行にNEXTの中断点(NEXT)を設定する。こ
れは、具体的には、図3のデバッグ情報例の中断点設定
に“可能”と設定されている行番号の位置に中断点(N
EXT)を設定する(具体的にはSVC命令を埋め込む
と共に元の命令を退避する)。
In step S5, since the execution interruption point designation execution valid flag 9 is determined to be invalid in step S4, the NEXT interruption point (NEXT) is set in all the lines in which the interruption points can be set. Specifically, this is at the break point (N
EXT) is set (specifically, the SVC instruction is embedded and the original instruction is saved).

【0033】S6は、実行中断点指定実行有効フラグ9
を“有効”に設定する。これにより、中断点(NEX
T)が有効に設定されている旨を記憶し、次回に再利用
するために設定した旨を記憶しておく。
S6 is an execution interruption point designation execution valid flag 9
Set to “Enabled”. As a result, the interruption point (NEX
The fact that T) is set valid is stored, and the fact that it is set for reuse next time is stored.

【0034】S7は、利用者プログラム(プログラム
6)の実行を再開する。これは、S5およびS6で中断
点(NEXT)の設定および実行中断点指定実行有効フ
ラグ9を有効にした後(あるいは前回に既に設定されて
いた場合)、利用者プログラムの実行を再開する。
In step S7, the execution of the user program (program 6) is restarted. This restarts the execution of the user program after setting the interruption point (NEXT) and enabling the execution interruption point designation execution valid flag 9 in S5 and S6 (or when it has already been set previously).

【0035】S8は、NEXTまたはATの中断点で中
断したか判別する。中断した場合には、S2に戻る。中
断しない場合には、利用者プログラムの終わりまで実行
し、終了する。
In step S8, it is determined whether the interruption has occurred at the interruption point of NEXT or AT. If it is interrupted, the process returns to S2. If it is not interrupted, it is executed until the end of the user program and then terminated.

【0036】以上のS3でサブコマンド名“NEXT”
が入力された場合、S4からS8によって、実行中断点
指定実行有効フラグ9が“有効”のときは以前に設定さ
れていた中断点(NEXT)を再利用して設定の手間を
削減できる。一方、初回で実行中断点指定実行有効フラ
グ9が”無効”のときは中断点(NEXT)を設定およ
び実行中断点指定実行有効フラグ9を“有効”に設定す
る。
In S3 above, the subcommand name "NEXT"
If the input is, the steps S4 to S8 make it possible to reuse the previously set break point (NEXT) when the execution break point designation execution valid flag 9 is "valid", thereby reducing the labor for setting. On the other hand, when the execution break point designation execution valid flag 9 is "invalid" at the first time, a break point (NEXT) is set and the execution break point designation execution valid flag 9 is set to "valid".

【0037】次に、S9は、S3でサブコマンド名とし
て“AT”が入力されたと判明したので、“AT”(利
用者中断点設定指示3)のオペランドで指定された行番
号の位置にATの中断点(AT)を設定する。これは、
例えば図4の(c)のサブコマンド名“AT”の場合に
は、パラメタで指定された行番号“1300”の行に中
断点(AT)を設定する。そして、S2に戻る。
Next, in S9, since it is found that "AT" is input as the subcommand name in S3, AT is placed at the position of the line number designated by the operand of "AT" (user break point setting instruction 3). Set the break point (AT) of. this is,
For example, in the case of the subcommand name “AT” in FIG. 4C, the break point (AT) is set on the line with the line number “1300” specified by the parameter. Then, the process returns to S2.

【0038】以上のS3でサブコマンド名“AT”が入
力された場合、S9によって、オペランドで指定された
行番号の位置に中断点(AT)を設定する。これによ
り、利用者が個別に指示した行に中断点(AT)を設定
することが可能となる。
When the subcommand name "AT" is input in S3 above, an interruption point (AT) is set in the position of the line number designated by the operand in S9. As a result, it becomes possible to set an interruption point (AT) on a line individually designated by the user.

【0039】S10は、S3でサブコマンド名として
“GO”が入力されたと判明したので、実行中断点指定
実行有効フラグ9が有効か無効かを判別し、有効のとき
にS11に進み、無効のときにS7に進む。
In S10, since it was found that "GO" was input as the subcommand name in S3, it is determined whether the execution interruption point designation execution valid flag 9 is valid or invalid. Sometimes it goes to S7.

【0040】S11は、S10で実行中断点指定実行有
効フラグ9が有効と判別されたので、全てのNEXTの
中断点(NEXT)を削除する。S12は、実行中断点
指定実行有効フラグ9を無効に設定する。そして、S7
に進む。
In step S11, since it is determined in step S10 that the execution interruption point designation execution valid flag 9 is valid, all the interruption points (NEXT) of NEXT are deleted. In S12, the execution interruption point designation execution valid flag 9 is set to be invalid. And S7
Proceed to.

【0041】S7は、利用者プログラム(プログラム
6)の実行を再開する。これは、S11およびS12で
中断点(NEXT)の削除および実行中断点指定実行有
効フラグ9を無効にした後、利用者プログラムの実行を
再開する。
In step S7, the execution of the user program (program 6) is restarted. This is to restart the execution of the user program after deleting the interruption point (NEXT) and disabling the execution interruption point designation execution valid flag 9 in S11 and S12.

【0042】S8は、ATの中断点で中断したか判別す
る。中断した場合には、S2に戻る。中断しない場合に
は、利用者プログラムの終わりまで実行し、終了する。
以上のS3でサブコマンド名“GO”が入力された場
合、S10からS12、S7、およびS8によって、実
行中断点指定実行有効フラグ9が“有効”のときは中断
点(NEXT)を削除し、実行を再開する。これによ
り、サブコマンド名“NEXT”で設定した中断点(N
EXT)を削除および実行中断点指定実行有効フラグ9
を無効にすることができる。
In step S8, it is determined whether the AT has been interrupted. If it is interrupted, the process returns to S2. If it is not interrupted, it is executed until the end of the user program and then terminated.
When the subcommand name "GO" is input in S3 above, S10 to S12, S7, and S8 delete the breakpoint (NEXT) when the execution breakpoint designation execution valid flag 9 is "valid", Resume execution. As a result, the break point set by the subcommand name "NEXT" (N
EXT) and delete execution point designation execution valid flag 9
Can be disabled.

【0043】次に、図5のフローチャートに従って具体
例について説明する。 (1) 1回目のサブコマンド名“NEXT”を入力す
る。 サブコマンド名“NEXT”(実行中断点指定実行指
示)を入力すると、デバッガ処理部5は、実行中断点指
定実行有効フラグ9が“無効”になっているか調べる。
1回目は、無効になっているので、図3のデバッグ情報
8の中断点設定が“可能”になっている全ての行に中断
点(NEXT)を設定、および実行中断点指定実行有効
フラグ9を“有効”にする。利用者プログラム(プログ
ラム6)の実行を再開すると、1000行に中断する。
Next, a specific example will be described with reference to the flowchart of FIG. (1) Input the first subcommand name "NEXT". When the subcommand name "NEXT" (execution breakpoint designation execution instruction) is input, the debugger processing unit 5 checks whether the execution breakpoint designation execution valid flag 9 is "invalid".
At the first time, since it is invalid, the break point (NEXT) is set to all the lines where the break point setting of the debug information 8 in FIG. 3 is “enabled”, and the execution break point designation execution valid flag 9 To “enable”. When the execution of the user program (program 6) is restarted, it is interrupted at 1000 lines.

【0044】(2) 2回目のサブコマンド名“NEX
T”を入力する。 サブコマンド名“NEXT”(実行中断点指定実行指
示)を入力すると、デバッガ処理部5は、実行中断点指
定実行有効フラグ9を調べる。ここでは、有効になって
いるので、利用者プログラム(プログラム6)の実行を
再開すると、1100行に中断する。
(2) Subcommand name "NEX" for the second time
Input T ". When the subcommand name" NEXT "(execution breakpoint designation execution instruction) is input, the debugger processing unit 5 checks the execution breakpoint designation execution valid flag 9. Since it is valid here, , When the execution of the user program (program 6) is restarted, it is interrupted at line 1100.

【0045】(3) 3回目のサブコマンド名“AT
1300”を入力する。 サブコマンド名“AT”(利用者中断点設定指示)を入
力すると、デバッガ処理部5は、オペランドで指定され
た行番号1300に該当する行をデバッグ情報8から探
し、その位置に中断点(AT)を設定する。
(3) Third subcommand name "AT
1300 ”. When the subcommand name“ AT ”(user break point setting instruction) is input, the debugger processing unit 5 searches the debug information 8 for a line corresponding to the line number 1300 specified by the operand, and Set the break point (AT) at the position.

【0046】(4) 4回目のサブコマンド名“GO”
を入力する。 サブコマンド名“GO”(実行再開指示)を入力する
と、デバッガ処理部5は、実行中断点指定実行有効フラ
グ9を調べる。ここでは、有効になっているので、図3
のデバッグ情報8の中断点設定が“可能”になっている
全ての行に設定されている中断点(NEXT)を削除し
た後、実行中断点指定実行有効フラグ9を“無効”にす
る。利用者プログラム(プログラム6)の実行を再開す
ると、ここでは、1300行に中断する。
(4) Fourth subcommand name "GO"
Enter. When the subcommand name “GO” (execution restart instruction) is input, the debugger processing unit 5 checks the execution interruption point designation execution valid flag 9. Since it is enabled here,
After deleting the breakpoints (NEXT) set in all the lines for which the breakpoint setting of the debug information 8 is “enabled”, the execution breakpoint designation execution valid flag 9 is set to “invalid”. When the execution of the user program (program 6) is restarted, it is interrupted at line 1300 here.

【0047】(5) 5回目のサブコマンド名“GO”
を入力する。 サブコマンド名“GO”(実行再開指示)を入力する
と、デバッガ処理部5は、実行中断点指定実行有効フラ
グ9を調べる。ここでは、無効になっているので、利用
者プログラム(プログラム6)の実行を再開すると、こ
こでは中断点に到達しないため終了する。
(5) Fifth subcommand name "GO"
Enter. When the subcommand name “GO” (execution restart instruction) is input, the debugger processing unit 5 checks the execution interruption point designation execution valid flag 9. Here, since it is invalid, when the execution of the user program (program 6) is restarted, the interruption point is not reached here, and the process ends.

【0048】[0048]

【発明の効果】以上説明したように、本発明によれば、
実行中断点指定実行有効フラグ9を設けて指定に対応し
て該当するであろう全ての位置に中断点(NEXT)を
設定および実行中断点指定実行有効フラグ9を有効に
し、次のサブコマンドの入力時にそのまま再利用した
り、指定された中断点(AT)を設定したり、あるいは
中断点を削除したりする構成を採用しているため、デバ
ッグ処理時の中断点の設定処理を高速化することができ
る。特に、サブコマンド名“NEXT”を入力して中断
する可能性のある全ての行に中断点(NEXT)を設定
および実行中断点指定実行有効フラグ9を有効に設定
し、次回のサブコマンド名“NEXT”の入力時に再利
用し、従来の毎回、中断点(NEXT)の設定および削
除を行う無駄な処理を無くし、高速化を図ることができ
る。
As described above, according to the present invention,
An execution break point designation execution valid flag 9 is provided to set a break point (NEXT) at all positions that may correspond to the designation, and the execution break point designation execution valid flag 9 is validated. Since the configuration that reuses the input as it is, sets a specified break point (AT), or deletes the break point is adopted, speeds up the setting process of the break point during debug processing. be able to. In particular, input the subcommand name "NEXT" to set the break point (NEXT) on all lines that may be interrupted and set the execution break point designation execution valid flag 9 to be valid, and the next subcommand name " It can be reused at the time of inputting “NEXT”, eliminating the wasteful process of setting and deleting the interruption point (NEXT) every time conventionally, and speeding up can be achieved.

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

【図1】本発明の1実施例構成図である。FIG. 1 is a configuration diagram of an embodiment of the present invention.

【図2】本発明の利用者プログラム例である。FIG. 2 is an example of a user program of the present invention.

【図3】本発明のデバッグ情報例である。FIG. 3 is an example of debug information of the present invention.

【図4】本発明に係わるフラグおよび指示例である。FIG. 4 shows examples of flags and instructions according to the present invention.

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

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

1:入力部 2:実行中断点指定実行指示(NEXT) 3:利用者中断点設定指示(AT) 4:実行再開指示(GO) 5:デバッガ処理部 6:デバッグ対象のプログラム(利用者プログラム) 7:メモリ 8:デバッグ情報 9:実行中断点指定実行有効フラグ 1: Input part 2: Execution break point designation execution instruction (NEXT) 3: User break point setting instruction (AT) 4: Execution restart instruction (GO) 5: Debugger processing part 6: Debug target program (user program) 7: Memory 8: Debug information 9: Execution breakpoint specification execution valid flag

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】プログラムの実行を中断させる中断点を指
定する実行中断点指定方式において、 デバッグ対象のプログラム(6)の中断点設定の可否を
格納したデバッグ情報(8)と、 デバッグ対象のプログラム(6)の中断点(NEXT)
が有効あるいは無効を表す実行中断点指定実行有効フラ
グ(9)とを備え、 利用者から実行中断点指定実行指示(NEXT)に対応
して、上記実行中断点指定実行有効フラグ(9)が無効
のときに上記デバッグ情報(8)で中断点設定が可とな
っている全ての行に中断点(NEXT)を設定および有
効にセットした後、プログラム(6)を実行して中断点
で中断し、一方、有効のときにプログラム(6)を実行
して中断点で中断するように構成したことを特徴とする
実行中断点指定方式。
1. In an execution breakpoint designating method for designating an breakpoint for interrupting the execution of a program, debug information (8) storing whether or not the breakpoint of a program (6) to be debugged can be set, and a program to be debugged. Break point of (6) (NEXT)
Has an execution-breakpoint-designated-execution-effective flag (9) that indicates whether it is valid or invalid. At that time, after setting and setting the break point (NEXT) to all lines where the break point can be set in the debug information (8), the program (6) is executed to break at the break point. On the other hand, the execution breakpoint designating method characterized in that the program (6) is executed to suspend at the breakpoint when it is valid.
【請求項2】利用者から利用者中断点設定指示(AT)
に対応して、指示された行番号の位置に中断点(AT)
を設定するように構成したことを特徴とする請求項1記
載の実行中断点指定方式。
2. A user interrupt point setting instruction (AT) from the user
Corresponding to, the break point (AT) at the position of the designated line number
2. The execution interruption point designating method according to claim 1, wherein
【請求項3】利用者から実行再開指示(GO)に対応し
て、全ての中断点(NEXT)を削除および上記実行中
断点指定実行有効フラグ(9)を無効に設定した後、プ
ログラム(6)の実行を再開し、中断点(AT)で中断
あるいは中断せずに処理を終了するように構成したこと
を特徴とする請求項1記載および請求項2記載の実行中
断点指定方式。
3. A program (6) after deleting all the interruption points (NEXT) and setting the execution interruption point designation execution valid flag (9) to invalid in response to the execution resumption instruction (GO) from the user. 3. The execution interruption point designating method according to claim 1 or 2, wherein the execution of (1) is restarted and the processing is terminated at the interruption point (AT) or without interruption.
【請求項4】上記中断点の設定として、プログラム
(6)の該当位置にデバッガを呼び出すSVC命令を埋
め込むおよび元の命令を退避し、中断点の削除として、
SVC命令を退避した元の命令に戻すように構成したこ
とを特徴とする請求項1記載から請求項3記載の実行中
断点指定方式。
4. The setting of the break point includes embedding an SVC instruction for calling a debugger at a corresponding position of the program (6) and saving the original instruction to delete the break point.
4. The execution breakpoint designating method according to claim 1, wherein the SVC instruction is restored to the original instruction that has been saved.
JP04247034A 1992-09-17 1992-09-17 Debug device Expired - Fee Related JP3079238B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP04247034A JP3079238B2 (en) 1992-09-17 1992-09-17 Debug device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04247034A JP3079238B2 (en) 1992-09-17 1992-09-17 Debug device

Publications (2)

Publication Number Publication Date
JPH0695917A true JPH0695917A (en) 1994-04-08
JP3079238B2 JP3079238B2 (en) 2000-08-21

Family

ID=17157430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04247034A Expired - Fee Related JP3079238B2 (en) 1992-09-17 1992-09-17 Debug device

Country Status (1)

Country Link
JP (1) JP3079238B2 (en)

Also Published As

Publication number Publication date
JP3079238B2 (en) 2000-08-21

Similar Documents

Publication Publication Date Title
JPH0695917A (en) Method for specifying execution interrupting point
JP2922723B2 (en) Information processing device
JPH07101385B2 (en) Information processing equipment
JP2815638B2 (en) Debug device
JP7444610B2 (en) Context data management
JP2003186936A (en) Method and device for executing operation verification simulation and its program
JP2001166966A (en) Method for managing execution environment of program to be tested in debugger
JPS63178343A (en) System for setting interrupting point
JP2817473B2 (en) Debug system
JP3079825B2 (en) Electronic computer equipment
JP3104684B2 (en) How to debug
JPH0679283B2 (en) Interruption processing control method
JPS61180344A (en) Step execution system for high level language
JPH06332720A (en) Signal control method
KR100280404B1 (en) How to Support Multiple Interrupt Service Routines in DSP
JPH05241889A (en) Step execution system of machine instruction
JPH0695916A (en) Interruption point setting system
JPH0816431A (en) Debugging process system for user program
JPH01142943A (en) Register saving and reloading system
JP2000242524A (en) Software simulator for processor
JP2000250741A (en) Method for updating software
JPH08263317A (en) Check point and restart processing system
JPH02231634A (en) Method for maintaining interchangeability of software
JPH0317134B2 (en)
JPH08179958A (en) Electronic device for control

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: 20000425

LAPS Cancellation because of no payment of annual fees