JPH05334118A - プログラム割込み原因となるプログラムステップの事前検出方式 - Google Patents

プログラム割込み原因となるプログラムステップの事前検出方式

Info

Publication number
JPH05334118A
JPH05334118A JP4160110A JP16011092A JPH05334118A JP H05334118 A JPH05334118 A JP H05334118A JP 4160110 A JP4160110 A JP 4160110A JP 16011092 A JP16011092 A JP 16011092A JP H05334118 A JPH05334118 A JP H05334118A
Authority
JP
Japan
Prior art keywords
program
master
interrupt
address
master program
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
JP4160110A
Other languages
English (en)
Inventor
Shigeo Kobayashi
成夫 小林
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 JP4160110A priority Critical patent/JPH05334118A/ja
Publication of JPH05334118A publication Critical patent/JPH05334118A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 プログラムを作成した時点で全ステップにわ
たってプログラム割込みが発生しないかチェックを行
い、プログラム割込みが発生する場合にはその原因とな
るステップを自動検出することにより、プログラム割込
みの未然防止及び解析時間の削減を図る。 【構成】 主記憶装置200にマスタプログラム作成プ
ログラム620によりマスタプログラムを作成し、サー
ビスプロセッサ700に予め格納されたデバッグ用プロ
グラム530によりマスタプログラムの全ステップにつ
いてプログラム割込みが発生しないかチェックを行い、
プログラム割込みが発生するステップについては該ステ
ップにデータ書き込みを行った時と、このステップのア
ドレスを修飾する汎用レジスタ101に書き込みを行っ
た時の処理内容と情報をラインプリンタ510へ出力す
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は情報処理システムにおけ
るデバッグ方式に関し、特にプログラム割込みオペレー
ション例外の発生の原因となったプログラムモジュール
を全ステップともチェックを行い、原因の箇所をデバッ
グ用プログラムにより事前に自動検出する、プログラム
解析方式に関する。
【0002】
【従来の技術】プログラム割込みが発生する場合、多く
はプログラム作成時点でプログラム割込みが発生するア
ドレスに不当なデータを書き込む不具合が盛り込まれて
いることに起因している。
【0003】この不具合がプログラムに盛り込まれてい
ないかチェックするために、従来では作成されたプログ
ラムを実際に実行してプログラム割込みが発生しないか
確認しプログラム割込みが発生する場合には、リストに
出力されたプログラム割込み発生時点での情報(命令内
容、レジスタ等)をもとに解析者がプログラムリストの
内容を調査したり、或いはプログラム割込みを起したプ
ログラムを1ステップずつ実行させながらプログラム割
込み発生の原因となるステップ(不具合箇所)を検出す
る方法がとられていた。
【0004】
【発明が解決しようとする課題】作成されたプログラム
を実際に実行してプログラム割込みの発生を検出して
も、プログラム割込みが1箇所発生した時点でプログラ
ムの実行を停止するため、従来のチェック方法では全て
のプログラムステップについてプログラム割込みが発生
しないか容易にチェック出来ないという問題点を抱えて
いる。
【0005】また、通常のプログラムにおいては、プロ
グラムのステップ数が多く、また、処理ロジックも複数
であるために、前項で述べた従来のチェック方式では解
析者がプログラム割込み発生の原因となるステップ(プ
ログラム割込みが発生したアドレスに不当なデータを書
き込むステップ)がどこにあるか容易に検出出来ないと
いった問題点も抱えている。
【0006】さらに作成されたプログラムを実際に動作
させた上で不具合を修正することとなり、不具合箇所の
検出、プログラムの修正にかかる工数が大きくなるとい
った問題点を抱えている。
【0007】
【課題を解決するための手段】上記した課題を解決する
ために、本発明のプログラム割込み原因となるプログラ
ムステップの事前検出方式は、情報処理を実行するマス
タプログラムを作成するマスタプログラム作成プログラ
ムとマスタプログラムのソースコードが記述されたマス
タプログラムソースモジュールを格納する主記憶装置
と、マスタプログラムの実行状態を示す状態レジスタな
らびにデータを一時的に蓄える汎用レジスタとを含む中
央処理装置と、メモリを含むサービスプロセッサと、デ
バッグ用プログラムをサービスプロセッサ内のメモリに
格納する外部記憶装置とを含む情報処理システムにおい
て、マスタプログラム作成プログラムがマスタプログラ
ムソースモジュールをもとに主記憶装置内にマスタプロ
グラムを作成した直後にデバッグ用プログラムを起動す
る手段と、デバッグ用プログラムの起動時に中央処理装
置に対してマスタプログラムの1ステップごとの実行を
指示する手段と、マスタプログラムの実行時にプログラ
ム割込みが発生した場合にプログラム割込み発生のアド
レスを認識して、このアドレスにデータを書き込むステ
ップと、このアドレスを修飾する汎用レジスタとを検出
する手段と、この検出手段により検出された汎用レジス
タへのデータ書き込みステップを検出する手段と、プロ
グラム割込みが発生すると識別されるアドレスにおける
ステップをプログラム割込みの発生しない命令に書き換
え、このアドレス以降のステップの実行を継続する手段
と、継続する手段によりマスタプログラムの全てのステ
ップでプログラム割込みの発生がないかチェックする手
段とを有している。
【0008】
【作用】上記構成とすることにより、デバッグ用プログ
ラムを起動し、マスタプログラムを1ステップごとに実
行して行き、プログラム割込みが発生すれば検出手段に
よって、プログラム割込み発生のアドレスにデータを書
き込むステップと、プログラム割込み発生のアドレスを
修飾するレジスタにデータを書き込むステップとを自動
的に検出し、以降もステップの実行継続手段によってマ
スタプログラムの全ステップについてプログラム割込み
をチェックするので、マスタプログラムの全ステップに
ついて、プログラム割込みの原因となるステップおよび
修正すべき箇所を容易に把握することができる。
【0009】
【実施例】次に本発明の一実施例について図面を用いて
説明する。
【0010】図1は本発明の一実施例を示す情報処理シ
ステムの構成図であり、中央処理装置100はシステム
制御装置300を介して主記憶装置200と、入出力プ
ロセッサ400と、サービスプロセッサ700とに接続
されている。
【0011】中央処理装置100には本情報処理システ
ムが情報処理を行っていく上で演算用のデータや演算結
果のデータを一時的に蓄えておく汎用レジスタ101
と、情報処理の実行状態(どのステップを行っているの
か等)を示すプログラム情報レジスタ102が含まれて
いる。汎用レジスタ101はA、B、C、Dの4種類か
ら構成されている。
【0012】主記憶装置200では10000番地から
20000番地まで、マスタプログラム格納エリア20
1が確保されており、このエリアに目的の情報処理を行
う実行プログラム(以下マスタプログラムと称す)が格
納される。
【0013】また、主記憶装置200の30000番地
から40000番地まではマスタプログラム作成用プロ
グラム格納エリア202が確保されており、このエリア
には、上述のマスタプログラムを作成するためのプログ
ラム(マスタプログラム作成用プログラム)が格納され
る。
【0014】さらに50000番地から80000番地
まではマスタプログラムを作成する処理のために上述の
マスタプログラム作成用プログラムが使用する領域とし
て、作業エリア203が確保されている。
【0015】入出力プロセッサ400にはラインプリン
タ510とフロッピィディスク装置520を制御するユ
ニットレコードプロセッサ500と、磁気ディスク装置
610を制御する磁気ディスク制御装置600とが接続
されている。
【0016】磁気ディスク装置610には、前述のマス
タプログラムを作成する、マスタプログラム作成用プロ
グラム620と、マスタプログラムのソースコードが記
述された、マスタプログラム・ソースモジュール630
が格納されており、マスタプログラム・ソースモジュー
ル630からマスタプログラムを作成する場合には、入
出力プロセッサ400とシステム制御装置300を介し
てマスタプログラム作成用プログラム620は主記憶装
置200内のマスタプログラム作成用プログラム格納エ
リア202の30000番地から、マスタプログラム・
ソースモジュール630は作業エリア203の5000
0番地から、順に格納され、このマスタプログラム作成
用プログラム620によりマスタプログラム格納エリア
201にマスタプログラムが作成される。
【0017】サービスプロセッサ700は中央処理装置
100を始めとする上述の各装置によって行われる情報
処理とは独立した動作を行うサブシステムであり、コン
ソール・キーボード710からのコマンド入力等により
システム制御装置300を介して中央処理装置100と
主記憶装置200の制御・管理を行う。また、ユニット
レコードプロセッサ500を介してラインプリンタ51
0とフロッピィ・ディスク装置520との入出力動作を
行い、ラインプリンタ510に前記の制御・管理処理結
果を出力したり、フロッピィ・ディスク装置520から
フロッピィ媒体に記録された情報(本実施例では中央処
理装置100および主記憶装置200の制御・管理を行
うデバッグ用プログラム530)が読み込まれる。
【0018】さらにサービスプロセッサ700は前述の
デバッグ用プログラム530を記憶するメモリ部701
と、デバッグ用プログラム530を遂行する演算処理部
703と、システム制御装置300やユニットレコード
プロセッサ500とを結ぶインタフェース制御部702
とにより構成されている。
【0019】図2は図1に示す中央処理装置100内の
プログラム情報レジスタ102の詳細図であり、サービ
スプロセッサ700(図1)の制御・管理のもとでプロ
グラムの実行を行っているかを示すプログラム実行ステ
ータス(「1」でサービスプロセッサ700による制御
・管理状態)と、プログラムの実行ステップのアドレス
(カレントステップアドレス)と、ステップ長(命令
長)、実行ステップの内容のデータ(機械語による命令
内容)、次のステップのアドレスが格納される。
【0020】図3は図1のサービスプロセッサ700内
のメモリ部701の詳細図であり、前記のデバッグ用プ
ログラム530が格納される、デバッグ用プログラム格
納エリア704と、割込み発生原因情報格納エリア70
5と、データ書込みステップ記録エリア706が確保さ
れている。
【0021】割込み発生原因情報格納エリア705にお
いては中央処理装置100がマスタプログラムを実行
し、未定義コードの命令実行によるプログラム割込みが
発生したときのステップと、プログラム割込み発生ステ
ップのアドレスへのデータを書込むステップと、プログ
ラム割込みが発生したアドレスを前記の「プログラム割
込み発生ステップのアドレスへのデータ書込みステッ
プ」にて修飾するレジスタへデータを書込むステップに
おける情報(汎用レジスタ101、プログラム情報レジ
スタ102)がそれぞれ1レコード目、2レコード目、
3〜6レコード目に、また、プログラム割込みの発生し
たアドレスにおける発生前の内容(未定義コードのデー
タが書き込まれる前の内容)が7レコード目にそれぞれ
書き込まれる。
【0022】3〜6レコード目のエリアは書き込まれる
汎用レジスタがそれぞれA〜Dのステップに対応してい
る。
【0023】データ書き込みステップ記録エリア706
はマスタプログラム実行時に、マスタプログラム格納エ
リア201内へデータを書き込むステップの格納アドレ
スと、データの書き込み先アドレス(先頭と終了アドレ
ス)、書き込み先アドレスを修飾するレジスタとその内
容が、ステップの実行に応じて逐一記録される。
【0024】図4は図1の磁気ディスク装置610に格
納されているマスタプログラムソースモジュール630
から、マスタプログラム作成用プログラム620によっ
てマスタプログラムが作成され、さらにマスタプログラ
ム格納エリア201にマスタプログラムが格納された時
のプログラムステップとアドレスの対応を示した図であ
り、プログラムの命令は機械語である。
【0025】本実施例では説明を簡単にするため、マス
タプログラムのステップ数は80、プログラム容量は3
00番地分としており、主な処理は汎用レジスタB、C
を0でクリア(第1、2ステップ)した後にそれぞれ1
0000と150を格納(第10、20ステップ)し、
(B+C)で与えられるアドレスに「0015」のデー
タ(機械語では定義されていない命令コード)を書き込
んだ(第30ステップ)後にこれらのレジスタを再度0
でクリア(第40、80ステップ)するという処理とな
っている。
【0026】本プログラムは実際には第30ステップの
処理において第40ステップの10150番地に機械語
に定義されていない命令コード「0015」を書き込む
ために、第40ステップにて未定義コードの命令実行に
よるプログラム割込みを起こす。
【0027】尚、図4の説明で特に触れていないステッ
プについては汎用レジスタB、Cへの書き込みは行わな
いので、先述のステップへの影響は特にない。
【0028】本実施例におけるデバッグ用プログラム7
20の一連の処理手順を示した図であり、図5は図1に
示すデバッグ用プログラムの起動処理の流れ図である。
【0029】図6はサービスプロセッサ・メモリへの割
込み発生原因情報の格納処理の流れ図である。
【0030】図7は、割込み発生原因検出処理の流れ図
である。
【0031】図8は割込み発生原因情報判断処理の流れ
図である。
【0032】図9は割込み発生原因情報の出力および継
続処理の流れ図である。
【0033】また、図10は本実施例においてプログラ
ム割込み発生原因となる情報の出力結果である。
【0034】つぎに動作について、図1、図4を中心
に、図2、図3を用いて説明し、さらに処理内容を明確
にするために図5〜図9の流れ図の各処理番号と対比さ
せて説明する。
【0035】図1において磁気ディスク装置610に格
納されているマスタプログラム・ソースモジュール63
0からマスタプログラムを作成するために、マスタプロ
グラム作成用プログラム620およびマスタプログラム
・ソースモジュール630はともに磁気ディスク装置6
10から入出力プロセッサ400およびシステム制御装
置300を介してそれぞれ主記憶装置200内のマスタ
プログラム作成用プログラム格納エリア202と、作業
エリア203に格納される。
【0036】格納後、中央処理装置100はマスタプロ
グラム作成用プログラム格納エリア202に格納された
マスタプログラム作成用プログラム620のプログラム
ステップを1つずつ実行してマスタプログラム・ソース
モジュール630のソースコードを逐次機械語に翻訳し
ていき、一連の情報処理を実行するためのマスタプログ
ラムが作業エリア203(マスタプログラム・ソースモ
ジュール630の格納されない、空き領域)に作成され
る。(図5 処理1) マスタプログラムが作業エリア203に作成されると中
央処理装置100はシステム制御装置300を介してサ
ービスプロセッサ700内の演算処理部703に、デバ
ッグ処理の動作開始を指示する。
【0037】サービスプロセッサ700内のメモリ部7
01(図3のデバッグ用プログラム格納エリア704)
には予めユニットレコードプロセッサ500を介して、
フロッピィ・ディスク装置520からデバッグ用プログ
ラム530が格納されており、デバッグ処理の動作開始
指示を受けるとサービスプロセッサ700はこのデバッ
グ用プログラム530を起動し、作業エリア203に作
成されたマスタプログラムをマスタプログラム格納エリ
ア201に格納する様中央処理装置100に指示を出
す。(図5 処理2、3) マスタプログラムをマスタプログラム格納エリア201
に格納し終ると、サービスプロセッサ700は再度シス
テム制御装置300を介して中央処理装置100にマス
タプログラムの第1ステップからの実行を指示する(こ
のとき、プログラム実行ステータスは「0」から「1」
になる。図2参照)。
【0038】中央処理装置100は各ステップの実行に
際し、実行直前にはプログラム情報レジスタ102の更
新と更新された内容のサービスプロセッサ700への転
送(システム制御装置300経由)を、実行直後には汎
用レジスタ101の更新を行う。(図5 処理4) サービスプロセッサ700はステップの実行直前に中央
処理装置100からプログラム情報レジスタ102の内
容を転送されると、演算処理部703において命令の解
読を行い、マスタプログラム格納エリア201内のマス
タプログラムの格納された領域(本実施例では1000
0番地から10299番地)にデータを書き込みを行っ
ているのか、未定義コードによるプログラム割込み発生
となる命令なのか判断を行う。
【0039】尚、作業エリア203上に作成されたマス
タプログラムをマスタプログラム格納エリア201に格
納した際(処理3)に、マスタプログラムの格納された
領域の情報はサービスプロセッサ700内の演算処理部
703に送られるので、命令の解読時に、マスタプログ
ラムの格納された領域にデータの書き込みを行っている
か判断が出来る。(図5、図6 処理5、6、8) マスタプログラムの格納された領域へのデータ書き込み
命令や未定義コードによるプログラム割込み発生となる
命令のいずれでもないのであれば、中央処理装置100
は本ステップを実行したうえでサービスプロセッサ70
0にステップ実行完了を報告し、サービスプロセッサ7
00は中央処理装置100に次ステップの実行を指示す
る。(図6 処理6、8、9) マスタプログラムの格納された領域へのデータ書き込み
命令(10000番地から10299番地内へのデータ
書き込み)を行うのであればデータ書込みステップ記録
エリア706に本命令の格納アドレスと、データ書き込
み先アドレス(先頭および終了アドレス)、書き込み先
アドレスを修飾するレジスタとその内容が記録される。
【0040】本実施例では図4からわかるように30番
目のステップが該当するので、命令の格納アドレスは1
0090番地、データ書き込み先アドレスは先頭が10
150番地、終了は10151番地、書き込み先アドレ
スを修飾レジスタはいずれも汎用レジスタB、C(値は
各々10000と150)として記録される。
【0041】記録後、本ステップ実行の上、サービスプ
ロセッサ700にステップ実行完了を報告し、サービス
プロセッサ700は中央処理装置100に次ステップの
実行を指示する。(図6 処理6、7、8、9) 未定義命令実行によるプログラム割込み発生となる命令
なのであれば、サービスプロセッサ700はこのときの
汎用レジスタ101、プログラム情報レジスタ102
を、システム制御装置300を介して中央処理装置10
0から読み込み、割込み発生原因情報格納エリア705
(図3)の第1レコードへ格納する。(図6 処理6、
8、10。本実施例では図4の40番目のステップが該
当。) さらに、プログラム割込み発生となる本命令は他のステ
ップにより未定義コードのデータに誤って書き換えられ
たか判断するために、データ書込みステップ記録エリア
706に記録されているデータ書込み先アドレス内の命
令なのかチェックを行う。(図7 処理11) データ書込み先アドレス内の命令なのでなければ、割込
み発生原因情報格納エリア705(図3)の情報をユニ
ットレコードプロセッサ500を介してラインプリンタ
510へ出力した上で次のステップの実行を中央処理装
置100へ指示する。(図5、図9 処理11、23。
本実施例のマスタプログラムでは本処置は該当しな
い。) データ書き込み先アドレスの命令であれば(本実施例で
は該当)、データ書込み先アドレスを修飾するレジスタ
がないか、データ書込みステップ記録エリア706に記
録された情報(修飾レジスタ)から識別する。(図7
処理12。 本実施例では汎用レジスタB、Cが該
当。) さらにプログラム割込みが発生するステップにおけるも
との命令内容と、今述べた処理12で識別された、デー
タ書き込み先アドレスを修飾するレジスタ(汎用レジス
タB、C)にデータを書き込むステップの情報を把握す
るため、サービスプロセッサ700は中央処理装置10
0に作業エリア203で既に作成されたマスタプログラ
ムを再度マスタプログラム格納エリア201に格納の
上、第1ステップからの実行を指示する。(図7 処理
13) 中央処理装置100は前記の方法と同様に各ステップの
実行直前にプログラム情報レジスタ102の更新と更新
された内容のサービスプロセッサ700への転送を、実
行直後には汎用レジスタ101の更新を行う。サービス
プロセッサ700においてはステップ実行直前に中央処
理装置100からプログラム情報レジスタ102の内容
が転送されると演算処理部703において命令の解読を
行い、データ書き込みステップ記録エリア706に既に
記録されている情報をもとに、データ書き込み先アドレ
スの修飾レジスタにデータ書込みを行っているか判断す
る。(本実施例では汎用レジスタB、Cに各々1000
0と、150を書込んでいるか判断する。)(図7 処
理14、15) 書込みを行っている(本実施例ではマスタプログラムの
第10、20ステップが対象で各々汎用レジスタBに1
0000を、Cに150を書込み)のであれば、さらに
汎用レジスタ101の値も中央処理装置100よりシス
テム制御装置300を介してサービスプロセッサ700
へ転送を行い、既に転送を行ったプログラム情報レジス
タ102とともに図3の割込み発生原因情報格納エリア
705の第3〜6レコードへ、書き込みの対象となる汎
用レジスタに対応して(第10ステップ…第4レコー
ド、第20ステップ…第5レコード)格納される。(図
8処理16) さらにデータ書込みステップ記録エリア706に記録さ
れた情報(本実施例では10090番地における、10
150番地から10151番地までデータを書込むステ
ップの情報)をもとに、プログラム割込み発生のステッ
プ(10150番地)へのデータの書き込みを行ってい
るか判断を行い、プログラム割込み発生のステップへデ
ータの書き込みを行うのであれば本ステップ(本実施例
では第30ステップが該当)における汎用レジスタ10
1と、プログラム情報レジスタ102がデータ書込み先
アドレスなどともに割込み発生原因情報格納エリア70
5(図3)の第2レコードに格納される。
【0042】また、このときにプログラム割込み発生後
のステップ(40番目以降のステップ)も解析するため
にデータ書込み先の命令内容を割込み発生原因情報格納
エリア705の第7レコードに格納し、プログラム割込
み発生のアドレスにおけるもとのステップの内容も記録
される。(図8 処理17、18) さらにプログラム割込みのステップ(第40ステップ)
を実行しようとしているかチェックするために、汎用レ
ジスタ101の値も中央処理装置100よりサービスプ
ロセッサ700へ転送を行い、プログラム情報レジスタ
102とともに割込み発生原因情報格納エリア705
(図3)の第1レコードに格納された内容と一致するか
チェックを行う。(図8 処理19) 一致しないのであれば、プログラム割込みのステップま
では実行されていないとサービスプロセッサ700は判
断し、システム制御装置300を介して中央処理装置1
00に対し現ステップ実行後は次のステップも実行する
様指示を出す。(図8 処理20) 一致するのであれば、プログラム割込みのステップ(4
0番目のステップ)を実行しようとしているとサービス
プロセッサ700は判断し、メモリ部701内の割込み
発生原因情報格納エリア705(図3)に格納されてい
るプログラム割込みの原因となる情報(第1〜第6レコ
ード)をインタフェース制御部702、ユニットレコー
ドプロセッサ500を介してラインプリンタ510へ出
力する。(図9 処理21) 出力後はプログラム割込み発生(40番目のステップ)
以降のステップも解析、実行するため、サービスプロセ
ッサ700は割込み発生原因情報格納エリア705の第
7レコードに記録されたもとの命令内容をプログラム割
込み発生のアドレス(10150番地)に書き込んだ上
で、第7レコードの命令内容に関する情報(カレントス
テップ・アドレス、命令長、命令内容、次のステップの
アドレス)にプログラム情報レジスタ102を書き換
え、中央処理装置100は本アドレス(10150番
地)の命令内容を実行する。(図9 処理22) しかる後にサービスプロセッサ700はシステム制御装
置300を介して中央処理装置100に対し現ステップ
の次のステップ(41番地のステップ)を実行する様指
示を出す。
【0043】この指示を受け、中央処理装置100はプ
ログラム割込みを起こすステップ以降のものについても
逐一、今述べた一連の方法に従ってプログラムステップ
の解読→実行(場合によってはプログラム割込み発生の
検出→プログラム割込み発生の原因の解析)を行い、全
てのステップについてプログラム割込みの発生がないか
チェックする。(図9 処理23) 以上述べた一連の処理によりラインプリンタ510へ出
力された内容は図10に示す通りであり、第1行目の情
報から10150番地のステップ(図4の40番目のス
テップ)でプログラム割込みが発生したことと、第2行
目の情報からプログラム割込みの直接の原因となったス
テップは10090番地において10150番地へ誤っ
たデータ(「0015」)を書き込む処理(第4図の3
0番目のステップ)であることと、第4行目および第5
行目の情報からプログラム割込みの間接的な原因となっ
たステップは10020番地において汎用レジスタBに
10000を、10050番地において汎用レジスタC
に150を書き込む処理(第4図の10、20番目のス
テップ)であることが容易にわかり、これらのステップ
のいずれかが修正されるべき箇所であるということを把
握出来る。
【0044】
【発明の効果】本発明は以上述べた一連の処理に示すよ
うに、所定の情報処理を行うプログラムのソースコード
モジュールを作成する段階でプログラム割込みを発生さ
せる不具合が盛り込まれていても、前記ソースコードモ
ジュールから実行プログラムが作成された時点で全ての
ステップについてプログラム割込みが発生しないかもれ
なくチェックすることにより、トラブルの未然防止が可
能となる。
【0045】また、本チェックによってプログラム割込
みが発生するプログラムステップを検出しても、本ステ
ップのアドレス(プログラム割込み発生のアドレス)に
データを書き込むステップと、プログラム割込み発生の
アドレスを修飾するレジスタにデータを書き込むステッ
プとを自動的に検出することによりプログラム割込みの
原因となるステップや、修正すべき箇所を容易に把握出
来、プログラム解析(プログラム割込みの原因調査)に
かかる手間を省けるという効果もある。
【図面の簡単な説明】
【図1】本発明の一実施例の構成図である。
【図2】図1に示す中央処理装置内のプログラム情報レ
ジスタの詳細図である。
【図3】図1に示すサービスプロセッサ・メモリの詳細
図である。
【図4】図1に示す主記憶装置に作成されるマスタプロ
グラムのプログラムステップとアドレスの対応表であ
る。
【図5】図1に示すデバッグ用プログラムの起動処理の
流れ図である。
【図6】図1に示すデバッグ用プログラムにおけるサー
ビスプロセッサ・メモリへの割り込み発生原因情報格納
処理の流れ図である。
【図7】図1に示すデバッグ用プログラムにおける割り
込み発生原因検出処理の流れ図である。
【図8】図1に示すデバッグ用プログラムにおける割り
込み発生原因情報判断処理の流れ図である。
【図9】図1に示すデバッグ用プログラムにおける割り
込み発生原因情報の出力および継続処理の流れ図であ
る。
【図10】図9に示す割り込み発生原因情報の出力結果
を示す図である。
【符号の説明】
100 中央処理装置 101 汎用レジスタ 102 プログラム情報レジスタ 200 主記憶装置 201 マスタプログラム格納エリア 202 マスタプログラム作成用プログラム格納エリア 203 作業エリア 300 システム制御装置 400 入出力プロセッサ 500 ユニットレコードプロセッサ 510 ラインプリンタ 530 デバッグ用プログラム 620 マスタプログラム作成用プログラム 630 マスタプログラム・ソースモジュール 700 サービスプロセッサ 701 メモリ部 702 インターフェース制御部 703 演算処理部 704 デバッグ用プログラム格納エリア 705 割り込み発生原因情報格納エリア 706 データ書き込みステップ記録エリア 710 コンソール・キーボード

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 情報処理を実行するマスタプログラムを
    作成するマスタプログラム作成プログラムと、前記マス
    タプログラムのソースコードが記述されたマスタプログ
    ラムソースモジュールを格納する主記憶装置と、前記マ
    スタプログラムの実行状態を示す状態レジスタならびに
    データを一時的に蓄える汎用レジスタとを含む中央処理
    装置と、メモリを含むサービスプロセッサと、デバッグ
    用プログラムを前記サービスプロセッサ内のメモリに格
    納する外部記憶装置とを含む情報処理システムにおい
    て、前記マスタプログラム作成プログラムが前記マスタ
    プログラムソースモジュールをもとに前記主記憶装置内
    にマスタプログラムを作成した直後に前記デバッグ用プ
    ログラムを起動する手段と、該デバッグ用プログラムの
    起動時に前記中央処理装置に対して前記マスタプログラ
    ムの1ステップごとの実行を指示する手段と、前記マス
    タプログラムの実行時にプログラム割込みが発生した場
    合プログラム割込み発生のアドレスを認識して該アドレ
    スにデータを書き込むステップと該アドレスを修飾する
    前記汎用レジスタとを検出する手段と、該検出手段によ
    り検出された前記汎用レジスタへのデータ書き込みステ
    ップを検出する手段と、前記プログラム割込みが発生す
    ると識別されるアドレスにおけるステップを前記プログ
    ラム割込みの発生しない命令に書き換え、前記アドレス
    以降のステップの実行を継続する手段と、該継続手段に
    より前記マスタプログラムの全てのステップでプログラ
    ム割込みの発生がないかチェックする手段とを有するプ
    ログラム割込み原因となるプログラムステップの事前検
    出方式。
