JPH06187192A - Program output control method - Google Patents
Program output control methodInfo
- Publication number
- JPH06187192A JPH06187192A JP4338318A JP33831892A JPH06187192A JP H06187192 A JPH06187192 A JP H06187192A JP 4338318 A JP4338318 A JP 4338318A JP 33831892 A JP33831892 A JP 33831892A JP H06187192 A JPH06187192 A JP H06187192A
- Authority
- JP
- Japan
- Prior art keywords
- output
- program
- mode
- partial
- control method
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、計算機上で動作するプ
ログラムからの出力情報量の制御に係り、特にデバッグ
情報出力などにおいて好適なプログラム出力制御方法に
関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to control of output information amount from a program operating on a computer, and more particularly to a program output control method suitable for debug information output.
【0002】[0002]
【従来の技術】プログラムからの出力制御の従来方法と
しては、HITACマニュアルVOS3/ASジョブ制
御言語(平成3年5月第2版6180−3−144−1
0)に記載されているように、SPOOL装置(ライン
プリンタなどに出力する場合)に対する出力の場合に
は、当該ジョブ(プログラム)に許可する総出力最大量
(ページ206−208、又はページ247,248,
257)および、当該ジョブから発せられる個別出力毎
(ページ85,100)にその出力最大量を予めユーザ
自身が予測し、その予測した出力最大量の範囲内でプロ
グラムからの出力が可能であった。2. Description of the Related Art A conventional method of controlling output from a program is HITAC Manual VOS3 / AS Job Control Language (May 1991, Second Edition, 6180-3-144-1).
As described in 0), in the case of output to a SPOOL device (when outputting to a line printer or the like), the maximum total output (pages 206-208 or 247 248,
257) and for each individual output (page 85, 100) issued from the job, the user himself / herself predicted the maximum output amount, and the output from the program was possible within the predicted maximum output amount. .
【0003】また、磁気ディスク上のファイル等に出力
する場合にはそのファイルに予め割り当てられている領
域の大きさの範囲内で出力可能、あるいは、該領域の大
きさを、その計算機で規定されている有限回の領域拡張
を実施し、その総領域の大きさの範囲を超える情報の出
力は出来なかった。Further, when outputting to a file on a magnetic disk, it is possible to output within the range of the size of the area previously assigned to the file, or the size of the area is specified by the computer. The region was expanded a limited number of times, and the information exceeding the range of the size of the total region could not be output.
【0004】[0004]
【発明が解決しようとする課題】プログラムの出力に
は、プログラムが正常に動作した場合には不要である
が、異常動作をした場合に限り必要となる出力情報があ
る。例えば、プログラムの動作経緯を知るためプログラ
ム中の要所要所で、いわゆるデバッグ情報と呼ばれるメ
ッセージを出力する場合がある。この時に必要な情報は
プログラムに異常が発生し停止した時点からさかのぼっ
て、ある一定量の情報があれば(正常に動作している時
のデバッグ情報は不要と言う意味)良く、さらに、プロ
グラムが正常に動作した場合には該デバッグ情報全体が
不要である。The output of the program includes output information which is unnecessary when the program operates normally, but is necessary only when the program operates abnormally. For example, a message called so-called debug information may be output at a required place in the program in order to know the operation history of the program. The information required at this time is traced back from the time when the program stopped due to an abnormality, and it is good if there is a certain amount of information (meaning that debug information is not required when operating normally). When operating normally, the entire debug information is unnecessary.
【0005】上記従来技術では、このような一時的な大
量出力に対する考慮が成されておらず、そのためプログ
ラムを実行した結果としての総出力をユーザが予め予測
し、それを上回る量を当該プログラムの実行にさきがけ
指定する必要があるが、その予測が困難でありかつ、そ
のための出力領域の容量も膨大になると言う問題があっ
た。In the above-mentioned prior art, such a temporary large output is not taken into consideration. Therefore, the user predicts the total output as a result of executing the program in advance, and an amount exceeding the total output is calculated by the user. Although it is necessary to specify before execution, there is a problem that the prediction is difficult and the capacity of the output area for that purpose becomes huge.
【0006】本発明の目的は、上記問題を解決しうるプ
ログラム出力制御方法を提供する事にある。An object of the present invention is to provide a program output control method which can solve the above problems.
【0007】[0007]
【課題を解決するための手段】上記目的の達成のため、
本発明ではプログラムが出力した情報をそのまま全て出
力するための全出力モードと、該プログラムが出力した
情報の一部分のみを出力するための部分出力モードとを
設け、プログラム(ジョブ)実行時に目的に合わせてユ
ーザが選択可能とした。[Means for Solving the Problems] To achieve the above object,
According to the present invention, a full output mode for outputting all the information output by the program as it is and a partial output mode for outputting only a part of the information output by the program are provided to suit the purpose at the time of executing the program (job). User can select.
【0008】[0008]
【作用】全出力モードにおいては、プログラムからの出
力を従来どおりに、そのまま全て有効とし、該出力全て
を出力媒体上に保存する。部分出力モードにおいては、
あらかじめユーザが指定した出力量を超えない範囲内で
プログラムからの出力の内、最寄りの最新出力群のみを
出力媒体に保持する。したがって、プログラム本来の出
力は全出力モードを用いて従来互換が保てる。また、途
中経過などの多量のデバッグ情報等の出力には部分出力
モードを用いる事により、一定量の小さな領域を用い
て、デバッグに必要な最寄りの最新出力群が得られ、か
つ、予測の困難な多量のデバッグ情報等の出力の為に出
力上限を超えプログラムが異常終了すると言った事態も
無くなる。In the full output mode, all the outputs from the program are valid as they are, and all the outputs are saved on the output medium as in the conventional case. In partial output mode,
Among the outputs from the program, only the nearest latest output group is held in the output medium within the range not exceeding the output amount designated by the user in advance. Therefore, the original output of the program can be kept compatible by using the all output mode. In addition, the partial output mode is used to output a large amount of debug information such as the progress, so the nearest latest output group necessary for debugging can be obtained using a small amount of a certain area, and it is difficult to predict. Even if the output limit is exceeded and the program terminates abnormally due to the output of a large amount of debug information, etc., it disappears.
【0009】さらに、部分出力モードにおいては、出力
先装置がSPOOL装置の場合にはプログラムからの出
力を保存するかしないかを、プログラム実行時に指定可
能とし、(1)該指定が成されている場合にはその指定
に従い、(2)指定されていない場合には、プログラム
実行が正常終了時には当該出力を保存せず、異常終了時
には当該出力を保存するようにしたので不要な多量のデ
バッグ情報等の出力の為にシステム全体のリソースであ
るSPOOL装置の利用効率の悪化を防止できる。Further, in the partial output mode, when the output destination device is a SPOOL device, it is possible to specify when the program is executed whether or not to save the output from the program, and (1) the specification is made. In that case, according to the specification, (2) If not specified, the output is not saved when the program execution ends normally, and the output is saved when the program ends abnormally, so a large amount of unnecessary debug information, etc. It is possible to prevent the deterioration of the utilization efficiency of the SPOOL device, which is the resource of the entire system, due to the output of.
【0010】[0010]
【実施例】以下、本発明の一実施例を述べる。図1は全
体構成を示し、10はユーザジョブで、プログラム実行
時に必要となる各種リソース等を定義するジョブ制御文
群11と実行するプログラム12から成る。100はジ
ョブ制御文群11を解釈する制御文解釈ルーチン、20
0はその解釈した結果を保存するテーブルである。30
0はプログラム12からの出力要求に呼応して動作する
出力制御ルーチンであり、全出力制御部500と今回新
たに設けた出力モード判定ステップ310および、部分
出力制御部400から成る。20はプログラム実行時制
御文群11で定義された出力先媒体であり、本実施例で
はSPOOL装置を仮定し、SPOOL 装置20上には、当
該プログラムの出力用領域として、従来制御方式の全出
力領域21と今回新たに設けた部分出力領域22があ
る。600はジョブ終了時制御ルーチンであり、前記各
出力領域21,22をジョブ実行完了後もSPOOL装
置20上にそのまま保存しておくか削除するかを制御す
る。EXAMPLE An example of the present invention will be described below. FIG. 1 shows the overall configuration, and 10 is a user job, which is composed of a job control statement group 11 that defines various resources and the like required when executing a program, and a program 12 to be executed. Reference numeral 100 is a control statement interpretation routine for interpreting the job control statement group 11, and 20
0 is a table for storing the interpreted result. Thirty
Reference numeral 0 is an output control routine that operates in response to an output request from the program 12, and includes an all output control unit 500, an output mode determination step 310 newly provided this time, and a partial output control unit 400. Reference numeral 20 denotes an output destination medium defined by the program runtime control statement group 11. In the present embodiment, a SPOOL device is assumed, and on the SPOOL device 20, as the output area of the program, all outputs of the conventional control method are output. There is a region 21 and a partial output region 22 newly provided this time. Reference numeral 600 denotes a job end control routine, which controls whether each of the output areas 21 and 22 is stored in the SPOOL device 20 as it is after the job execution is completed or deleted.
【0011】以下、本実施例における動作を図1を用い
て説明をする。まず、本実施例の、ジョブ制御文群11
は以下のように定義されているものと仮定する。なお、
以下の説明では、HITACマニュアルVOS3/AS
ジョブ制御言語(平成3年5月第2版6180−3−1
44−10)の記載をベースに述べる。The operation of this embodiment will be described below with reference to FIG. First, the job control statement group 11 of this embodiment
Is defined as follows. In addition,
In the following description, HITAC manual VOS3 / AS
Job control language (May 1991 second edition 6180-3-1
44-10) will be described as a base.
【0012】 //jobid JOB ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・1 ・ ・ ・ //stepname EXEC PGM=prog1 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・2 //FT06F001 DD SYSOUT=A,OUTLIM=(1000)・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・3 //FT07F001 DD SYSOUT=A,OUTLIM=(200,,ROUND),DISP=(,DELETE,KEEP)・・・・・4 ・ ・ ・ // ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・5 上記において制御文1はジョブの開始を、制御文5は終
わりを示す文である。制御文2はプログラム(ジョブス
テップ)の開始を示す文であり、prog1なるプログラム
12の実行開始を指定している。以降の制御文3,4は
当該プログラム12の実行で出力する情報の出力先を指
定する文である。制御文3は従来方式の指定方法であ
り、本制御文先頭の「//」に続くDD名と呼ばれる
「FT06F001」でプログラム中の出力文と対応が
とられる。[0012] // jobid JOB・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ 1 ・ ・ ・ // stepname EXEC PGM = prog1 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・・ ・ ・ ・ ・ ・ ・ ・ ・ 2 // FT06F001 DD SYSOUT = A, OUTLIM = (1000) ・ ・ ・ ・ ・ ・・ ・ ・ ・ ・ ・ ・ 3 // FT07F001 DD SYSOUT = A, OUTLIM = (200,, ROUND), DISP = (, DELETE, KEEP) ・ ・ ・ ・ ・ 4 ・ ・ ・ // ・ ・ ・ ・..................... ........................ 5 In the above, the control statement 1 is a statement indicating the start of the job, and the control statement 5 is a statement indicating the end. The control statement 2 is a statement indicating the start of the program (job step), and specifies the start of execution of the program 12 called prog1. The following control statements 3 and 4 are statements that specify the output destination of the information output when the program 12 is executed. The control statement 3 is a conventional method of designation, and is associated with the output statement in the program by "FT 06 F001" called a DD name following "//" at the head of the control statement.
【0013】本実施例ではFORTRANプログラムを
例とし、プログラム中で「WRITE(6,100)出力デ
ータ群」のように書けばアンダーライン部の番号により
対応が取られる。なお、このアンダーライン部の番号は
装置識別子と呼ばれている。[0013] In this embodiment as an example of FORTRAN programs corresponding the number of the underline part if written as "WRITE (6, 100) the output data group" in the program is taken. The number of the underlined part is called the device identifier.
【0014】さらに、「SYSOUT=A」は出力先と
してSPOOL装置(ラインプリンタなどへの出力)
を、「OUTLIM=(1000)」は当該出力の出力
量の上限を規定するものであり、この場合には、100
0行を上限として指定しており、プログラムからの当該
出力がこの値を超えるとジョブが異常終了する。制御文
4への出力の場合にも同様にプログラム中で「WRIT
E(7,110)出力データ群」のように書けば前述の
ように装置識別子により対応が取られ、当該制御文の指
定に従った出力がなされる。Further, "SYSOUT = A" means a SPOOL device (output to a line printer) as an output destination.
“OUTLIM = (1000)” defines the upper limit of the output amount of the output, and in this case, 100
The 0 line is specified as the upper limit, and if the output from the program exceeds this value, the job ends abnormally. Similarly, in the case of output to control statement 4, "WRIT
E (7, 110) accommodated by the device identifier as described above to write as output data group "is taken, the output in accordance with the specification of the control statement is made.
【0015】この制御文4は、部分出力モードによる出
力を指定しており、OUTLIM=(200,,ROU
ND)とDISP=(,DELETE,KEEP)のア
ンダーラインで示す部分が本実施例の特徴である部分出
力制御に関する定義であり本実施例で新たに指定可能、
もしくは、他の指定と組み合わせ可能にした部分であ
り、その他は、制御文3と同様の意味をもつ。OUTL
IM=(200,,ROUND)の200は制御文3と
同様に出力上限を200行と指定しているが、この場合
には、プログラムからの当該出力の内、最新出力200
行分のみを出力領域21上に保持する事を意味する。ま
た、DISP=(,DELETE,KEEP)はジョブ
終了時に、当該出力情報を保存するか削除するかを指定
しており、カッコ内の最初のカンマは第1パラメータが
省略されている事を示し、第2パラメータのDELET
Eはジョブが正常終了した場合には当該出力情報を削除
する事を示し、第3パラメータのKEEPはジョブが異
常終了した場合には当該出力情報を保存する事を指定し
ている。This control statement 4 specifies output in the partial output mode, and OUTLIM = (200 ,, ROU
ND ) and DISP = (, DELETE, KEEP) are underlined, which is a definition relating to partial output control, which is a feature of this embodiment, and can be newly specified in this embodiment.
Alternatively, it is a part that can be combined with other designations, and the other has the same meaning as the control statement 3. OUTL
IM = (200,, ROUND) 200 specifies the output upper limit as 200 lines similarly to the control statement 3, but in this case, the latest output 200 among the outputs from the program is specified.
This means that only the lines are held in the output area 21. DISP = (, DELETE, KEEP) specifies whether to save or delete the output information at the end of the job, and the first comma in parentheses indicates that the first parameter is omitted. Second parameter DELET
E indicates that the output information is deleted when the job ends normally, and KEEP of the third parameter specifies that the output information is saved when the job ends abnormally.
【0016】なお、第2パラメータ,第3パラメータに
はDELETE,KEEPのいずれも指定可能である
が、指定が省略された場合には、前記のDISP=(,
DELETE,KEEP)が指定されたものと解釈す
る。以上でジョブ制御文群11の説明を終え、次に、こ
れら制御文を上記の意味に従って解釈する制御文解析ル
ーチン100について述べる。Note that either DELETE or KEEP can be specified as the second parameter and the third parameter, but if the specification is omitted, the above DISP = (,
DELETE, KEEP) is specified. Above, the description of the job control statement group 11 is completed, and then a control statement analysis routine 100 for interpreting these control statements in accordance with the above meaning will be described.
【0017】ユーザジョブ10の実行が開始されると、
まず、制御文解析ルーチン100により前記ジョブ制御
文群11が解析され、解析結果保持テーブル200が作
成される。実施例の場合には前述のジョブ制御文1から
5の内、3と4が出力に関する制御文であり、これらの
解析結果が解析結果保持テーブル200に保存される。When the execution of the user job 10 is started,
First, the control statement analysis routine 100 analyzes the job control statement group 11 and creates an analysis result holding table 200. In the case of the embodiment, among the above-mentioned job control statements 1 to 5, 3 and 4 are control statements relating to output, and the analysis results of these are stored in the analysis result holding table 200.
【0018】すなわち、本実施例においては、図2に示
すようにテーブル200のエントリ210には、前記制
御文3の解析結果として、識別子フィールド211には
FT06F001をセットし、出力モードフィールド2
12には全出力モード(従来方式)を示す「0」をセッ
トし、出力上限値フィールド213には「1000」を
セットし、さらに、フィールド214にはジョブ正常終
了時に、当該出力情報を保存するか削除するかを示す値
をセットする。フィールド215にはジョブ異常終了時
に対する同様の値をセットする。本制御文3は前述のよ
うに従来方式の指定であり、この場合には両フィールド
には保存を示す「0」がセットされる。同様に、制御文
4の解析結果として、エントリ220の識別子フィール
ド221にはFT07F001をセットし、出力モード
フィールド222には部分出力モードを示す「1」をセ
ットし、出力上限値フィールド223には「200」を
セットし、さらに、フィールド224にはジョブ正常終
了時に、当該出力情報を削除する事を示す「1」をセッ
トし、フィールド225にはジョブ異常終了時に出力情
報を保存する事を示す「0」をセットする。また、フィ
ールド216,226は出力ポインタであり、初期化の
ため「0」をセットしておく。次に、制御文解析ルーチ
ン100は、前記出力上限値フィールド213,223
の値を基に各出力用の領域21,22をSPOOL装置
21に割り当てる。この処理は従来方式により実施すれ
ば良く詳細は省略する。以上述べたようにジョブ制御文
の解析と出力領域等のリソースの準備が完了するとプロ
グラム12の実行が開始され、その処理の中で出力要求
が出される。この出力要求は、本発明の中核である出力
制御ルーチン300により処理される。次に、この出力
制御ルーチン300の動作を説明する。That is, in this embodiment, as shown in FIG. 2, FT06F001 is set in the identifier field 211 in the entry 210 of the table 200 as the analysis result of the control statement 3, and the output mode field 2 is set.
12 is set to "0" indicating the all output mode (conventional method), "1000" is set to the output upper limit value field 213, and the output information is stored in the field 214 when the job normally ends. Set a value indicating whether to delete. In the field 215, the same value as when the job ends abnormally is set. As described above, this control statement 3 specifies the conventional method, and in this case, "0" indicating saving is set in both fields. Similarly, as the analysis result of the control statement 4, FT07F001 is set in the identifier field 221 of the entry 220, “1” indicating the partial output mode is set in the output mode field 222, and “1” is set in the output upper limit value field 223. "200" is set, and further, "1" indicating that the output information is deleted when the job ends normally is set in the field 224, and "2" indicating that the output information is saved when the job ends abnormally in the field 225. 0 ”is set. The fields 216 and 226 are output pointers, and “0” is set for initialization. Next, the control statement analysis routine 100 uses the output upper limit value fields 213 and 223.
The output areas 21 and 22 are allocated to the SPOOL apparatus 21 based on the value of. This processing may be performed by a conventional method, and the details will be omitted. As described above, when the analysis of the job control statement and the preparation of the resources such as the output area are completed, the execution of the program 12 is started, and the output request is issued in the processing. This output request is processed by the output control routine 300, which is the core of the present invention. Next, the operation of the output control routine 300 will be described.
【0019】図1に示すユーザプログラム12から出力
要求が発せられると、制御ルーチン300に制御が渡
る。制御が渡ると、制御ルーチン300はステップ31
0で出力モードの判定を実施し、通常モードであれば制
御部500により出力領域21にそのまま出力する。部
分出力モードであれば部分制御部400ではラップアラ
ンド方式により出力領域22に、出力する。When an output request is issued from the user program 12 shown in FIG. 1, control is passed to the control routine 300. If control is passed, control routine 300 proceeds to step 31.
When the output mode is 0, the output mode is determined. In the partial output mode, the partial controller 400 outputs to the output area 22 by the wraparound method.
【0020】この処理を図2,図3を用いてもう少し詳
しくのべる。まず、始めに前記制御文3で定義した従来
方式による出力領域21への出力動作を述べる。This process will be described in more detail with reference to FIGS. First, the output operation to the output area 21 according to the conventional method defined by the control statement 3 will be described.
【0021】図3に示すように、ステップ305では、
前記のジョブ制御文解析ルーチン100の出力である解
析結果保持テーブル200(図2)上より、当該制御部
に制御が渡ってきた時の当該出力要求に対応するエント
リを取り出す。今、ユーザプログラム12から「WRI
TE(6,100)・・・」なる出力要求が発せられた
とすると、前記説明したようにジョブ制御文の文先頭の
「//」に続くDD名が「FT06F001」である前
記制御文3で定義した装置への出力であり、それに対応
する識別子フィールド211(図2)を持つテーブル2
00上のエントリ210を取り出す。引き続くステップ
310では、エントリ210のフィールド212の値を
調べ出力モード判定を実施する。この時フィールド21
2の値は0であり、これは前記ジョブ制御文でも述べた
ように従来方式による通常モードを示しており、制御部
500に制御が渡る。制御部500では、ステップ32
0で当該出力に対する出力行数を計測するためフィール
ドであるLCOUNT216(図2)に1を加え、その
後、ステップ321でフィールド213(図2)上の出
力上限値と比較する。比較条件が成立する場合は出力量
超過によりジョブを異常終了させるため、ステップ32
3により後述するジョブ終了時出力制御ルーチンに制御
が渡される。一方、比較条件が不成立の場合には、ステ
ップ322で領域21(図1)のLCOUNT目に当該
出力データを書き込み、ステップ334にてユーザプロ
グラム12へ戻る。As shown in FIG. 3, in step 305,
From the analysis result holding table 200 (FIG. 2) which is the output of the job control statement analysis routine 100, the entry corresponding to the output request when control is passed to the control unit is taken out. Now, from the user program 12, "WRI
If an output request "TE ( 6 , 100) ..." is issued, the control statement in which the DD name following the sentence head "//" of the job control statement is "FT 06 F001" as described above. Table 2 which is an output to the device defined in 3 and has an identifier field 211 (FIG. 2) corresponding to it.
The entry 210 on 00 is taken out. In the following step 310, the value of the field 212 of the entry 210 is checked to make the output mode determination. Field 21 at this time
The value of 2 is 0, which indicates the normal mode by the conventional method as described in the job control statement, and the control is passed to the control unit 500. In the control unit 500, step 32
At 0, 1 is added to LCOUNT 216 (FIG. 2) which is a field for measuring the number of output lines for the output, and then at step 321, it is compared with the upper limit output value on field 213 (FIG. 2). If the comparison condition is satisfied, the job is abnormally terminated due to the output amount being exceeded, and therefore, step 32
The control is transferred to the output control routine at the end of the job described later by 3. On the other hand, if the comparison condition is not satisfied, the output data is written in the LCOUNT of the area 21 (FIG. 1) in step 322, and the process returns to the user program 12 in step 334.
【0022】以上で従来の通常モードにおける方式の説
明を終え、次に、今回新たに設けた、部分出力モードの
動作を説明する。Above, the description of the conventional system in the normal mode is completed, and next, the operation in the partial output mode newly provided this time will be described.
【0023】ユーザプログラム12から「WRITE
(7,110)・・・」なる出力要求が発せられたとす
ると、前記同様にジョブ制御文の文先頭の「//」に続
くDD名が「FT07F001」である前記制御文4で
定義した装置への出力であり、それに対応する識別子フ
ィールド221(図2)を持つテーブル200上のエン
トリ220を取り出す。引き続くステップ310で前記
同様に出力モード判定を実施する。この時フィールド2
22の値は1であり、これは前記ジョブ制御文でも述べ
たように部分出力モードを示しており、制御部400に
制御が渡る。制御部400のステップ330で当該出力
に対する出力行数を計測するためフィールドであるLC
OUNT226(図2)に1を加え、その後、ステップ
331でフィールド223(図2)上の出力上限値と比
較する。From the user program 12, "WRITE
( 7 , 110) ... ”is output, the same as above, the job control statement is defined by the control statement 4 in which the DD name following“ // ”is“ FT 07 F001 ”. Which is an output to the device that has made a request and which has an identifier field 221 (FIG. 2) corresponding thereto, is retrieved from the entry 220 on the table 200. In the subsequent step 310, the output mode determination is performed as described above. Field 2 at this time
The value of 22 is 1, which indicates the partial output mode as described in the job control statement, and control is passed to the control unit 400. An LC field for measuring the number of output lines for the output in step 330 of the control unit 400.
One is added to OUNT 226 (FIG. 2), and then, in step 331, the output upper limit value on field 223 (FIG. 2) is compared.
【0024】比較条件が成立する場合には先ほど説明し
た通常モードの場合とは異なり、ステップ332で出力
位置ポインタでもあるLCOUNT226に1をセット
し、出力位置を領域22の先頭に戻し、ステップ333
で領域22(図1)のLCOUNT目、すなわち、領域22の
先頭にラップアランドさせて当該出力データを書き込
み、ステップ334にてユーザプログラム12へ戻る。When the comparison condition is satisfied, unlike in the case of the normal mode described above, 1 is set in the LCOUNT 226 which is also the output position pointer in step 332, the output position is returned to the head of the area 22, and step 333 is executed.
Then, the output data is written by wrapping it around the LCOUNTth area of the area 22 (FIG. 1), that is, the head of the area 22, and the process returns to the user program 12 in step 334.
【0025】一方、比較条件が不成立の場合には、ステ
ップ333で領域22(図1)中のステップ330で求
めたLCOUNT目そのままの位置に、当該出力データ
を書き込み、ステップ334にてユーザプログラム12
へ戻る。On the other hand, when the comparison condition is not satisfied, in step 333, the output data is written into the area 22 (FIG. 1) in the same position as the LCOUNT eye obtained in step 330, and in step 334, the user program 12 is written.
Return to.
【0026】本実施例では、以上のようにしてラップア
ランド方式により部分制御モードにおける出力を実施す
る。このようにして、出力制御ルーチン300はプログ
ラム12の実行が終了するまで、プログラムからの出力
要求の都度繰り返し処理する。In this embodiment, the output in the partial control mode is carried out by the wraparound method as described above. In this way, the output control routine 300 repeatedly processes each output request from the program until the execution of the program 12 is completed.
【0027】次に、プログラム12の実行が終了する時
に実行されるジョブ終了時出力制御ルーチン600の動
作を説明する。Next, the operation of the job end output control routine 600 executed when the execution of the program 12 ends will be described.
【0028】本制御ルーチン600は、オペレーティン
グシステムの一部であるジョブ終了時ルーチン(図示せ
ず)やジョブステップ終了時ルーチン(図示せず)によ
り起動される。起動されると、図4に示すようにテーブ
ル200(図2)のエントリを一個ずつ取りだし、その
エントリの内容に従って、これまでに出力されているユ
ーザプログラム12からの出力情報群を保存したりしな
かったりする。The control routine 600 is started by a job end routine (not shown) and a job step end routine (not shown) which are part of the operating system. When activated, the table 200 (FIG. 2) is fetched one by one as shown in FIG. 4, and the output information group output from the user program 12 is output according to the contents of the entry. There are none.
【0029】本実施例では、まず、ステップ605でテ
ーブル200の先頭エントリ210(図2)を取りだ
し、ステップ606でテーブル200の終わりを示すe
ndマークをチェックする。今は、判定が成立せず引き
続くステップ610が実行される。In this embodiment, first, in step 605, the head entry 210 (FIG. 2) of the table 200 is taken out, and in step 606, the end of the table 200 is indicated.
Check the nd mark. At this time, the determination is not established and the following step 610 is executed.
【0030】ステップ610では、前記エントリ210
のフィールド212(図2)をチェックし、その値が0
であるので前述したように通常モードで出力された事を
示してており、判定が成り立ち、ステップ700が実行
され、当該出力情報を出力媒体20(図1)上の領域2
1として保存し、次に、ステップ850にてテーブル2
00(図2)の取りだしポインタを一つ進め、ステップ
605に戻り、次のエントリ220が上記同様に取り出
され処理される。エントリ220は取りだされると、先
程と同様にステップ606にてendマークか否かを判
定した後、ステップ610にて出力モードの判定が成さ
れ、この場合には前記エントリ220のフィールド22
2(図2)の値が1であるので判定は成り立たず、ステッ
プ810が実行される。In step 610, the entry 210
Check the field 212 (Fig. 2) of the
Therefore, the output is in the normal mode as described above, the determination is made, step 700 is executed, and the output information is output to the area 2 on the output medium 20 (FIG. 1).
1 and then in step 850 table 2
The fetch pointer of 00 (FIG. 2) is advanced by one, the process returns to step 605, and the next entry 220 is fetched and processed in the same manner as above. When the entry 220 is taken out, the output mode is determined in step 610 after determining whether it is the end mark in step 606 as in the previous case. In this case, the field 22 of the entry 220 is determined.
Since the value of 2 (FIG. 2) is 1, the determination cannot be established and step 810 is executed.
【0031】ステップ810では、当該ジョブが正常終
了かどうかを調べ、正常終了であればステップ820に
進む。ステップ820では正常終了時の動作を示すフラ
ッグ224の値を調べ、その値に従って当該出力情報を
出力媒体20(図1)上の領域22として保存したり、
しなかったりを制御する。今、フラッグ224の値は1
であり、この場合には前述のように本実施例では、ジョ
ブ正常終了時には当該出力を保存しない事を表しており
(判定が成立ち)、ステップ840に処理が進み当該出
力領域22を出力媒体20(図1)上から削除する。In step 810, it is checked whether or not the job is completed normally, and if it is completed normally, the process proceeds to step 820. In step 820, the value of the flag 224 indicating the operation at the normal end is checked, and the output information is saved as the area 22 on the output medium 20 (FIG. 1) according to the value,
Control what doesn't. Now the value of flag 224 is 1
In this case, as described above, in the present embodiment, the output is not saved when the job ends normally (determination is successful), and the process proceeds to step 840 to output the output area 22 to the output medium. 20 (FIG. 1).
【0032】一方、当該ジョブが異常終了の場合には、
前記ステップ810の判定が成り立たずステップ830
に進む。ステップ830では異常終了時の動作を示すフ
ラッグ225の値を調べ、その値に従って正常終了時と
同様に、当該出力情報を出力媒体20(図1)上の領域
22として保存したり、しなかったりを制御する。今、
フラッグ225の値は0であり、この場合には本実施例
では当該出力を保存する事を表しており(判定が成り立
たず)、ステップ700に処理が進み、当該出力情報を
出力媒体20(図1)上の領域22として保存する。On the other hand, if the job ends abnormally,
The determination in step 810 does not hold and step 830
Proceed to. At step 830, the value of the flag 225 indicating the operation at the time of abnormal end is checked, and the output information is stored or not stored as the area 22 on the output medium 20 (FIG. 1) in the same manner as at the normal end according to the value. To control. now,
The value of the flag 225 is 0. In this case, this embodiment indicates that the output is to be stored (judgment does not hold), and the process proceeds to step 700 to transfer the output information to the output medium 20 (see FIG. 1) Save as upper area 22.
【0033】以上のようにして、ユーザが目的に応じ
て、従来方式の出力(前記従来形式の制御文3で指定)
と部分出力方式(前記制御文4の形式で指定)とを選択
可能としての従来互換を保ちつつ、さらに、部分出力方
式では、本実施例のように、200行分の小さな領域の
みを用意し、この領域をラップアランドさせて用いるよ
うにしたので、トレース情報等の大量かつその出力量が
予め把握困難なデバッグ情報の出力において、本来は二
次的な情報であるデバッグ情報の出力自体が出力量超過
となりプログラム実行が異常終了させられることが無く
なる。As described above, the user outputs according to the conventional method according to the purpose (specified by the control statement 3 in the conventional format).
And a partial output method (designated by the format of the control statement 4) can be selected while maintaining the conventional compatibility. Furthermore, in the partial output method, only a small area for 200 lines is prepared as in the present embodiment. Since this area is used as a wraparound, the output of debug information, which is originally a secondary information, is output when a large amount of trace information and the output of debug information whose output amount is difficult to grasp in advance. It will not be overkill and program execution will not be terminated abnormally.
【0034】また、プログラムの異常終了時に、その状
況を把握するには、それまでの全てのトレース情報が必
ずしも必要ではなく、異常終了する直前からの情報のみ
有れば良い。言い換えれば異常終了した時点からさかの
ぼって最新情報がある程度あれば十分であり、本実施例
のようなラップアランド方式を取ることにより出力領域
の使用効率(出力媒体20の利用効率)も向上する。さ
らに、正常終了時には、領域22を削除することによ
り、さらなる出力領域の使用効率の向上が図れる。Further, in order to grasp the situation when the program ends abnormally, not all the trace information up to that point is necessary, but only the information immediately before the abnormal end is necessary. In other words, it suffices that the latest information goes back to some extent from the time of abnormal termination, and the use efficiency of the output area (use efficiency of the output medium 20) is also improved by adopting the wraparound method as in this embodiment. Further, at the time of normal termination, by deleting the area 22, the use efficiency of the output area can be further improved.
【0035】[0035]
【発明の効果】本発明では、部分出力モードを設け、従
来方式との使い分けを可能としたので、必要に応じ部分
出力モードを用いる事により従来互換を保ちつつ、さら
に、部分出力方式では、少容量の出力領域に必要な量の
最新出力情報のみを保持しておくことが可能となる。特
に、トレース情報等の大量かつその出力量が予め把握困
難なデバッグ情報等の出力においては多量の計算機リソ
ース(出力用にリザーブされる各種記憶媒体上の領域)
が必要無くなり、その利用効率が向上する、とともに、
出力上限値の予測誤りによりユーザプログラムが目的情
報を出力するに至らずに異常終了すると言った事態も回
避可能となる。According to the present invention, since the partial output mode is provided and it is possible to selectively use the partial output mode, the partial output mode can be used as necessary to maintain compatibility with the conventional method. It is possible to hold only the necessary latest output information in the capacity output area. In particular, when outputting a large amount of trace information and debug information whose output is difficult to grasp in advance, a large amount of computer resources (areas on various storage media reserved for output)
Is not required, and its utilization efficiency is improved, and
It is also possible to avoid a situation in which the user program ends abnormally without outputting the target information due to an incorrect output upper limit value.
【図面の簡単な説明】[Brief description of drawings]
【図1】本発明の実施例を示す全体構成図。FIG. 1 is an overall configuration diagram showing an embodiment of the present invention.
【図2】実施例におけるジョブ制御文解析結果内容を示
す説明図。FIG. 2 is an explanatory diagram showing the contents of a job control statement analysis result in the embodiment.
【図3】実施例における出力制御ルーチン300の動作
フロー図。FIG. 3 is an operation flow chart of an output control routine 300 in the embodiment.
【図4】実施例におけるジョブ終了時出力制御ルーチン
600の動作フロー図。FIG. 4 is an operation flowchart of a job end output control routine 600 in the embodiment.
10…ユーザジョブ、20…出力媒体(SPOOL)装
置、100…制御文解析ルーチン、200…解析結果保
持テーブル、300…出力制御ルーチン、600…ジョブ
終了時出力制御ルーチン。10 ... User job, 20 ... Output medium (SPOOL) device, 100 ... Control statement analysis routine, 200 ... Analysis result holding table, 300 ... Output control routine, 600 ... Job end output control routine.
Claims (6)
力を制御する方法であって、該プログラムが出力した情
報をそのまま全て出力するための全出力モードと、該プ
ログラムが出力した情報の一部分のみを出力するための
部分出力モードとを設けた事を特徴とするプログラム出
力制御方法。1. A method for controlling output from a program operating on a computer, which is an all output mode for outputting all the information output by the program as it is, and only a part of the information output by the program. And a partial output mode for outputting a program output control method.
て、(1)全出力モードにおいては、プログラムからの
出力をそのまま全て有効とし、該出力全てを出力媒体上
に保存し、(2)部分出力モードにおいては、あらかじ
め指定された出力量を超えない範囲内でプログラムから
の出力の内、最寄りの最新出力群のみを出力媒体に保持
することを特徴とするプログラム出力制御方法。2. The program output control method according to claim 1, wherein in the (1) full output mode, all outputs from the program are valid as they are, and all the outputs are saved on an output medium, and (2) partial output. In the mode, the program output control method is characterized in that among the outputs from the program, only the nearest latest output group is held on the output medium within a range not exceeding the output amount designated in advance.
グラムからの出力総量を制御する方法であって、あらか
じめ指定された出力量とは、出力媒体に保持すべきデー
タの量、もしくは、該出力用として用意されている出力
領域であることを特徴とするプログラム出力制御方法。3. A method for controlling the total output amount from a program in the partial output mode according to claim 2, wherein the predetermined output amount is the amount of data to be held in an output medium or the output. A program output control method characterized in that the output area is prepared for use.
よって、プログラムからの出力を保存するかしないかの
制御を行うことを特徴とするプログラム出力制御方法。4. A program output control method, which controls whether or not to save the output from the program, depending on whether or not the program execution is normally completed.
て、当該制御対象がSPOOL(Simultaneous Perihera
l Operation On-line)装置への出力の場合であって、プ
ログラムからの出力を保存するかしないかを、プログラ
ム実行時に指定可能であり、 (1)該指定が成されている場合にはその指定に従い、
(2)指定されていない場合には、(a)請求第1項の
全出力モードにおいては、プログラム実行が正常終了時
にも異常終了時にも、当該出力を保存し、(b)請求第
1項の部分出力モードにおいては、プログラム実行が正
常終了時には当該出力を保存せず、異常終了時には当該
出力を保存することを特徴とするプログラム出力制御方
法。5. The control method according to claim 1, wherein the controlled object is a SPOOL (Simultaneous Perihera).
l Operation On-line) In the case of output to the device, it is possible to specify whether to save the output from the program when executing the program. (1) If the specification is made, As specified
(2) If not specified, (a) in the all output mode of claim 1, the output is saved both when the program execution ends normally and abnormally, and (b) claim 1 In the partial output mode, the program output control method is characterized in that the output is not saved when the program execution ends normally, and the output is saved when the program execution ends abnormally.
て、出力先がSPOOL装置の場合においては、(1)
全出力モードにおいては、プログラムからの出力量をカ
ウントし、あらかじめプログラム実行時に指定された出
力量の上限値とチェックし、超えている場合には当該出
力要求元ジョブの実行を中断し、(2)部分出力モード
においては、当該部分出力モードでのプログラムからの
出力量制御は、前記の出力量の上限値チェックにおい
て、上限値を超えている場合には、当該出力領域の先頭
に戻り、出力を継続することを特徴とするプログラム出
力制御方法。6. The program output control method according to claim 1, wherein when the output destination is a SPOOL device, (1)
In the all output mode, the output amount from the program is counted, the upper limit value of the output amount specified at the time of program execution is checked in advance, and if it exceeds, the execution of the output request source job is interrupted, and (2 ) In the partial output mode, the output amount control from the program in the partial output mode is performed by returning to the head of the output area when the upper limit value of the output amount is exceeded and the output amount is controlled. A method for controlling program output, characterized by continuing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4338318A JPH06187192A (en) | 1992-12-18 | 1992-12-18 | Program output control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4338318A JPH06187192A (en) | 1992-12-18 | 1992-12-18 | Program output control method |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06187192A true JPH06187192A (en) | 1994-07-08 |
Family
ID=18317012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4338318A Pending JPH06187192A (en) | 1992-12-18 | 1992-12-18 | Program output control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06187192A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08314765A (en) * | 1995-05-15 | 1996-11-29 | Nec Corp | Debug information collecting system |
KR101869341B1 (en) * | 2017-12-20 | 2018-07-20 | 국방과학연구소 | Data output system and method for data output thereof |
JP2019079506A (en) * | 2017-10-19 | 2019-05-23 | 三星電子株式会社Samsung Electronics Co.,Ltd. | Nonvolatile memory device and operation process thereof |
-
1992
- 1992-12-18 JP JP4338318A patent/JPH06187192A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08314765A (en) * | 1995-05-15 | 1996-11-29 | Nec Corp | Debug information collecting system |
JP2019079506A (en) * | 2017-10-19 | 2019-05-23 | 三星電子株式会社Samsung Electronics Co.,Ltd. | Nonvolatile memory device and operation process thereof |
KR101869341B1 (en) * | 2017-12-20 | 2018-07-20 | 국방과학연구소 | Data output system and method for data output thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6553487B1 (en) | Device and method for performing high-speed low overhead context switch | |
JP2692609B2 (en) | Multitask program debugging method and apparatus | |
JP2014238876A (en) | Method, system and apparatus for providing document preview | |
JPH06187192A (en) | Program output control method | |
JP2922723B2 (en) | Information processing device | |
EP0206335B1 (en) | Interruption method for a data processing system | |
KR900008402A (en) | The processor system most appropriate for the save and restore method and its implementation. | |
JPH02165353A (en) | Conversation type data processing system | |
JP2795676B2 (en) | Program trace device | |
JPH05346867A (en) | Processor for restarting data transfer | |
JP2506591B2 (en) | Auxiliary processor | |
JP3812278B2 (en) | Recording medium and computer | |
JPS62194559A (en) | Memory scheduling system of program in virtual storage system | |
JP2629051B2 (en) | File organization information acquisition processing method | |
JP2551075B2 (en) | Overlay structure program execution method | |
JPS59189452A (en) | Queue structure for data processor | |
JPS6237411B2 (en) | ||
JPH05342052A (en) | Debugging system | |
JPH0221329A (en) | Report output system | |
JPS58165126A (en) | Output controlling system of related job group | |
Markstein | Operating system specification using very high level dictions. | |
JPH05181712A (en) | Stack history forming system | |
JPH0764820A (en) | Debugging processor | |
JPH1027153A (en) | Bus transfer device | |
JPH09325892A (en) | Job parallel execution control method |