JPS63317840A - プログラムデバック方式 - Google Patents

プログラムデバック方式

Info

Publication number
JPS63317840A
JPS63317840A JP62152421A JP15242187A JPS63317840A JP S63317840 A JPS63317840 A JP S63317840A JP 62152421 A JP62152421 A JP 62152421A JP 15242187 A JP15242187 A JP 15242187A JP S63317840 A JPS63317840 A JP S63317840A
Authority
JP
Japan
Prior art keywords
module
window
program
displayed
execution
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
JP62152421A
Other languages
English (en)
Inventor
Koshio Ono
越夫 小野
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 JP62152421A priority Critical patent/JPS63317840A/ja
Publication of JPS63317840A publication Critical patent/JPS63317840A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概  要〕 プログラムのデバッグ方式に係り、特に複数のウィンド
ウを一つの画面上に表示するマルチウィンドウ技術を利
用し、複数のモジュールから構成されるプログラムに対
して個々のモジュールを各ウィンドウに対応させ、各モ
ジュールのデバッグ情報をウィンドウごとに表示するプ
ログラムデバッグ方式を提供する。
従来のプログラムデバッグ方式は、プログラム全体を対
象としデバッグ情報を一つの画面にスクロールしながら
表示していたため、モジュール間の相互結合関係、特に
call文による呼び出し関係が理解しにくいという欠
点を有していた。
本発明は特定なモジュールを各文ごとにデバッグし、そ
のときcall文により他のモジュールが呼び出された
場合に、現在表示されているウィンドウよりも呼ばれた
前記モジュールに対応するウィンドウを優先してディス
プレイ上に表示して行く方式であり、プログラムの論理
的な構造あるいはモジュールの階層構造に対応したマル
チウィンドウを利用したデバッグ方式である。
本発明によれば、各モジュールの実行トレースは別々の
ウィンドウに表示され、モジュールの呼出しにより表示
画面が切り替えられるので、プログラムのデバッグを容
易かつ正確に実行できるという効果がある。
〔産業上の利用分野〕
本発明は、プログラム上の誤りを発見し訂正するための
プログラムデバッグ方式に係り、特に複数の画面を表示
するマルチウィンドウ技術を利用し、個々のプログラム
モジュールの情報をウィンドウごとに表示し、ウィンド
ウごとにデバッグすることを可能とするプログラムデバ
ッグ方式に関する。
〔従 来 技 術〕
プログラム上の誤りを発見し訂正するために一般にデバ
ッガを用いてプログラムのデバッグが行なわれる。一般
に、プログラムは複数のモジュールを階層的に組合せて
構成され、プログラムのデバッグを行う場合、まず特定
なモジュールを指定し、次にその中の情報を指定する場
合が多い。そして各モジュールにおいて作成したプログ
ラムの誤りを発見・訂正するために、プログラムの実行
をプログラムの最小構成単位である文毎にデバッガでト
レースし順番に表示することにより、プログラムの実行
の流れを確認し、必要に応じて変数の値などのプログラ
ム情報を調べる。このようにプログラムは複数のモジュ
ールから構成され、モジュール間には相互関係がcal
l文により密接に結びついているにもかかわらず、従来
のデバッグ方式はシステム全体をデバッグ対象としてお
り、複数のモジュールの実行トレース情報が一緒に入り
雑りながら一つの画面に表示されていた。
〔発明が解決しようとする問題点〕
このような従来のプログラムデバッグ方式では、各モジ
ュール間の相互関係が重要視されていなかったため、ト
レースのどの部分がどのモジュールの実行トレースなの
かを識別するのが面倒であり、またモジュール間の呼出
し関係、すなわち、callする場合、どういうパラメ
ータで呼ばれ、exitまたはReturnする場合に
どういう値を返したのかという関係を確認するのも難し
かった。さらに、従来のデバッグ方式ではプログラム全
体を1つの単位として扱っているため、あるモジュール
内のローカルな変数などの情報を得るためには、まずモ
ジュールを特定し、次に得たい情報を指定するのに一つ
の画面でしか行なえなかったという欠点を有していた。
本発明は、複数゛のウィンドウをディスプレイ画像上に
表示するマルチウィンドウ技術を用いて被デバッグプロ
グラムの実行トレースを当該プログラムを構成するモジ
ュール単位にウィンドウに表示し、デバッグ者がモジュ
ール間の呼出し関係を確認しながら、プログラムの実行
の流れを確認できるプログラムデバッグ方式を提供する
〔問題点を解決するための手段〕
本発明のシステムの構成を第1図(a)に示す。本発明
では、被デバッグプログラムの実行をプログラムを構成
するモジュール単位に別々のウィンドウで行い、さらに
表示された各モジュール毎にデバッグ手段を提供する。
被デバッグプログラム16は複数のモジュールすなわち
プログラムモジュール17から構成される。プログラム
実行制御部14は、モジュール17を一文単位に実行し
、そのトレースをディスプレイ装置12の第1のウィン
ドウ13上に表示する。実行文が外部モジュールの呼出
しくcall)である場合、ディスプレイ装置12上に
その外部モジュールを実行するための第2のウィンドウ
13を作成し、その新たに作成した第2のウィンドウ1
3に呼び出された外部モジュールの実行をトレースする
。そのモジュールの実行が終了する(axit)と、そ
のモジュールのための第2のウィンドウ13をディスプ
レイ画面12から削除(または優先されるウィンドウの
下に移動)し、呼出し元のモジュールの当該call文
の直後から実行トレースを前記第1のウィンドウ13上
で再開する。第2のウィンドウ13のモジュールで第3
のモジュールをcallする場合も同様である。デバッ
グ者11は、各ウィンドウ13から当該モジュールに関
する情報の問い合せ、実行制御を要求することができる
が、プログラム実行制御部14はそのような入力を受は
取ると、ウィンドウ(モジュール)毎に起動されたデバ
ッガ15を用いて、要求された処理を行う。なお、デバ
ッガ15は公知のデバッガをそのまま使用することがで
きる。以上の処理がプログラム中のすべてのモジュール
が終了(exit)するまで繰り返される。
〔作   用〕
各モジュールの実行のトレースはそれぞれ対応するウィ
ンドウ上で行われ、現モジュール内に他のモジュールの
呼出しが発生すると、そのウィンドウ上での実行トレー
スは一時停止し、呼び出された外部モジュールの実行ト
レースを別のウィンドウで開始する。この外部モジュー
ルの実行が終了すると、一時停止していた呼び出し元の
現モジュールの実行トレースを再開する。また、各ウィ
ンドウには、そのウィンドウで実行中のモジュールに関
する変数の値などの問い合せ、実行の一時停止・トレー
スの変更などの実行制御を行う。
〔実  施  例〕
次に本発明の実施例を図面を参照して説明する。
本発明は複数のウィンドウを一つのディスプレイ画面上
に表示するマルチウィンドウ方式を利用し、プログラム
の個々のモジュールの情報をウィンドウごとに表示しな
がらデバッグを実行するデバッグ方式である。
第2図は本発明のプログラムデバッグ方式において、複
数のモジュールから成るプログラム20とマルチウィン
ドウ機能を有するディスプレイ画面21との関係を表現
する関係図である。プログラム20は、例えば、モジュ
ール1,2,3.  ・・・から構成され、各モジュー
ルは論理的かつ階層的に結合されている0本発明では、
このように階層的に結合された各モジュールに対応して
、ディスプレイ画面21上のウィンドウがl対lに対応
して存在する。モジュールlはウィンドウlに対応し、
モジュール2はウィンドウ2に対応し、モジュール3は
ウィンドウ3に対応する。そして、各モジュールに対応
した各ウィンドウ内には対応するモジュールの実行結果
あるいはデバッガによる実行トレースの内容が表示され
る。すなわち、ウィンドウ1.2.3の表示内容は、そ
れぞれ、モジュール1.2.3の実行結果あるいは実行
トレース内容が表示される。そして、現在トレースの実
行がなされているウィンドウが他のウィンドウ上− 遷移制御が行なわれる。
第1図(alのシステムにおいて、11はデバッグを実
行するデバッグ者、12はマルチウィンドウ機能に従っ
て複数のウィンドウを表示することが可能なディスプレ
イ装置、13は前記ディスプレイ装置の画面内に表示さ
れる各ウィンドウ、14はマルチウィンドウ機能に従っ
て各マルチウィンドウに表示されるプログラムの各モジ
ュールの処理や制御を管理するプログラム実行制御部、
前記制御部14内にはデバッガ15によるデバッグ機能
を含む。また、16は主記憶部に格納される被デバッグ
プログラムであり、複数のモジュール、例えば、モジュ
ール1.モジュール2.モジュール3等を含む複数のモ
ジュールを論理的かつ階層的に結合して構成されている
ものである。また、第1図(b)は、前記各モジュール
の内容であるプログラム文の構成を簡単に示したもので
、例えば、モジュール1には代入文等の非cal1文の
集合の後にモジュール2を呼び出すcall modu
le 2”の文があり、さらにその後に非cal1文の
集合および最後にモジュール1から抜は出るためのex
it文がある。同様に、モジュール2には代入文等の非
cal1文の集合の後にモジュール3を呼び出すcal
l module 3″の文があり、さらにその後に非
cal1文の集合と最後にモジュール2から抜は出るた
めのexit文がある。モジュール3は他のモジュール
を呼び出すcall文は存在せず、単に代入文等の非c
al1文を実行しexit文で抜は出るモジュールであ
る。
本発明では、このような各モジュールから構成されたプ
ログラムを被デバッグプログラム16としてデバッグす
る場合、各モジュールごとに複数のウィンドウ13をデ
ィスプレイ装置12に表示し、プログラム実行制御部1
4の制御により、モジュールMiのデバッグ実行中で他
のモジュールMjをcall文で呼んだとき、呼び出さ
れたモジュールMjに対応するウィンドウWjを優先的
に画面上に表示する。そのために、そのウィンドウWj
を作成し、そのモジュールMjの実行トレースを表示す
る。ウィンドウWjによるモジュールMjのデバッグの
実行トレースが終了するとその   ′ウィンドウWj
は消去または優先されるウィンドウの下に移される。そ
して元の状態すなわちモジュールMjのウィンドウWi
を優先的に表示する。
このときプログラム実行制御部14は個々のウィンドウ
の中でデバッガ15によるデバッグ処理が必要である場
合には、これを利用し、変数の値を確認したり変数の値
をある値に設定するデバッグ手段を有する。すなわち、
プログラム実行制御部14は各モジュール内にcall
文によって他のモジュールMjの呼び出しがあった場合
、その都度そのモジュールMjに対応するウィンドウW
jを開き、かつそのウィンドウWjO中でデバッガ15
を必要とする場合にはデバッガ15を動作させる。
この制御はすなわち、各ウィンドウのプロセスごとにデ
バッガ15を動作させるマルチプロセス方式に従う。
例えば、第1図(blのように、モジュール1.2゜3
から構成される被デバッグプログラム16を第1図(a
)に示されるシステムでデバッグを行う場合には、最初
はモジュール1に対応するウィンドウlが表示される。
モジュール2はモジュール1がら′″call mod
ule 2″で呼ばれているので、このcall文の実
行により、モジュール2に対応するウィンドウ2を優先
的に表示する。さらにモジュール2の中でモジュール3
が“call module 3”により呼ばれている
ので、このcall文の実行により、モジュール3に対
応するウィンドウ3を優先的に表示する。モジュール3
は他のモジュールを呼んでいないので、exitの実行
後はウィンドウ3は削除され、元のウィンドウ2が表示
される。そして、モジュール2のexitの実行により
モジュール1の表示に戻される。
プログラム実行制御部14の制御による画面内のウィン
ドウ表示遷移の実施例は第3図に示される。
第3図において、画面(1)はモジュールlの実行途中
でモジュール2を呼び出す直前の状態であり、モジュー
ル1に対応するウィンドウ1が表示されている。モジュ
ール内のcall module 2 ”によってモジ
ュール2が呼出されると画面(2)の状態になる。すな
わちモジュールlのウィンドウ1はモジュール2のウィ
ンドウ2の下側になり、モジュール2のウィンドウ2が
優先されて表示される。
さらに、画面2の状態は、モジュール2内の”call
 modqle 3″によりモジュール3を呼出した直
後であるならばモジュール3の内容はまだないが、モジ
ュール3に対応するウィンドウ3が作成され表示される
。そして、モジュール3内でデバッガによる処理が実行
されると画面(3)に遷移され、ウィンドウ3のモジュ
ール3内で、変数の値の確認や変数の設定等を含むトレ
ースの実行がなされる。モジュール3の実行終了直前に
なると画面(4)に示されるように、モジュール3のe
xit処理が成される。このexitによりモジュール
3から処理ルーチンが抜は出ると、画面(5)に示され
るように、モジュール3に対応するウィンドウ3はこの
例では削除される。デバッグのトレースはモジュール2
に戻されるが、モジュール2の実行も終了すると画面(
6)に示されるようにモジュール2に対応するウィンド
ウ2もこの例では画面から消え、再びモジュール1の処
理に実行が移される。そのため、モジエール1のウィン
ドウ1のみが画面上に残され、モジュール1実行終了時
にはexit処理が成される。
次に第4図を用いて、プログラム実行制御部14が実行
する処理フローを説明する。
処理が始まると、ステップ41で、デバッグ者11に対
して、デバッグ者11からの要求があるかどうかの判定
を行い、もしなければ、処理42において、現モジュー
ル内のプログラム文を1ステツプだけトレースを実行し
、ステップ43でそのステップのトレース結果を現モジ
ュールに対応するウィンドウ内に表示する。すなわち、
各モジュールにおいては1ステツプごとのトレース表示
とトレース情報が用意されている。ステップ44に処理
ルーチンが移ると、ここで現モジュールが他の外部モジ
ュールをcallLでいるかどうかの判定処理を実行す
る。もしcallLでいる場合には処理は45に移り、
その外部モジュールのウィンドウを画面上に表示するた
めにウィンドウの作成処理が行なわれる。もし、現モジ
ュールが他の外部モジュールをcallLでいなければ
、処理は46に移り、現モジュールがexitするかど
うかの判定処理が成される。もしexitであれば処理
47において現モジュールのウィンドウを一般的には削
除し、処理48に移る。またもし、exitでなければ
、そのまま現モジュールを実行させるために処理48に
直接移る。処理48ではプログラムの実行が終了したか
どうかの判定処理が成され、もし、プログラムの処理が
終了していなければ、再び処理41に戻り、同様な処理
がなされる。処理41において、デバッグ者からの要求
がある場合には処理49に移りデバッガ15を呼び出し
、その要求の処理を行う。例えば、変数の値の確認や変
数の値の設定などを実行する。そして、処理48に移さ
れ、プログラム実行の終了の判定を行う。処理48にお
いてプログラムの実行が終了していればend となる
このように、本発明のプログラム実行制御部14では1
ステツプごとのトレース表示を用意し、現モジュール実
行中に外部モジュールのcallがある場合には、その
外部モジュール用のウィンドウを作成し、callシて
いない場合には、現モジュールでexitがあればその
モジュールを削除する。この処理フローをプログラムの
実行が終了まで繰り返す。処理途中でデバッグ要求があ
れば、デバッガ15を呼びデバッグ処理を行う。
〔発明の効果〕
本発明によれば、各モジュールの実行トレースは別々の
画面に表示され、またモジュールの呼出しによって表示
画面が切り替り、さらにモジュール毎にデバッグ手段を
提供することができるので、プログラムの論理的構造で
あるモジュール構造に則した形でデバッグ作業を行うこ
とが出来る。
従って、本発明は、プログラムの論理的構造に従ったデ
バッグを行うことができ、ソフトウェアの容易かつ正確
なデバッグができるという効果がある。
【図面の簡単な説明】
第1図Ta)は本発明の基本的構成を示すシステム図、 第1図(b)は各モジュールの内容を簡単に示す図、第
2図本発明において各モジュールとディスプレイ画面の
マルチウィンドウとの関係を示す図、第3図はプログラ
ム実行制御部の制御による画面内のウィンドウ表示の遷
移の説明図、第4図はプログラム実行制御部の処理フロ
ーである。 11・・・デバッグ者、 12・・・ディスプレイ装置、 13・・・ウィンドウ、 14・・・プログラム実行制御部、 15・・・デバッガ、 16・・・被デバッグプログラム、 17・・・モジュール。 特許出願人    富士通株式会社 Eジュール 1      七ジ′ニール2     
 七シ”ニール3蔭 call  module  2        ca
ll  module  3         ’(b
) 4−モジ一−/しめ内啓せ朋羊1=f4Z第1図 11°  テ゛バッフ゛洛 12  ・デ゛イスアレイ装置 13・・・つ(ンドク 14 ・・・・ブO)゛ツム、ツ(tT弔りgP 邦1
5・・・ デ゛lで1.力゛ 16 ・ ・・版デ°パ゛ツアア07゛°フム17・・
・・七ジ′ニール 不発88 の尽$4’7構八′″i−〒・T′>スTムロ第1図 マlレナウ′イ〉ドクピり昭イ翼E丁、T6グ第2図

Claims (1)

  1. 【特許請求の範囲】 1)計算機システムにおいて、主記憶装置内の被デバッ
    グプログラム(16)を中央処理装置において実行し、
    プログラムの誤りを発見し訂正を行うプログラムデバッ
    グ方式において、 前記被デバッグプログラム(16)を構成する複数のモ
    ジュール(17)の各モジュール単位にウィンドウ(1
    3)をディスプレイ装置(12)の画面上に作成する制
    御手段(14)と、 表示されているウィンドウ(13)に対応するモジュー
    ルに対してデバッグ処理を実行する手段(15)を有し
    、 前記被デバッグプログラムの実行をモジュール単位に別
    々のウィンドウで行いさらに各モジュール毎にデバッグ
    することを特徴とするプログラムデバッグ方式。 2)前記制御手段は、複数の前記モジュールに対応する
    ウィンドウの中で現在表示されているウィンドウに対応
    するモジュールのトレースを実行する処理手段を有する
    ことを特徴とする特許請求の範囲第1項記載のプログラ
    ムデバッグ方式。 3)前記制御手段は、前記処理手段によりトレース実行
    中にある現モジュールに対応するウィンドウを優先させ
    てウィンドウを表示するウィンドウ表示手段を有するこ
    とを特徴とする特許請求の範囲第2項記載のプログラム
    デバッグ方式。 4)前記制御手段は、前記現モジュール内に他の外部モ
    ジュールの呼出しの発生が生じた場合に前記現モジュー
    ルに対応するウィンドウ上での実行トレースを一時停止
    し、呼び出された前記外部モジュールに対応するウィン
    ドウを作成し、前記ウィンドウ表示手段により前記外部
    モジュールのウィンドウを優先して表示すると共に呼び
    出された前記外部モジュールのトレースを前記処理手段
    で実行し、さらに、前記外部モジュールの実行終了後に
    呼出し元の前記現モジュールの実行を前記処理手段で再
    開する制御を可能とすることを特徴とする特許請求の範
    囲第3項記載のプログラムデバッグ方式。