JP4160110A 1992-05-28 1992-05-28 プログラム割込み原因となるプログラムステップの事前検出方式 Pending JPH05334118A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4160110A JPH05334118A (ja) 1992-05-28 1992-05-28 プログラム割込み原因となるプログラムステップの事前検出方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4160110A JPH05334118A (ja) 1992-05-28 1992-05-28 プログラム割込み原因となるプログラムステップの事前検出方式

Publications (1)

Publication Number Publication Date
JPH05334118A true JPH05334118A (ja) 1993-12-17

Family

ID=15708075

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4160110A Pending JPH05334118A (ja) 1992-05-28 1992-05-28 プログラム割込み原因となるプログラムステップの事前検出方式

Country Status (1)

Country Link
JP (1) JPH05334118A (ja)

Similar Documents

Publication Publication Date Title
US5826078A (en) Job re-execution system and controlling method thereof
JPH10214203A (ja) 情報処理装置
JP2009223714A (ja) 演算回路及び演算回路の異常解析方法
JPS60159951A (ja) 情報処理装置におけるトレ−ス方式
JPH05334118A (ja) プログラム割込み原因となるプログラムステップの事前検出方式
JPH0410081B2 (ja)
JPH04352245A (ja) シュミレ−ション方式
JP2570593B2 (ja) デバッグ装置
JPH0519171B2 (ja)
JP2911256B2 (ja) ディジタル制御装置
JP2731047B2 (ja) プログラムのオペランドチェック方式
KR19980019215A (ko) 자기진단 유닛을 구비한 마이크로컴퓨터(Microcomputer with self-diagnostic unit)
JPH08249206A (ja) スタック領域破壊検出機能付き計算機
EP0655686B1 (en) Retry control method and device for control processor
JPS5835648A (ja) プログラム実行制御方式
JPH0317760A (ja) データ書込み確認方式
JPH11184728A (ja) デバッグ処理方法ならびに装置及び同方法がプログラムされ記録される記録媒体
JPH05250221A (ja) シミュレータ実行方式
JP2658699B2 (ja) 入出力装置用テストプログラムの被試験装置の管理方法
JPH07253876A (ja) プログラム作成装置
JP3535337B2 (ja) マイコンのエミュレーターのプログラムローディング装置
JP2697230B2 (ja) デバッグ支援装置
JPS59153247A (ja) デバツグ装置
JPH0279271A (ja) 磁気ディスク装置の障害処理方式
JPS5922147A (ja) 再試行処理のチエツク方式