JPH04333935A - Call命令の引数自動検査処理方式 - Google Patents

Call命令の引数自動検査処理方式

Info

Publication number
JPH04333935A
JPH04333935A JP3133465A JP13346591A JPH04333935A JP H04333935 A JPH04333935 A JP H04333935A JP 3133465 A JP3133465 A JP 3133465A JP 13346591 A JP13346591 A JP 13346591A JP H04333935 A JPH04333935 A JP H04333935A
Authority
JP
Japan
Prior art keywords
argument
program
arguments
called
data area
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
Application number
JP3133465A
Other languages
English (en)
Inventor
Akihiko Takahashi
明彦 高橋
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP3133465A priority Critical patent/JPH04333935A/ja
Publication of JPH04333935A publication Critical patent/JPH04333935A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、各種のプログラム言語
(COBOL等)で記述されたコンピュータプログラム
(以下、プログラムという)の開発時等におけるデバッ
グ処理に関し、特に呼ぶプログラムおよび呼ばれるプロ
グラムを含みCALL命令(ここでは「引数指定のCA
LL命令」をいうものとする)の引数によりデータの受
渡しを行うプログラム間連絡機能を有するプログラム群
のデバッグ処理におけるCALL命令の引数自動検査処
理方式に関する。
【0002】
【従来の技術】従来、呼ぶプログラムおよび呼ばれるプ
ログラムを含みCALL命令の引数によりデータの受渡
しを行うプログラム間連絡機能を有するプログラム群の
デバッグ処理では、呼ぶプログラム中のCALL命令の
引数の個数および呼ぶプログラム中で定義されている引
数に係るデータ領域のサイズと、呼ばれるプログラム中
の入口の引数の個数および呼ばれるプログラム中で指定
されている引数に係るデータ領域のサイズとが一致する
か否かの検査は行われていなかった。
【0003】呼ぶプログラム側の引数の個数および引数
に係るデータ領域のサイズと呼ばれるプログラム側の引
数の個数および引数に係るデータ領域のサイズとの不一
致は、当該プログラム群の実行において、呼ぶプログラ
ム側のデータ領域のメモリ破壊を引き起こす原因となり
、そのメモリ破壊に起因して結果異常および実行異常終
了等を発生させることとなる。
【0004】従来のデバッグ処理では、結果異常時およ
び実行異常終了時のメモリダンプ等による原因の解析に
より、上述の不一致が検出されていた(デバッグ時に結
果異常および実行異常終了が発生しない場合には上述の
不一致を検出できなかった)。
【0005】
【発明が解決しようとする課題】上述した従来のデバッ
グ処理では、呼ぶプログラム側の引数の個数および引数
に係るデータ領域のサイズと呼ばれるプログラム側の引
数の個数および引数に係るデータ領域のサイズとが一致
するか否かの自動的な検査は行われておらず、結果異常
時および実行異常終了時のメモリダンプ等による原因の
解析によって初めて上述の不一致を検出できるにすぎな
いので、デバッグ時におけるCALL命令の引数に関す
る検査のための処理が煩雑になり、デバッグ時に上述の
不一致を検出できずに本来の実行時に呼ぶプログラム側
のデータ領域のメモリ破壊ひいては結果異常および実行
異常終了等が発生するおそれがあるという欠点があった
【0006】本発明の目的は、上述の点に鑑み、呼ぶプ
ログラム側の引数の個数および引数に係るデータ領域の
サイズと呼ばれるプログラム側の引数の個数および引数
に係るデータ領域のサイズとの不一致をデバッグ時に自
動的に検出することができ、デバッグ処理におけるCA
LL命令の引数に関する検査のための処理が簡潔になり
、本来の実行時における結果異常および実行異常終了等
の発生を回避することができるCALL命令の引数自動
検査処理方式を提供することにある。
【0007】
【課題を解決するための手段】本発明のCALL命令の
引数自動検査処理方式は、呼ぶプログラムおよび呼ばれ
るプログラムを含みCALL命令の引数によりデータの
受渡しを行うプログラム間連絡機能を有するプログラム
群のデバッグ処理において、呼ぶプログラム中のCAL
L命令の実行時に当該CALL命令に関する引数情報を
呼ばれるプログラムに通知する呼ぶプログラム内の引数
通知手段と、呼ばれるプログラム中の入口の実行時に前
記引数通知手段から通知された引数情報中の引数の個数
および引数に係るデータ領域のサイズと呼ばれるプログ
ラム中の入口の引数の個数および呼ばれるプログラム中
で指定されている引数に係るデータ領域のサイズとを比
較して両者が一致するか否かを検査する呼ばれるプログ
ラム内の引数検査手段と、この引数検査手段の検査によ
り両者が不一致の場合に警告情報を印字出力する呼ばれ
るプログラム内の印字手段とを有する。
【0008】
【作用】本発明のCALL命令の引数自動検査処理方式
では、呼ぶプログラム内の引数通知手段が呼ぶプログラ
ム中のCALL命令の実行時に当該CALL命令に関す
る引数情報を呼ばれるプログラムに通知し、呼ばれるプ
ログラム内の引数検査手段が呼ばれるプログラム中の入
口の実行時に引数通知手段から通知された引数情報中の
引数の個数および引数に係るデータ領域のサイズと呼ば
れるプログラム中の入口の引数の個数および呼ばれるプ
ログラム中で指定されている引数に係るデータ領域のサ
イズとを比較して両者が一致するか否かを検査し、呼ば
れるプログラム内の印字手段が引数検査手段の検査によ
り両者が不一致の場合に警告情報を印字出力する。
【0009】
【実施例】次に、本発明について図面を参照して詳細に
説明する。
【0010】図1は、本発明のCALL命令の引数自動
検査処理方式の一実施例の構成を示すブロック図である
。本実施例のCALL命令の引数自動検査処理方式は、
呼ぶプログラム4と、呼ばれるプログラム5と、警告情
報6とを含んで構成されている。なお、呼ぶプログラム
4および呼ばれるプログラム5は、デバッグ時における
目的プログラムである。
【0011】呼ぶプログラム4は、引数通知手段1を含
んで構成されている。
【0012】呼ばれるプログラム5は、引数検査手段2
と、印字手段3とを含んで構成されている。
【0013】図2は、本実施例のCALL命令の引数自
動検査処理方式の具体的な動作を説明するための図であ
る。同図における呼ぶプログラム4および呼ばれるプロ
グラム5は、同図中のソースプログラム(COBOLに
より記述されたソースプログラム)に基づく目的プログ
ラムであり、図1中の引数通知手段1ならびに引数検査
手段2および印字手段3を有している。
【0014】次に、このように構成された本実施例のC
ALL命令の引数自動検査処理方式の動作について説明
する。
【0015】呼ぶプログラム4および呼ばれるプログラ
ム5を含むプログラム群のデバッグ処理の際における呼
ぶプログラム4中のCALL命令の実行時に、呼ぶプロ
グラム4内に生成された引数通知手段1は、当該CAL
L命令に関する引数情報を呼ばれるプログラム5に通知
する。ここで、引数情報とは、呼ぶプログラム4中の当
該CALL命令の引数の個数と、呼ぶプログラム4中で
定義されている当該引数に係るデータ領域のアドレスと
、当該データ領域のサイズと、呼ぶプログラム4のプロ
グラム名とを有する情報をいう。
【0016】呼ばれるプログラム5内に生成された引数
検査手段2は、引数指定の入口(呼ぶプログラム4内の
当該CALL命令に対応する呼ばれるプログラム5中の
入口)の実行時に、引数通知手段1から通知された引数
情報中の引数の個数およびデータ領域のサイズと、呼ば
れるプログラム5内の入口の引数の個数および呼ばれる
プログラム5中で指定されている引数に係るデータ領域
のサイズとを比較し、両者が一致するか否かを検査する
【0017】呼ばれるプログラム5内に生成された印字
手段3は、引数検査手段2の検査において検査の対象と
なった両方の引数の個数およびデータ領域のサイズが不
一致の場合に、警告情報6を印字して出力する(両者が
一致する場合には呼ばれるプログラム5における所定の
実行に制御が移される)。ここで、警告情報6とは、呼
ぶプログラム4および呼ばれるプログラム5のプログラ
ム名と、上述の検査の対象となった両方の引数の個数お
よびデータ領域のサイズとを有する情報をいう。
【0018】次に、図2を参照して、本実施例のCAL
L命令の引数自動検査処理方式の具体的な動作について
説明する。
【0019】呼ぶプログラム4中のCALL命令(「C
ALL  ”SUB”  USINGA,B.」)の実
行時に、呼ぶプログラム4内の引数通知手段1は当該C
ALL命令に関する引数情報を呼ばれるプログラム5に
通知する。この引数情報は、当該CALL命令の引数の
個数(AとBとの「2個」)と、作業場所節(WORK
ING−STORAGE  SECTION.)で定義
されている引数AおよびBに係るデータ領域のアドレス
と、当該データ領域のサイズ(引数Aに係るデータ領域
のサイズの「10バイト」および引数Bに係るデータ領
域のサイズの「10バイト」)と、呼ぶプログラム4の
プログラム名「MAIN」とを有している。
【0020】呼ばれるプログラム5内の引数検査手段2
は、呼ばれるプログラム5中の入口(「PROCEDU
RE  DIVISION  USING  a,b.
」)の実行時に、引数通知手段1から通知された引数情
報中の引数の個数(AとBとの「2個」)およびデータ
領域のサイズ(引数Aに係るデータ領域のサイズの「1
0バイト」および引数Bに係るデータ領域のサイズの「
10バイト」)と、当該入口の引数の個数(aとbとの
「2個」)および連絡節(LINKAGESECTIO
N.)で指定されている引数aおよびbに係るデータ領
域のサイズ(引数aに係るデータ領域のサイズの「10
バイト」および引数bに係るデータ領域のサイズの「2
0バイト」)とを比較し、両者が一致するか否かを検査
する。
【0021】この引数検査手段2の検査により両方のデ
ータ領域のサイズが不一致であるので、呼ばれるプログ
ラム5内の印字手段3は警告情報6を印字して出力する
。この警告情報6は、呼ぶプログラム4および呼ばれる
プログラム5のプログラム名(「MAIN」および「S
UB」)と、上述の検査の対象となった両方の引数の個
数およびデータ領域のサイズとを有している。
【0022】この警告情報6の印字出力により、呼ぶプ
ログラム4側のデータ領域のメモリ破壊等が生じること
なく、自動的に上述の不一致を検出することが可能にな
る。
【0023】なお、本実施例のCALL命令の引数自動
検査処理方式が存在しない場合には、デバッグ時または
本来の実行時に、呼ばれるプログラム5中の■の命令(
「MOVE  ”xxx”  TO  b.」)の実行
により、呼ぶプログラム4側の変数Cに係るデータ領域
(図2中の斜線の領域)のメモリ破壊が生じる。
【0024】
【発明の効果】以上説明したように本発明は、引数通知
手段,引数検査手段および印字手段を設けることにより
、呼ぶプログラム側の引数の個数および引数に係るデー
タ領域のサイズと呼ばれるプログラム側の引数の個数お
よび引数に係るデータ領域のサイズとの不一致をデバッ
グ時に自動的に検出することができ、デバッグ処理にお
けるCALL命令の引数に関する検査のための処理が簡
潔になるという効果がある。
【0025】また、上述の各手段の存在により、本来の
実行時における結果異常および実行異常終了等の発生(
デバッグ時に上述の不一致を検出できずに本来の実行時
に呼ぶプログラム側のデータ領域のメモリ破壊等に起因
して結果異常および実行異常終了等が発生すること)を
回避することができるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例の構成を示すブロック図であ
る。
【図2】図1に示すCALL命令の引数自動検査処理方
式の具体的な動作を説明するための図である。
【符号の説明】
1  引数通知手段 2  引数検査手段 3  印字手段 4  呼ぶプログラム 5  呼ばれるプログラム 6  警告情報

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  呼ぶプログラムおよび呼ばれるプログ
    ラムを含みCALL命令の引数によりデータの受渡しを
    行うプログラム間連絡機能を有するプログラム群のデバ
    ッグ処理において、呼ぶプログラム中のCALL命令の
    実行時に当該CALL命令に関する引数情報を呼ばれる
    プログラムに通知する呼ぶプログラム内の引数通知手段
    と、呼ばれるプログラム中の入口の実行時に前記引数通
    知手段から通知された引数情報中の引数の個数および引
    数に係るデータ領域のサイズと呼ばれるプログラム中の
    入口の引数の個数および呼ばれるプログラム中で指定さ
    れている引数に係るデータ領域のサイズとを比較して両
    者が一致するか否かを検査する呼ばれるプログラム内の
    引数検査手段と、この引数検査手段の検査により両者が
    不一致の場合に警告情報を印字出力する呼ばれるプログ
    ラム内の印字手段とを有することを特徴とするCALL
    命令の引数自動検査処理方式。