JP62152421A 1987-06-20 1987-06-20 プログラムデバック方式 Pending JPS63317840A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62152421A JPS63317840A (ja) 1987-06-20 1987-06-20 プログラムデバック方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62152421A JPS63317840A (ja) 1987-06-20 1987-06-20 プログラムデバック方式

Publications (1)

Publication Number Publication Date
JPS63317840A true JPS63317840A (ja) 1988-12-26

Family

ID=15540146

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62152421A Pending JPS63317840A (ja) 1987-06-20 1987-06-20 プログラムデバック方式

Country Status (1)

Country Link
JP (1) JPS63317840A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02230432A (ja) * 1989-03-03 1990-09-12 Mitsubishi Electric Corp デバッグ装置の制御方法
JP2011107883A (ja) * 2009-11-16 2011-06-02 Renesas Electronics Corp デバッグ装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02230432A (ja) * 1989-03-03 1990-09-12 Mitsubishi Electric Corp デバッグ装置の制御方法
JP2011107883A (ja) * 2009-11-16 2011-06-02 Renesas Electronics Corp デバッグ装置

Similar Documents

Publication Publication Date Title
KR100248376B1 (ko) 동적-비주얼 통합 병렬 디버깅 장치 및 디버깅 방법
JP2000122886A (ja) 半導体試験装置のプログラム作成方式
US7240258B1 (en) Parallel test system and method
JPS63317840A (ja) プログラムデバック方式
JPH1139190A (ja) 並列処理プログラムのデバッグシステム、及びそのデバッグ方法
JPS6253859B2 (ja)
JPS58178408A (ja) 模擬実行機能を備えたプログラマブル・コントロ−ラ
JP3167245B2 (ja) プログラマブルコントローラ動作状態監視装置
JPS63189948A (ja) 対話形デバツガにおけるバツチ形デバツグ方式
JPS59105145A (ja) プログラムデバツグ装置
CN115145553A (zh) 一种基于脚本语言开发驱动程序的数据处理方法
JPS6170610A (ja) 数値制御装置
JPH0588878A (ja) Lisp命令実行方式
US20020007254A1 (en) Automated evaluation system and program
JPH06274567A (ja) 論理シミュレーション装置
JPH01223504A (ja) プログラマブルコントローラのサンプリングトレース方式
JPH10105226A (ja) プログラマブル表示装置
JPH0277902A (ja) プログラマブルコントローラのサンプリングトレース方式
JPH04316138A (ja) デバッグ処理装置
JPH11191072A (ja) デバッグのブレイク処理方法及びデバッグ処理装置
JPH10133717A (ja) シーケンサ用シミュレータ
JPH01156806A (ja) Faコントローラシステム
JPS5949609A (ja) 模擬実行機能を備えたプログラマブル・コントロ−ラ
JPS60171546A (ja) 入出力装置デバグ方式
JPS6172339A (ja) プログラム実行表示制御方式