JPS61208126A - 被テスト・プログラム実行制御方式 - Google Patents

被テスト・プログラム実行制御方式

Info

Publication number
JPS61208126A
JPS61208126A JP60047427A JP4742785A JPS61208126A JP S61208126 A JPS61208126 A JP S61208126A JP 60047427 A JP60047427 A JP 60047427A JP 4742785 A JP4742785 A JP 4742785A JP S61208126 A JPS61208126 A JP S61208126A
Authority
JP
Japan
Prior art keywords
program
linkage
instruction
debugger
under test
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
JP60047427A
Other languages
English (en)
Inventor
Hiroaki Kawachi
河内 浩明
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP60047427A priority Critical patent/JPS61208126A/ja
Publication of JPS61208126A publication Critical patent/JPS61208126A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、電子計算機用のある所定のプログラミング
言語で書かれているプログラムについて、当該プログラ
ミング言語に関連する各種の支援ツールにしたがって動
作させる場合の、被テスト・プログラムの実行制御方式
に関するものである。
〔従来の技術〕
従来、この種の実行制御方式としては、第3図に示すも
のがあった。図において、(1)は被テスト・プログラ
ム実行時の内部状態を示す主記憶装置であり、その中で
(2)は被テスト・プログラム、(3)は支援ツールの
代表的なものであるデバッガ、(2O)はオペレーティ
ング・システムである。
こ〜で、デバッガ(3)は、初期設定部(4’lと主処
理部(5)とを含んでいる。
また、被テスト・プログラム(:L)において、(st
a)は被テスト・プログラム(コ)の最初の実行文オブ
ジェクトの先頭にデバッガ(3)によって埋込まれたS
vC命令11(スーパバイザコール命令)、(21b’
)は被テスト・プログラム(2)のコ番目の実行文オブ
ジェクトの先頭位置にデバッガ(3)によって埋込まれ
たSVC命令Iコ、以下同様にして、(,2/C)は被
テスト・プログラム(,2)のn番目の実行文オブジェ
クトの先頭位置にデバッガ(jlによって埋込まれたS
vC命令Inである。そして、(7)は被テスト・プロ
グラム(u) Kおける各文の種別情報を保持する文情
報テーブル、(t)は被テスト・プログラム(コ)kお
ける前記各文の先頭オブジェクトのアドレスを保持する
文アドレス・テーブル、(テ)は命令退避領域である。
次に、上記された従来方式の動作について説明する。被
テスト・プログラム(コ)のデバッグ処理を行うために
デバッガ(3)が起動されると、制御は。
まず、デバッガ(5)の初期設定部(弘I IC渡され
る・このときには、被テスト・プログラム(コ)におけ
る文情報テーブル(り)および文アドレス・テーブル(
1)の情報をもとにして、全ての実行文に対してそのオ
ブジェクトの先頭位置から例えばコバイト分の内容を命
令退避領域(テ)の該当位置に退避させ、これらの退避
させた内容が入れられていた位置に。
SVC命令1/(2/&’)、19VC命令I J(’
J/b)、SVC命令1n(2tc)を順次に埋込む。
デバッガ(3)の初期設定部〔4t)による上記操作が
終了すると、それに続いて、前記デバッグ処理で使用さ
れるデバッグ・コマンドの解析が行われ、制御は、被テ
スト・プログラム(コ]の入口点忙渡されて、この被テ
スト・プログラム(コ)の実行が開始される。
デバッガ(3)の初期設定部(り)によって埋込まれた
ある所定のSVC命令が実行されると、これに応じて割
込みが発生し、オペレーティング・システム(コO)の
該当ルーチンに制御か渡されて、前記8VCK対する割
込み処理が行われ、その後デバッガ(3)の主処理部(
S)に制御が渡される。デバッガ(3)の主処理部(j
lでは、前記したデバッグ・コマンドで指定された処理
を行った後に、命令退避領域(9)から元の退避させた
命令を取出して実行し、その後は1通常は1割込みが発
生したSVC命令の直後の命令に制御が渡されて被テス
ト・プログラム(コ)の実行が継続されることになる。
〔発明が解決しようとする問題点〕
従来の被テスト・プログラム実行制御方式は、以上に述
べたように、デバッガ等の支援ツール側に制御を渡すさ
いに割込み処理が発生することから、被テス)−プログ
ラムの実行時間が増加してしまうという問題点があった
この発明は、上記された問題点を解消するためKなされ
たもので、被テスト・プログラムの実行時に、当該被テ
スト・プログラムから直接にデバッガ等の支援ツール9
111Vc制閤を渡すようkされた被テスト拳プログラ
ム実行制一方式を提供することを目的とする。
〔問題点を解決するための手段〕
この発明に係る被テスト・プログラム実行制御方式は、
前記被テスト・プログラム内の実行文オブジェクトの頭
部に分岐連係命令が埋込まれるとともに、前記被テスト
・プログラムと所定の支援ツール〔例えばデバッガ)と
の間でのリンケージを確立するための所要の情報を格納
するインタフェース部コード領域が、前記被テスト・プ
ログラムに設けられているものである。
〔作 用〕
この発明忙よれば、被テスト・プログラムと所定の支援
ツールとの間のリンケージの確立が、前記被テスト・プ
ログラムに設けられているインタフェース部コード領域
内の所要の情報に基づいてなされ、前記被テスト・プロ
グラムからの制御が前記支援ツール側に直接的に渡され
ることとなる。
〔実施例〕
以下、この発明の一実施例を図について説明する。第1
図において、(1)は被テスト・プログラム実行時の内
部状態を示す主記憶I&置のあり、その中で(,2)は
被テスト・プログラム、 (jlは支援ツールの代表的
なものであるデバッガである。
こ瓦で、デバッガ(3)は、初期設定部(り)と主処理
(りとを含んでいる。また、被テスト・プログラム(,
21において、(Aa)は被テスト・プログラム(コ)
の最初の実行文のオブジェクトの先頭位置にデバッガ(
3)によって埋込まれたBAL命令11(分岐連係命令
)、(6b)は被テスト−グログラム(コ)の一番目の
実行文のオブジェクトの先頭位置にデバッガ(Jlによ
って埋込まれたBAL命令12、以下同様にして、(6
c)は被テスト・プログラム(コ)のn番目の実行文の
オブジェクトの先頭位置にデバッガ(3) Kよって埋
込まれたBAL命令Inである。そして。
(り1は被テス)−プログラム(コ)忙おける各文の種
別情報を保持する文情報テーブル、(5)は被テスト・
プログラム(,2)ICおける前記各文の先頭オブジェ
クトのアドレスを保持する文アドレスーテーブル、(9
)はデバッガ(3)によって所定のBAL命令が埋込ま
れる位置における元の命令を退避させるための命令退避
領域である。さらに、(io)はデバッガ(、?)との
リンケージを確立するためのインタフェース部コード領
域であり、(11)は所要のレジスタ退避を行う命令等
を含むリンケージ・コード、(1コ)はデバッガ(3)
の主処理部(5)へ分岐するためのBAL命令である。
次に、この実施例の動作について説明する。デバッガ(
、?)が起動されると、制御はiずデバッガ(3)の初
期設定部Cすに渡される。第2図はデバッガ(3)の初
期設定部(すにおける埋込みコード生成処理のし方を示
すフローチャート図である。
最初に、ステップ(13)で、処理回数を制御する変数
1の初期設定を行う。次に、ステップ(t4I)で、被
テスト・プログラム(2)における文情報テーブルCり
)の1番目のエントリを調べて、該当する文が実行文で
あるかどうかを調べる。
もし、vI4査されたものが実行文であれば、後述され
るステップ(is)、(tb)および(/り)の処理が
順番に実行される。また、それが実行文でなければ、前
記ステップにおける処理はスキップされる。こ〜で、前
記ステップについてみると、まず、ステップ(tr)で
は、文アドレス・テーブル(、r)の情報から1番目の
実行文に対する先頭のオブジェクト位置を求め、次に、
ステップ(16)では。
求めた位置から埋込みコードのサイズに相当する例えば
弘バイト分の内容を命令退避領域(り)の1番目のエン
トリに退避する。そして、ステップ(lり)では、ステ
ップ(13)の処理で求めた位置に、インタフェース部
コード領域(10)の先頭に分岐連係するBAL命令(
Aa’)、(bb’)、(1−c)を埋込む。
次k、ステップ(1g)において、処理している文が最
後の文であるかどうかを判定し最後の文であれば処理を
終了する。それが最後の文でなければ。
ステップ(19)において、ループ制菌変数の値をlだ
け増やし1次に続く文に対する処理に移る。
以上に述べたデバッガ(3) Kおける初期設定部(<
’)の処理完了後、被テスト・プログラム(コ1がどの
ように動作するかについて説明する。
まず、被テスト・プログラム(コ)の入口点に制量が渡
されると1通常の処理手順に従って被テスト・プログラ
ム(2)が実行されるけれども、埋込み処理が行われた
BAL命令(Aay4c)の中の該当するものが実行さ
れると、制(資)は、インタフェース部コード領域(1
0)I/C渡される。ここでは、所要のレジスタ退避処
理のような、デバッガ(,71とのリンケージ処理を行
うためのリンケージ・コード(//)たよる処理が実行
され、続いて、デバッガ(3)の主処理部(3)に側聞
を渡すためのデバッガ(、?)K対するBAI、命令(
/J)が実行されて、デバッガ(3)とのリンケージが
確立する。
また、デバッガ(Jlの主処理部(りでは、所定のデバ
ッグ・コマンドにより、指定された処理を行うものであ
るが1通常は、デバッガ(、?)の初期設定部(り)k
よって埋込まれたBAL命令(Aa−Ac)のいずれか
の次に続く命令の実行に移る。その際のリンケージは、
命令退避領域(9)に退避された命令が取出され、実行
されることを除いては、通常の分岐連係命令の実行制御
と同様である。
なお、上記実施例では、1つの実行文に対するオブジェ
クトサイズがダパイト以上であることを前提にして説明
したけれども、これに限らず、例えばそのサイズが弘バ
イト未満の場合忙は、コンパイラによりNOP (ノー
オペレーション)命令を生成して、弘バイト以上のサイ
ズのオブジェクトが生成されるようにすれば、同様の動
作形態をとることができる。さらに、このような実行文
の先頭のオブジェクトが常1CIIバイト以上のNOP
命令であるようkすれば、命令退避領域(テ)は不要と
なり、デバッガ(3)とのリンケージにおいて、埋込み
コード部分の退避復旧処理を省略することもできる。
また、上記実施例では支援ツールがデバッガである場合
について説明したが、カバレジφアナライザその他の支
援ツールであってもよく、上記実施例と同様の効果を奏
する。
〔発明の効果〕
以上説明されたように、この発明釦よれば被テスト・プ
ログラムに所定のインタフェース部コード領域が設けら
れているため、その実行時に支援ツール側とのリンケー
ジを分岐連係命令で実現することが可能となり、その実
行時間が大幅忙削減された被テスト・プログラム実行制
量方式が提供されるという効果がある。
【図面の簡単な説明】
第1図は、この発明の一実施例を説明するための、被テ
スト・プログラム実行制菌時の主記憶装置の内部状態の
例示図、lEJ図は、第1図におけるデバッガの初期設
定部の処理手順を説明するためのフローチャート図、1
17図は、従来例による被テスト会プログラム実行制薗
時の主記憶装置の内部状態の例示図である。 (コ)・・被テスト・プログラム、(3)・・デバッガ
(支援ツール)、(4a)〜(6C)・・分岐連係(B
AL)命令、(り)・・文情報テーブル、(tO)・・
インタフェース部コード領域、(11)*・リンケージ
・コード、(/コ)・−デバッガへのBAL命令。 なお、各図中、同一符号は同−又は相当部分を示す。 毘2図 懲3図 手続補正書(自発) ロ召和6o霜 1月1 日

Claims (6)

    【特許請求の範囲】
  1. (1)所定の支援ツールを介して実行制御がなされる被
    テスト・プログラム実行制御方式において、前記被テス
    ト・プログラム内の実行文オブジェクトの頭部に分岐連
    係命令が埋込まれ、前記被テスト・プログラムには前記
    支援ツールとのリンケージを確立するための所要の情報
    を格納するインタフェース部コード領域が設けられるこ
    とを特徴とする被テスト・プログラム実行制御方式。
  2. (2)前記インタフェース部コード領域には所定のリン
    ケージ・コードおよび前記支援ツールに対する分岐連係
    命令が格納されることを特徴とする特許請求の範囲第1
    項記載の被テスト・プログラム実行制御方式。
  3. (3)前記支援ツールはデバッガであることを特徴とす
    る特許請求の範囲第1項記載の被テスト・プログラム実
    行制御方式。
  4. (4)前記支援ツールはカバレジ・アナライザであるこ
    とを特徴とする特許請求の範囲第1項記載の被テスト・
    プログラム実行制御方式。
  5. (5)前記被テスト・プログラム内の実行文オブジェク
    トの頭部サイズは所定の大きさにされることを特徴とす
    る特許請求の範囲第1項記載の被テスト・プログラム実
    行制御方式。
  6. (6)前記被テスト・プログラム内の実行文オブジェク
    トの頭部には、分岐連係命令の埋込み前にNOP命令が
    入れられていることを特徴とする特許請求の範囲第1項
    記載の被テスト・プログラム実行制御方式。
JP60047427A 1985-03-12 1985-03-12 被テスト・プログラム実行制御方式 Pending JPS61208126A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60047427A JPS61208126A (ja) 1985-03-12 1985-03-12 被テスト・プログラム実行制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60047427A JPS61208126A (ja) 1985-03-12 1985-03-12 被テスト・プログラム実行制御方式

Publications (1)

Publication Number Publication Date
JPS61208126A true JPS61208126A (ja) 1986-09-16

Family

ID=12774853

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60047427A Pending JPS61208126A (ja) 1985-03-12 1985-03-12 被テスト・プログラム実行制御方式

Country Status (1)

Country Link
JP (1) JPS61208126A (ja)

Similar Documents

Publication Publication Date Title
JPS63250702A (ja) シ−ケンスコントロ−ラ
JPS61208126A (ja) 被テスト・プログラム実行制御方式
JP2552738B2 (ja) データ処理装置
JPS60124746A (ja) デ−タ処理装置
JPH07319730A (ja) テスト・デバッグ方法
JP2653411B2 (ja) ブレークポイント設定方法
JPH0239332A (ja) ソフトウェアブレーク方式
JPH0756729A (ja) プログラムデバッグシステム
JPS6143347A (ja) ベクトル命令シミユレ−シヨン方法
KR950005523B1 (ko) 프로그램어블 로직 콘트롤러의 스텝 런 처리방법
JP3012618B1 (ja) 被検査プログラムのデバグ方法とそのデバグ方式
JPH04131937A (ja) デバッグ例外におけるステップトレース機能試験方法
JPH0468446A (ja) デバッグ支援装置
JP2006350676A (ja) 組込みシステムのプログラムデバッグ方法
JPH07168609A (ja) シーケンスプログラムのデバッグ方法
JPS63163543A (ja) 情報処理装置
JPH1040131A (ja) プログラムデバッグ方法
JPH05334127A (ja) I/oシミュレーション方式
JPS61156339A (ja) トレ−ス処理方式
JPH04333146A (ja) デバッグにおけるプログラムの実行制御方式
JPH05233363A (ja) エミュレータのトレース装置
JPH0259829A (ja) マイクロコンピュータ
JPH06139108A (ja) デバッグ処理方法
JPS6249502A (ja) プログラマブルコントロ−ラ
JPH05165510A (ja) ロボット制御装置