JP3133465A 1991-05-09 1991-05-09 Call命令の引数自動検査処理方式 Pending JPH04333935A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3133465A JPH04333935A (ja) 1991-05-09 1991-05-09 Call命令の引数自動検査処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3133465A JPH04333935A (ja) 1991-05-09 1991-05-09 Call命令の引数自動検査処理方式

Publications (1)

Publication Number Publication Date
JPH04333935A true JPH04333935A (ja) 1992-11-20

Family

ID=15105420

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3133465A Pending JPH04333935A (ja) 1991-05-09 1991-05-09 Call命令の引数自動検査処理方式

Country Status (1)

Country Link
JP (1) JPH04333935A (ja)

Similar Documents

Publication Publication Date Title
US7689872B2 (en) Autonomic program error detection and correction
US20030074605A1 (en) Computer system and method for program execution monitoring in computer system
JPH09171460A (ja) 計算機の診断システム
JPH04333935A (ja) Call命令の引数自動検査処理方式
JP2545856B2 (ja) メモリダンプ採取装置
JPS60179847A (ja) 実配列および仮配列間の整合性チエツク方式
US4587654A (en) System for processing machine check interruption
CN116932270A (zh) 一种长期关中断的诊断方法及装置
JPS6155748A (ja) 電子計算機システム
KR20220087247A (ko) 항공기 소프트웨어에서 순서위배의 자율적 수리를 위한 건전성 관리 시스템 및 방법
JPS60254251A (ja) デバツク方式
JPS6111855A (ja) デ−タ処理装置の機能診断方式
JPS59214929A (ja) 診断機能を持つ入出力制御装置
JPS60195649A (ja) マイクロプログラム制御型デ−タ処理装置におけるエラ−報告方式
JPH03102539A (ja) 入出力装置の異常検出方法
JPH02115951A (ja) 高級言語プログラム保守デバッグ方式
JPH04163637A (ja) セグメンテーション機能をもつ電子計算機システム
JPH01205348A (ja) プログラムデバッグ方式
KR20000033423A (ko) 소형컴퓨터 시스템 인터페이스 버스 비지 상태 회복 방법
JPS62139054A (ja) プログラム実行時のエラ−処理方法
JPH0272438A (ja) デバッグ方式
JPH02219136A (ja) プログラム改造時のバグ検査方法
JPH0448342A (ja) インタフェース障害処理方式
JPH03265960A (ja) チャネル障害処理方式
JPH036618A (ja) スタックポインタの異常検出回路