JPH05197698A - 分散型情報処理システムのデバッグ方式 - Google Patents

分散型情報処理システムのデバッグ方式

Info

Publication number
JPH05197698A
JPH05197698A JP3156013A JP15601391A JPH05197698A JP H05197698 A JPH05197698 A JP H05197698A JP 3156013 A JP3156013 A JP 3156013A JP 15601391 A JP15601391 A JP 15601391A JP H05197698 A JPH05197698 A JP H05197698A
Authority
JP
Japan
Prior art keywords
time
execution
remote procedure
debugging
procedure call
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.)
Granted
Application number
JP3156013A
Other languages
English (en)
Other versions
JPH07113912B2 (ja
Inventor
Ichiro Yamashita
一郎 山下
Shigehisa Kawabe
惠久 川邉
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP3156013A priority Critical patent/JPH07113912B2/ja
Priority to US07/855,741 priority patent/US5371746A/en
Publication of JPH05197698A publication Critical patent/JPH05197698A/ja
Publication of JPH07113912B2 publication Critical patent/JPH07113912B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 並行・並列動作する複数のプロセスを一時中
断して、その一時中断に続く継続実行をしたあとのプロ
グラムの処理結果が、あたかも一時中断と継続実行のど
ちらも行なわずに実行された時のプログラムの処理結果
と等しくる。 【構成】複数のプロセス1,2,3が互いに通信を行な
い並行・並列動作を実現する分散型の情報処理システム
のデバッグ方式において、複数のプロセスの各々のデバ
ッグを行なう衛星デバッグ手段4,5,6と、その複数
の衛星デバッグ手段の動作を遠隔制御する中央デバッグ
手段7とからなり、プロセスの実行の中断と再開に基づ
き実行中断時間を算出し、中央デバッグ手段に通知する
中断時間通知手段と、あるプロセスの遠隔手続呼出しの
発行が検出されたたと、中央デバッグ手段から通知され
る他のプロセスの前記実行中断時間を含む情報に基づい
て遠隔手続呼出しの実行を遅延させる実行遅延手段とを
有する。

Description

【発明の詳細な説明】 【産業上の利用分野】
【0001】本発明は、複数の計算機を互いに関連制御
することによって、複数のプログラムを分散して処理す
る分散型の情報処理システムに関し、特にこれらの複数
のプログラムの並行、並列あるいは分散処理に際してそ
のシステム内で並行・並列動作する各プロセスを対象と
してデバッグするのに好適なデバッグ方式に関する。
【0002】
【従来の技術】近年、ネットワークの普及や計算機の低
価格化と計算機に要求される処理の複雑化と多様化によ
り、複数のプロセス各々について通信チャネルを介した
通信手段を通じて互いに通信を行い協調して並行・並列
動作するプロセスからなるプログラムが記述されるよう
になっている。特に、広域ネットワークや狭域ネットワ
ークで結合された複数の計算機に分散配置された前記並
行・並列動作するプロセスからなる分散プログラムのプ
ログラミングがおこなわれるようになっている。このよ
うなプログラミングにおいては、協調して並行・並列動
作するプロセスを容易に記述する方法や、並行・並列動
作するプロセスを容易にデバッグする方法の開拓が大き
な課題となっている。協調して並行・並列動作するプロ
セスを容易に記述する方法の一つとしては、プログラム
を、処理を提供するサーバと、処理結果を利用するクラ
イアントとに機能分離をおこない、それぞれ機能分担を
行なった形で記述することによりモジュール化プログラ
ミングを行う方法がある。特にサーバとクライアントの
機能分離の方式の一つに遠隔手続呼出しとして知られる
方法がある(たとえば、「分散コンピューティング環境
の最前線」 『日経エレクロトニクス』 1990.6.11 no.5
02 pp.122-148参照)。一方プログラムをデバッグする手
段の一つとして、デバッグしようとするプログラムの特
定の箇所にブレークポイントを設定し、そのプログラム
の実行中にブレークポイントが設定された箇所の命令が
実行される直前でプログラム全体の動作を一時中断さ
せ、プログラム中に用いられている変数の内容を調べた
り、あるいは間違った変数の内容を正しいものと置きか
えたあとで、一時中断した箇所から継続実行を行なう手
法が用いられる。(例えば、M.Linton. A Debugger for
the Berkeley Pascal System. Master's tthesis、Univ
ersity of California atBerkeley、(June、1981) 参
照)このデバッグ手法を、遠隔手続呼出しをプロセス間
通信の基本的な手段として並行・並列動作するプロセス
に対して用いる場合、あらかじめ定めた並行・並列動作
する複数のプロセスにおいて、特定のプロセス中に、デ
バッグをする者が望む地点にブレークポイントを設定
し、そのプロセスのブレークポイントが設定された箇所
の命令が実行される直前に、デバッグの対象としている
並行・並列動作する全てのプロセスの動作を一時中断さ
せたあと、従来の単一プロセスのデバッグ方式と同様の
方式で変数の内容を調べたり、あるいは間違った変数の
内容を正しいものと置きかえたあとで、一時中断させた
並行・並列動作する全てのプロセスの実行を継続する手
法が考案されている。(たとえば、、R. Cooper 「Pilgr
im: A Debugger for Distributed Systems」 Proc. of
7th Int. Conf. on Distributed Computing Systems、p
p.458-465 (Sep. 1987)の5.2節 Distributed breakpoin
ting in Pilgrimを参照)
【0003】
【発明が解決しようとする課題】しかし従来のプログラ
ムデバッグ方式では、遠隔手続呼出し呼出しをプロセス
間通信の基本的な手段として用いたプロセスがブレーク
ポイントの設定された箇所の命令を実行しようとしたと
きに、デバッグの対象となる並行・並列動作する複数の
プロセスをできるだけ速やかに一時中断させる機能を重
点として考えられていた。そして、並行・並列動作する
複数のプロセスをできるだけ速やかに一時中断させるた
めに、関連するすべてのプロセスに対し一斉に通信を行
うことのできる放送型のプロセス間通信手段を必要とし
ていた。そのため、放送型のプロセス間通信手段を有し
ない分散型の情報処理システムでは、従来の方式では必
要とする機能を構築できないという問題点があった。
【0004】本発明は、前記のプログラムデバッグ方式
の持つ問題点を解決することを課題とするものである。
即ち、本発明は、従来のプログラムデバッグ方式に対し
て、遠隔手続呼出し手段を用いて互いに通信を行う分散
型の並行・並列動作する複数のプロセスからなる情報処
理システムにおいて、放送型のプロセス間通信手段を必
要としないで、かつ並行・並列動作する複数のプロセス
を一時中断して、その一時中断に続く継続実行をしたあ
とのプログラムの処理結果が、あたかも一時中断と継続
実行のどちらも行なわずに実行された時のプログラムの
処理結果と等しいことが保証されるような、一時中断と
継続実行をする機能を提供することを課題とする。
【0005】
【課題を解決するための手段】本発明の第1の態様は、
複数のプロセス(図1の1,2,3、図2の21,2
2,23)が互いに通信を行ない並行・並列動作を実現
する分散型の情報処理システムのデバッグ方式におい
て、複数のプロセス各々に接続され、接続されたプロセ
スのデバッグを行なう複数の衛星デバッグ手段(図1の
4,5,6、図2の24,25,26)と、その複数の
衛星デバッグ手段の動作を遠隔制御する中央デバッグ手
段(図1の7、図2の27、図3)と、衛星デバッグ手
段のデバッグ対象のプロセスに遠隔手続呼出しの発行、
終了あるいはタイムアウトがあることを前もって検出す
る遠隔手続呼出し検出手段(図2の247,257,2
67)とを備えている。
【0006】各衛星デバッグ手段は、デバッグ対象のプ
ロセスの実行を一時中断させるとともに中断のあったこ
とを中央デバッグ手段に通知する実行中断手段(図2の
241,251,261)と、中断したプロセスの実行
を再開させ、その再開のあったことを中央デバッグ手段
に通知する実行継続手段(図2の243,253,26
3)と、プロセスの実行の中断と再開に基づき実行中断
時間を算出し、中央デバッグ手段に通知する中断時間通
知手段(図2の244,254,264)と、遠隔手続
呼出し検出手段があるプロセスの遠隔手続呼出しの発行
を検出したとき、中央デバッグ手段から通知される他の
プロセスの前記実行中断時間を含む情報に基づいて遠隔
手続呼出しの実行を遅延させる実行遅延手段(図2の2
45,246,255,256,265,266)とを
有する。
【0007】本発明の具体的態様によれば、中断時間通
知手段は、実行中断手段によるプロセスの中断の始まり
の時刻を保持する中断時刻保持手段(図2の242,2
52,262)と、その中断時刻保持手段に保持された
時刻と前記実行継続手段による前記プロセスの実行の再
開の時刻とから中断時間を算出する中断時間算出手段
(図2の244,254,264)と、その算出した中
断時間を中央デバッグ手段に通知する手段とを備えてい
る。
【0008】また、中央デバッグ手段は、ある衛星デバ
ッグ手段から受け取った前記中断時間に、残りのすべて
の衛星デバッグ手段に対し前記中断時間を送信するため
に必要な時間を加算して、中断による実行遅延時間を得
る手段(図3の273)と、前記残りのすべての衛星デ
バッグ手段に対しその実行遅延時間を通知する手段とを
有する。
【0009】また、前記実行遅延手段は、中央デバッグ
手段からの前記実行遅延時間を含む継続指示を受信した
とき、その実行遅延時間を必要に応じて保持する実行遅
延時間受信キュー(図2の246,)と、その実行遅延
時間に相当する遅延時間を生成するタイマー(図2の2
45)とを有する。
【0010】前記衛星デバッグ手段は、デバッグ中のプ
ロセスについて遠隔手続を発行する各プロセスごとに、
そのプロセスに対して遠隔手続呼出しを受け付け、遠隔
手続を実行するプロセスの識別情報を保持するプロセス
別サーバプロセス表を有するさらに、各衛星デバッグ手
段は、各プロセスの遠隔手続呼出しのタイムアウトを検
出するためのタイムアウト時計と、タイムアウトをした
場合にタイムアウトしなかったものとして、タイムアウ
ト時計を巻き戻す時間を保持するタイムアウト巻き戻し
時間保持部(図2の248,258,268)を有す
る。前記中央デバッグ手段は、各衛星デバッグ手段によ
り中断されたプロセスを識別する識別情報を衛星デバッ
グ部より受信し記録する中断プロセス識別情報保持手段
(図3の271)と、デバッグ中のプロセスについて遠
隔手続を実行する各プロセスごとに、そのプロセスに対
して遠隔手続呼出しの発行をするプロセスの識別情報を
保持するプロセス別クライアントプロセス表(図3の2
72)とを有する。
【0011】本発明の第2の態様は、複数のプロセスが
互いに通信を行ない並行・並列動作を実現する分散型の
情報処理システムのデバッグ方式において、前記複数の
プロセス各々に接続してデバッグを行なう複数の衛星デ
バッグ手段(図8の84,85,86)と、その複数の
衛星デバッグ手段の動作を遠隔制御する中央デバッグ手
段(図8の87)とを備える。そして、その中央デバッ
グ手段は、衛星デバッグ手段のデバッグ対象のプロセス
の遠隔手続呼出しの発行、終了、またはタイムアウトを
前もって検出する遠隔手続呼出し検出手段(図8の87
1,872,873)と、前記遠隔手続呼出し検出手段
により遠隔手続呼出しの発行、終了、またはタイムアウ
トを検出したとき、その遠隔手続呼出しに関連するプロ
セスの刻時手段の時刻を調節する時間管理手段876と
を有し、各衛星デバッグ手段は、前記デバッグ対象の複
数のプロセスのそれぞれに対応する刻時手段(図8の8
8,89,90)と、デバッグ対象のプロセスの実行を
一時中断させるとともに、そのプロセスに対応する刻時
手段の作動を停止させる実行中断手段(図8の841,
851,861)と、前記中断したプロセスの実行を再
開させるとともに、そのプロセスに対応する刻時手段の
作動を再開する実行継続手段(図8の842,852,
862)とを有する。
【0012】前記時間管理手段は、前記実行中断手段に
よって停止し、前記実行継続手段によって再起動した刻
時手段のうち、最も長時間中断した刻時手段の時刻に各
衛星デバッグ手段の刻時手段の時刻を一致させるよう構
成される。
【0013】また、前記時間管理手段は、具体的態様に
置いては、遠隔手続呼出し検出手段による遠隔手続呼出
しの発行の検出に応答して、その遠隔手続呼出しにおけ
るクライアントである第1のプロセスに対応する刻時手
段の時刻を、前記遠隔手続呼出しにおけるサーバである
第2のプロセスに到達する可能性のあるすべてのプロセ
スのそれぞれに対応する刻時手段の時刻のうち最も遅い
時刻である論理時刻と比較する第1の時刻比較手段(図
8の8761)と、前記比較の結果、前記論理時刻の方
が遅れていたときには、前記第1のプロセスの刻時手段
の時刻を停止させ、前記論理時刻の刻時手段のアラーム
に、前記第1のプロセスの時刻を設定する第1のアラー
ム設定手段(図8の8763)と、遠隔手続呼出し検出
手段による遠隔手続呼出しの終了の検出に応答して、前
記第1のプロセスの刻時手段の時刻を前記第2プロセス
の時刻に変更設定する時刻変更手段(図8の8764)
とを備えている。
【0014】さらに、前記時間管理手段は、他の具体的
態様では、前記遠隔手続呼出し検出手段によりあるプロ
セスの遠隔手続呼出しのタイムアウトの検出に応答し
て、前記第2プロセスの論理時刻を、前記第1のプロセ
スの時刻と比較する第2の時刻比較手段(図8の876
5)と、その比較の結果、前記論理時刻の方が遅れてい
るときは、前記第1のプロセスの時刻を停止させ、かつ
前記論理時刻の刻時手段のアラームに、前記第1のプロ
セスの時刻を設定する第2のアラーム設定手段(図8の
8766)と、前記アラームに設定された時刻より前に
前記遠隔手続呼出しの終了が検出されたとき、前記アラ
ームを解除し、前記アラームに設定された時刻までに前
記遠隔手続呼出しの終了が検出されなかったとき、前記
遠隔手続呼出しのタイムアウト処理を行うタイムアウト
処理手段(図8の8767)とを備えている。
【0015】
【作用】第1の態様の発明(請求項1)において、一つ
の衛星デバッグ手段、例えば第3の衛星デバッグ手段
(26)が、デバッグ対象のクライアントプロセス(2
3)のブレークポイントが設定されている命令を実行し
ようとしたことを検出すると、実行中断手段(261)
は、クライアントプロセス(23)の実行を中断させる
とともに、クライアントプロセス(23)の実行が中断
されたことを中央デバッグ手段(27)に送信する。こ
の時点では、中央デバッグ手段(27)は、特に並行・
並列動作している他のプロセス(21、22)の実行の
中断の制御をおこなわない。
【0016】デバッグが進み、デバッグをする者の指示
で第3の衛星デバッグ手段(26)が、クライアントプ
ロセス(23)の実行を継続しようとするとき、中断時
間通知手段(264)により中断時間を計算し、中央デ
バッグ手段27に中断時間を送信する。中央デバッグ手
段(27)は、全ての衛星デバッグ手段に実行継続指示
及び、中断時間を送信し終えるのに必要な継続指示送信
必要時間を計算したのち、全ての衛星デバッグ手段に実
行継続指示および計算した継続指示送信必要時間と中断
時間の和Tを送信する。実行遅延手段(246,24
5)は、遠隔手続呼出し検出手段(247,257,2
67)があるプロセス(例えば第1プロセス21)によ
り遠隔手続呼出しの発行が行われようとしていることを
検出したとき、中央デバッグ手段から通知された他のプ
ロセスの中断時間を含む情報、即ち継続指示送信必要時
間と中断時間の和Tに基づいて遠隔手続呼出しの実行を
遅延させる。以上のように、本発明は、サーバプロセス
とクライアントプロセスについて、放送型のプロセス間
通信部を必要としないで、遠隔手続呼出しによるプロセ
ス間通信の順序を変えずに、並行・並列動作する各プロ
セスの実行の中断を適切に制御することができる。従っ
て、デバッグをする者は、放送型のプロセス間通信部を
有しないネットワークシステムにおいて、デバッグ中に
プログラムの一時中断を行なってもプログラムの動作の
結果は変わらないような、好適なデバッグ手法を用いる
ことができる。
【0017】第2の態様の発明において、各プロセスは
実行開始時にホストマシンのシステム時計91などを参
照し、各プロセスの刻時手段(88,89,90)に時
刻をセットする。あるプロセス例えば図12の第1プロ
セスがある時刻、例えば時刻"3"において遠隔手続呼出
しを発行し、他のプロセス例えば図12の第2プロセス
を呼出し、対応する第2の衛星デバッグ部(85)が、
その第2プロセスのブレークポイントが設定されている
命令を実行しようとしたことを時刻"5"に検出したとす
る。この場合、第2の実行中断部(851)を用いて第
2プロセス(82)の実行をシステム時刻"5"に中断し
たあと、第2の刻時手段(89)を停止させる。この時
点で中央デバッグ部(87)は、特に並行・並列動作し
ている他のプロセス(83)の実行の中断の制御をおこ
なわない。従って、第1の刻時手段(88)および第2
の刻時手段(90)は刻時を続ける。
【0018】デバッグが進み、デバッグをする者の指示
で第2の衛星デバッグ部(85)が、ある時点例えばシ
ステム時計の時刻"10"において第2プロセス(82)
の実行を再開、継続させるとした場合、第2刻時手段
(89)は前述のように時刻"5”で停止していたの
で、その続きの刻時動作を再開する。第2プロセス(8
2)から第1プロセス(81)への遠隔手続き呼び出し
終了を遠隔手続呼出し終了検出部(872)が検出する
と、中央デバッグ部(87)の時間管理手段は、第1の
プロセス(81)の刻時手段(88)の時刻を第2プロ
セス(82)の刻時手段(89)の時刻"6"に設定す
る。
【0019】遠隔手続呼出しタイムアウト検出手段(8
73)が、第1プロセスの遠隔手続呼出しのタイムアウ
トが発生する直前の第1刻時手段(88)の時刻"7"に
おいて、遠隔手続呼出しのタイムアウトが発生すること
を検出した場合、中央デバッグ部(87)は第1衛星デ
バッグ部により、第1の刻時手段84の刻時を停止させ
る。
【0020】以上述べたようにこの本発明の第2態様に
よれば、前記第1の態様と同様に、サーバープロセスと
クライアントプロセスの衛星デバッグ手段を適切に制御
することにより、プログラムの一時中断と継続実行をお
こなうときに、放送型のプロセス間通信手段を必要とし
ないで、かつ並行・並列動作する複数のプロセスの実行
を一時中断して、その一時中断に続く継続実行をしたあ
とのプログラムの処理結果が、あたかも一時中断と継続
実行のどちらも行なわずに実行された時のプログラムの
処理結果と等しいことが保証されるような、一時中断と
継続実行をする機能を提供することができる。従って、
デバッグをする者は放送型のプロセス間通信手段を必要
としないで一時中断と継続実行を用いたデバッグをする
ことができる。 さらに、第2の態様によれば、時間管
理手段により各プロセスに対応する複数の刻時手段を調
節するようにしたので、プロセスのブレークポイント設
定による中断の時間が、複数のプロセスで一部重複があ
る場合に、遅延時間を中断の時間の和とする必要がない
ので、システム全体の遅延時間を小さくすることができ
る。
【0021】
【実施例】
〔第1の実施例〕図2は、本発明の一実施例によるデバ
ッグ方式の機能を示すブロック図である。本実施例の方
式は、図2に示すように、複数のプロセス即ち第1プロ
セス21,第2プロセス22および第3プロセス23が
互いに通信を行ない並行・並列動作を実現する分散型の
情報処理システムのデバッグ方式である。そして、この
方式は、これらのプロセス21,22,23の各々と接
続してデバッグを行なう複数(この例では3個)の衛星
デバッグ部即ち第1,第2,第3の衛星デバッグ部2
4,25,26と、その複数の衛星デバッグ部24,2
5,26の動作を遠隔制御する中央デバッグ部27とを
備えている。また複数の衛星デバッグ部24,25,2
6と中央デバッグ部27が時刻を参照するための時計2
8を備える。
【0022】また各々の衛星デバッグ部24、25、2
6は図2に示すように、各々と接続している複数のプロ
セス21、22、23が各々のプロセス中に設定されて
いるどれかのブレークポイントの位置の命令を実行する
直前に、プロセスの実行を一時的に中断する実行中断部
241、251、261と、中断した時の時刻を保持す
る中断時刻保持部242、252、262および中断し
ているプロセスを再開し継続実行するための実行継続部
243、253、263と、継続実行時に中断時刻保持
部242、252、262と時計28から、実行が中断
されていた時間を計算する中断時間計算部244、25
4、264と、実行中断部241、251、261およ
び第1、第2、第3の実行継続部243、253、26
3と組み合わせて、前記複数の衛星デバッグ部24、2
5、26が接続しているそれぞれのプロセスの実行を任
意時間中断するのに用いるタイマー245、255、2
65と、中央デバッグ部27から送られる中断時間情報
をFIFO(先入れ先だし)形式で保持する受信キュー2
46、256、266と、衛星デバッグ部24、25、
26のデバッグ対象のプロセスに遠隔手続呼出しの発行
が発生する直前に、遠隔手続呼出しの発行が起動される
ことを検出する第1、第2、第3の遠隔手続呼出し発行
検出部247、257 、267と、発行済の遠隔手続
呼出しが予め定めた期間内に返り値が得られない場合即
ちタイムアウトをした場合にタイムアウトしなかったも
のとして、第1、第2、第3のタイムアウト時計を巻き
戻す時間を保持する第1、第2、第3のタイムアウト巻
き戻し時間保持部248、258、268と、デバッグ
中のプロセスについて遠隔手続を発行する各プロセスご
とに、そのプロセスに対して遠隔手続呼出しを受け付
け、遠隔手続を実行するプロセスの識別情報を保持する
プロセス別サーバプロセス表249、259、269を
有する。
【0023】また前記中央デバッグ部27は、図3に示
すように、衛星デバッグ部24,25、26が中断した
プロセスを識別する識別情報を衛星デバッグ部24,2
5,26より受信し記録する中断プロセス識別情報保持
部271と、デバッグ中のプロセスについて遠隔手続を
実行する各プロセスごとに、そのプロセスに対して遠隔
手続呼出しの発行をするプロセスの識別情報を保持する
プロセス別クライアントプロセス表272を備える。図
9は複数のプロセスP1〜P5間の遠隔手続呼出しにお
けるクライアント、サーバの関係の例を表すもので、図
10はその関係を表にしたプロセス別クライアント表の
例を示すものである。なお、各プロセス間の通信、各衛
星デバッグ部相互間の通信、および中央デバッグ部と各
衛星デバッグ部との間の通信はそれぞれ適宜の通信手段
により行われるが、通信手段は公知の任意のものを用い
ることができ、ここでは説明を省略する。
【0024】上記構成において、第1の衛星デバッグ部
24によりデバッグが行なわれている一つのクライアン
トプロセスである第1プロセス21(以下、クライアン
トプロセス21)の実行中に、遠隔手続を含むサーバプ
ロセスである第2プロセス22(サーバプロセス22)
が動作している計算機上で、第2の衛星デバッグ部25
によりデバッグが行なわれているサーバプロセス22に
対して、遠隔手続呼出しの発行を行ない、また、第3の
衛星デバッグ部26によりデバッグが行なわれている一
つのクライアントプロセスである第3プロセス23(以
下、クライアントプロセス23)の実行中に、サーバプ
ロセス22対して遠隔手続呼出しの発行を行なう場合を
例に取り動作を説明する。また、ここで遠隔手続を有す
るプロセスは遠隔手続のみを実行するものとする。ここ
でデバッグをする者は、中央デバッグ部27から指示し
て、プロセス、たとえばクライアントプロセス23にブ
レークポイントを設定する。サーバプロセス22の実行
の中断を行なうとき、サーバプロセス23の実行の中断
された時点で、クライアントプロセス21あるいはクラ
イアントプロセス23はサーバプロセス22に対して遠
隔手続呼出しを発行中でないものと説明する。
【0025】第3の衛星デバッグ部26が、クライアン
トプロセス23のブレークポイントが設定されている命
令を実行しようとしたことを検出すると、実行中断部2
61は、クライアントプロセス23の実行を中断させる
とともに、クライアントプロセス23の実行が中断され
たことを中央デバッグ部27に送信する。中央デバッグ
部27はこの情報を中断プロセス識別情報保持部271
に記録する。この時点では、中央デバッグ部27は、特
に並行・並列動作している他のプロセス21、22の実
行の中断の制御をおこなわない。ここで遠隔手続呼出し
発行検出部の実現方法は従来から知られる方法によるも
のとする。例えば、遠隔手続呼出し起動ライブラリに前
もって、遠隔手続呼出しが起動されるときに、衛星デバ
ッグ部に制御を引渡すことができるように、ブレークポ
イントを設定しておく方法とする。
【0026】デバッグが進み、デバッグをする者の指示
で第3の衛星デバッグ部26が、クライアントプロセス
23の実行を継続しようとするとき、中断時間計算部2
64により中断時間を計算し、中央デバッグ部27に中
断時間を送信する。中央デバッグ部27は接続している
衛星デバッグ部の数をプロセス別クライアント表272
により調べ、全ての衛星デバッグ部に実行継続指示、中
断されたプロセス識別情報、および、中断時間を送信し
終えるのに必要な継続指示送信必要時間を計算したの
ち、全ての衛星デバッグ部に実行継続指示、中断された
プロセス識別情報および計算した継続指示送信必要時間
と中断時間の和Tを送信したあと、中断プロセス識別情
報保持部271に記録されている情報を消去し、次の実
行中断に備える。上記情報の送信において、放送型の通
信によらず、送信先の衛星デバッグ部の順序を予め定め
られた適当な順序とし、一対一、あるいは一対複数の通
信により行うことができる。しかし、放送型の通信部を
用いて一斉同報により通信をおこなっても良い。また継
続指示送信必要時間と中断時間の和のかわりに継続指示
送信必要時間と中断時間の和に現在時刻あるいは定数を
加えるか引くかしたものを送信してもよい。
【0027】各衛星デバッグ部24、25、26は実行
継続指示、中断されたプロセス識別情報、および、継続
指示送信必要時間と中断時間の和Tを受信したならば、
受信した時点(図4(b)のt2)で、遠隔手続呼出し
を実行中でなければ、継続指示送信必要時間と中断時間
の和は各衛星デバッグ部24、25、26の有する受信
キュー246、256、266の最後のデータとして追
加される。
【0028】次に、各衛星デバッグ部に接続しているプ
ロセスが遠隔手続呼出しの順序を保持するために衛星デ
バッグ部の指示によって中断中であるときの動作を説明
する。各衛星デバッグ部24、25、26ごとに次の
(ア)(イ)の操作を繰り返す。 (ア) 各衛星デバッグ部24、25、26の有する受信
キュー246、256、266をそれぞれ調べる。その
結果受信キューが空である場合、受信キューが空である
衛星デバッグ部に接続しているプロセスの実行が再開さ
れたことを中央デバッグ部26に送信し、実際に継続実
行を開始させ、(ア)(イ)の繰り返しを終了する。中央デ
バッグ部27はプロセスの実行が再開されたこと受信
し、この情報により中断プロセス識別情報保持部271
から指定されたプロセスの情報を消す。 (イ) それぞれの受信キュー246、256、266に
保持されている継続指示送信必要時間と中断時間の和
(図4(b)のT)を、それぞれ着信順に取り出し合計
を計算して、中断時刻保持部242、252、262に
それぞれ加えることにより計算される継続実行開始時刻
を、それぞれタイマー245、255、265にセット
し、それぞれのプロセス21、22、23の実行を中断
したまま待つ。
【0029】次に各衛星デバッグ部に接続しているプロ
セスの処理がそれぞれ進み、サーバプロセスに遠隔手続
呼出しを発行した場合、遠隔手続呼出しの順序を保存す
るために必要に応じてプロセスを中断させるときの動作
を説明する。第1の衛星デバッグ部24に接続している
クライアントプロセス21の処理が進み、図4の時刻t
1においてサーバプロセス22への遠隔手続呼出しの発
行が行われることを遠隔手続呼出し発行検出部247が
検出すると、第1の衛星デバッグ部24は、タイムアウ
ト巻き戻し時間保持部248の内容を消去するととも
に、中央デバッグ部27に、サーバプロセス22への遠
隔手続呼出しの発行が発生することを知らせる。
【0030】中央デバッグ部27は、中断プロセス識別
情報保持部271の記録を調らべ、遠隔手続呼出しの受
け手であるサーバプロセス22の実行が中断されていれ
ば、クライアントである第1プロセス21に関連して実
行が中断されているプロセスがあることを第1の衛星デ
バッグ部24に答える。もし中断プロセス識別保持部2
71にサーバプロセス22の中断が記録されていなけれ
ば、プロセス別クライアントプロセス表272により、
サーバプロセス22のクライアントのどれかが中断プロ
セス識別情報保持部271に登録されているか否か、す
なわち実行が中断されているクライアントプロセスがあ
るか否かを調べる(上記図4(b)の例では実行が中断
されているクライアントプロセス、すなわち第3プロセ
スがある)。このようにして、サーバプロセス22から
始まってプロセス別クライアントプロセス表272を繰
り返し引くことにより得られる、考えられうるすべての
クライアントプロセスを調べ、どれかのクライアントプ
ロセスの実行が中断されていることが分った場合、クラ
イアントプロセス21に関連して実行が中断されている
プロセスがあることを第1の衛星デバッグ部24に答え
る。
【0031】第1の衛星デバッグ部24は、クライアン
トプロセス21に関連して実行が中断されているプロセ
スがあることを通知された場合、クライアントプロセス
21の実行を遠隔手続呼出しが発行される直前で中断
し、クライアントプロセス21の実行が中断されたこと
を中央デバッグ部27に送信し,中央デバッグ部27は
この情報を中断プロセス識別情報保持部271に記録す
る.第1の衛星デバッグ部24は、クライアントプロセ
ス21に関連して実行が中断されているプロセスがない
ことを知った場合、受信キュー246を調べ、受信キュ
ー246が空ならば、そのままなにもしない。その結
果、クライアントプロセス21は遠隔手続呼出しを行な
い、処理を継続する。
【0032】第1の衛星デバッグ部24は、クライアン
トプロセス21に関連して実行が中断されているプロセ
スがなくて、かつ受信キュー246が空でない場合(例
えば図5(b)の第1プロセスの場合)ならば、クライ
アントプロセス21の実行を遠隔手続呼出しが発行され
る直前(図5の(b)では時刻t3)で中断し、クライ
アントプロセス21の実行が中断されたことを中央デバ
ッグ部27に送信し,中央デバッグ部27はこの情報を
中断プロセス識別情報保持部271に記録する。そのあ
と前記(ア)(イ)の操作を繰り返す。図5(b)の例てで
は時刻t4にて再度第3プロセスの一時中断と継続実行
による遅延時間T2を受信しているので、前記(ア)
(イ)の操作はそれぞれ(ア)(イ)(ア)(イ)の順
序で2回ずつ行われる。
【0033】次に、サーバプロセス22の実行が中断さ
れたとき、クライアントプロセス21はサーバプロセス
22に対して遠隔手続呼出しを発行中であるときを説明
する。第2の衛星デバッグ部25の作用はこれまでの説
明と同じである。第1の衛星デバッグ部24の動作は、
クライアントプロセス21がサーバプロセス22から遠
隔手続呼出しの返り値を受信する前に、タイムアウト時
計211が時間切れを検出することによってタイムアウ
トを発生する場合で説明する。タイムアウトを発生しな
い場合は特に処理はしない。各衛星デバッグ部24、2
5、26において、中央デバッグ部27からの実行継続
指示および、継続指示送信必要時間と中断時間の和Tを
受信したならば、受信した時点で、各衛星デバッグ部2
4、25、26と接続しているプロセスが遠隔手続呼出
しを実行中である場合、継続指示および、継続指示送信
必要時間と中断時間の和を送信したデバッグ部が接続し
ているプロセスが、受信した衛星デバッグ部の接続して
いるプロセスをキーとしてプロセス別サーバプロセス表
249、259、269をそれぞれ独自に引いて得られ
るプロセスのどれかに一致しているか、あるいは、プロ
セス別サーバプロセス表249、259、269を引い
て得られるプロセスを新たなキーとして、繰り返しプロ
セス別サーバプロセス表を引いて得られるプロセスのど
れかに一致していれば、受信した継続指示送信必要時間
と中断時間の和を、それぞれタイムアウト巻き戻し時間
保持部248、258、268に記録する。一致してい
なければ、受信した継続指示送信必要時間と中断時間の
和は、各衛星デバッグ部24、25、26の有する受信
キュー246、256、266の最後のデータとして追
加される。
【0034】衛星デバッグ部24は、タイムアウトが発
生する場合、タイムアウトが発生したときに第1の衛星
デバッグ部24はタイムアウト処理を実行せずにクライ
アントプロセス21の実行を中断する。次に、タイムア
ウト巻き戻し時間保持部248を調べ、タイムアウト巻
き戻し時間が記録されているばあい、タイムアウト時計
211をタイムアウト巻き戻し時間保持部248に記録
されているタイムアウト巻き戻し時間だけもどして実行
を継続する。
【0035】タイムアウト巻き戻し時間保持部248を
調べ、タイムアウト巻き戻し時間が記録されていない場
合、衛星デバッグ部24は、中央デバッグ部27に、ク
ライアントプロセス21に関連して実行が中断されてい
るプロセスがあるかどうかを問い合わせ、その答とし
て、クライアントプロセス21に関連して実行が中断さ
れているプロセスがある場合、衛星デバッグ部24は、
実行継続指示および、継続指示送信必要時間と中断時間
の和を受信するまで待つ。クライアントプロセス21に
関連して実行が中断されているプロセスがない場合、ク
ライアントプロセス21の実行を継続し、その結果クラ
イアントプロセス21はタイムアウトの処理を実行す
る。
【0036】以上のように、本実施例は、サーバプロセ
スとクライアントプロセスについて、放送型のプロセス
間通信部を必要としないで、遠隔手続呼出しによるプロ
セス間通信の順序を変えずに、並行・並列動作する各プ
ロセスの実行の中断を適切に制御することができるの
で、デバッグをする者は、放送型のプロセス間通信部を
有しないネットワークシステムにおいて、デバッグ中に
プログラムの一時中断を行なってもプログラムの動作の
結果は変わらないような、好適なデバッグ手法を用いる
ことができる。
【0037】次に、以上に説明した実施例の動作のその
他の具体例について説明する。図4〜図7は、動作例を
タイムチャートで示したものである。なお、タイムチャ
ートにおいて破線の矢印は、本来、ブレークポイントの
中断がなかったら遠隔手続呼出しが発生する地点を示す
ものである。 (動作例1)図4の(a)は、クライアントプロセス2
3がサーバプロセス22に遠隔手続呼出しを発行したあ
と、クライアントプロセス21がサーバプロセス22に
遠隔手続呼出しを発行し、その後、再び、クライアント
プロセス23がサーバプロセス22に遠隔手続呼出しを
発行する例を示すものであり、この例ではブレークポイ
ントは設定されていない。図4の(b)は、クライアン
トプロセス23がサーバプロセス22に遠隔手続呼出し
を発行したあと、でかつ、クライアントプロセス21が
サーバプロセス22に遠隔手続呼出しを発行する前に、
クライアントプロセス23がブレークポイントの設定さ
れた命令を実行しようとする場合の例を示すものであ
る。図4の(b)で示すように第3プロセス(クライア
ントプロセス)23が第2プロセス(サーバプロセス)
22に遠隔手続呼出しを発行したあと、でかつ、第1プ
ロセス21が第2プロセス22に遠隔手続呼出しを発行
する前に、第3プロセス23がブレークポイントの設定
された命令を実行しようとすれば、その実行が中断され
る。このとき、第3プロセス23に接続している第3の
衛星デバッグ部26は中央デバッグ部27に第3プロセ
ス23の実行の中断を知らせる。次に、時刻t1にて第
1プロセス21が第2プロセス22に遠隔手続呼出しを
発行しようとして、遠隔手続呼出しが遠隔手続呼出し発
行検出部247で検出されるので,第1の衛星デバッグ
部24は 中央デバッグ部27に第1プロセス21に関
連するプロセスが中断されているかどうか問い合わせ
る。
【0038】さて、ここで中央デバッグ部27は、第1
プロセス21のサーバプロセスである第2プロセス22
についてプロセス別クライアントプロセス表272を調
べると、第1プロセス21、および第3プロセス23が
登録されており、次に、中断プロセス識別情報保持部2
71により実行中断プロセスを調べると第3プロセス2
3が登録されているため、中央デバッグ部27は第1の
衛星デバッグ部24に第1プロセス21に関するプロセ
スが中断されていると返答する。そうすると、第1の衛
星デバッグ部24は第1プロセス21を中断する。
【0039】その後、図4(b)に示すように、第3プ
ロセス23は継続実行が指示され、第3の衛星デバッグ
部26の中断時間計算部264は中断時間を計算し、中
央デバッグ部27に継続指示と第3プロセス23の中断
時間を送信する。中央デバッグ部27の延期時間計算部
273は、全ての衛星デバッグ部に継続指示を送信する
のに必要な時間を見積もって、中断時間と加える。この
時間を延期時間Tとする。そして、中央デバッグ部27
は全ての衛星デバッグ部に継続指示と延期時間Tを予め
定めた順序で送信する。中央デバッグ部27は、各衛星
デバッグ部に継続指示と延期時間Tを送信するたびに、
各衛星デバッグ部が継続指示と延期時間Tを受信した
ら、その衛星デバッグ部が接続しているプロセスが中断
プロセス識別情報保持部271に登録されているかどう
かを調べ、登録されていれれば、その登録を記録から消
す。衛星デバッグ部23は、Tを受信し中断時間がちょ
うど Tとなる時刻t2に第3プロセス23を再開させ、
第3プロセス23は継続実行する。
【0040】また、第1の衛星デバッグ部24は時刻t
2で継続指示と延期時間Tを受信し、第1プロセス21
の中断時間が丁度Tと等しくなる時間(時刻t2より、
T−(t2−t1)時間)だけタイマ245を使って待っ
たのち第1プロセス21を継続実行させる。その結果、
第3プロセス23の中断以降での、第1プロセス21と
第2プロセス22と第3プロセス23の間のプロセス間
通信の前後関係は変化しないため、プログラム全体の動
作は第3プロセス23を中断しなかった場合、すなわ
ち、図4の(a)で示す場合と等価になり、プログラム
の結果は変わらない。
【0041】また、第1プロセス21は時刻t1以後、
時刻(t1+T)までの間のどこで継続指示を受信しても第
1プロセス21の継続実行の再開のタイミングは変わら
ないため、中央デバッグ部27は放送型の一斉同報通信
をもちいることなく、デバッグ部ごとに1対1の通信に
より送信をすることができる。もちろん、放送型の一斉
同報通信により、継続指示を送信してもなんら構わな
い。
【0042】(動作例2)図5に本発明の実施例の他の
動作例のタイムチャートで示す。この動作例は図5の
(a)で示すように、本来は第3プロセス23が第2プ
ロセス22に遠隔手続呼出しを発行したあと、第1プロ
セス21第2がプロセス22に遠隔手続呼出しを発行す
る例である。図5(b)で示すように第3プロセス23
が第2プロセス22に遠隔手続呼出しを発行する前に、
第3プロセス23がブレークポイントの設定された命令
を実行しようとすれば、その実行が中断される。このと
き、第3プロセス23に接続している第3の衛星デバッ
グ部26は中央デバッグ部27にプロセス3の実行の中
断を知らせる。次に、第1プロセス21が第2プロセス
22に遠隔手続呼出しを発行する前に第3プロセス23
の実行継続が行なわれた場合、動作例1と同様にして、
中央デバッグ部27に第3プロセス23の実行継続と中
断時間が知らされ、その結果中央デバッグ部27は延期
時間T1を決定し、全ての衛星デバッグ部に継続指示と
延期時間T1を送信する。
【0043】第1の衛星デバッグ部21が継続指示と延
期時間T1を受信した時点で、第1プロセス21は実行
が中断されていないため、延期時間T1は受信キュー2
46に蓄積される.その後、第1プロセス21の遠隔手
続呼出しの発行が検出され受信キュー246の内容を調
べると、受信キュー246は空でないため、第1衛星デ
バッグ部24は第1プロセス21の実行を中断し、延期
時間T1だけ待つ。この後、第3プロセス23は再度ブ
レークポイントに到達し、前記のブレークポイント到達
と同様に、デバッグをする者の継続の指示によって中央
デバッグ部27から継続指示と延期時間T2が送信され
る。
【0044】第1の衛星デバッグ部24は延期時間T1
だけ第2プロセスへの遠隔手続呼出しの発行を待った後
再度、受信キュー246の内容を調べ、さらに延期時間
T2だけ待つ。第1プロセス21が中断されたまま、第
1の衛星デバッグ部21が延期時間T2だけ待っている
間に、継続実行された第3プロセスが第2プロセス22
に遠隔手続呼出しを発行する。その後、第1の衛星デバ
ッグ部24は延期時間T2だけ待ったあと、受信キュー
246の内容が空であることを知り、第1プロセス24
を継続実行させ、その結果、第1プロセス21は第2プ
ロセス22に遠隔手続呼出しを発行する。
【0045】この動作例においても、第1プロセス21
と第2プロセス22と第3プロセス23のプロセス間通
信の関係は実行を中断しなかった場合、すなわち、図5
の(a)と変わらないため、プログラム全体の動作は第
3プロセス23を中断しなかった場合、すなわち、図5
の(a)で示す場合と等価になり、プログラムの結果は
変わらない。このため、この動作例においても、デバッ
グをする者はプログラムの動作を変えることなく実行の
中断と継続実行ができる。また動作例1と同じ理由で、
中央デバッグ部27は放送型の一斉同報通信を用いるこ
となく、デバッグ部ごとに1対1の通信により送信をす
ることができる。もちろん、放送型の一斉同報通信によ
り、継続指示を送信してもなんら構わない。
【0046】(動作例3)図6は本発明の実施例のさら
に他の動作例のタイムチャートを示すものである。この
動作例は図6の(a)で示すように、本来は第4プロセ
ス(図2には示されていない)が第3プロセスに遠隔手
続呼出しを発行したあと、第3プロセスが返り値を返す
前に第2プロセスに遠隔手続呼出しを発行し、その後、
第1プロセスが第2プロセスに遠隔手続呼出しを発行す
る例である。図6の(b)で示すように第4プロセスが
第3プロセスに遠隔手続呼出しを発行する前に、第4プ
ロセスがブレークポイントの設定された命令を実行しよ
うとすれば、その実行が中断される。このとき、第4プ
ロセスに接続している第4衛星デバッグ部(図2には示
されていない)は中央デバッグ部に第4プロセスの実行
の中断を知らせる。
【0047】次に、第1プロセスが第2プロセスに遠隔
手続呼出しを発行する前に第4プロセスの実行継続が行
なわれた場合、動作例1と同様にして、中央デバッグ部
に第4プロセスの実行継続と中断時間が通知され、その
結果中央デバッグ部は延期時間Tを決定し、全ての衛星
デバッグ部に継続指示と延期時間Tを送信する。第1の
衛星デバッグ部が継続指示と延期時間Tを受信した時点
で、第1プロセスは実行が中断されていないため、延期
時間Tは第1衛星デバッグ部の受信キューに蓄積され
る。その後、第1プロセスに遠隔手続呼出しの発行が検
出され第1衛星デバッグの受信キューの内容を調べる
と、受信キューは空でないため、第1衛星デバッグ部2
4は第1プロセスの実行を中断し、延期時間Tだけ待
つ。また、第2プロセスと第3プロセスは継続指示と延
期時間Tを受信するが、第4プロセスはそれぞれのサー
バプロセスであるため受信キューには蓄積されないの
で、その後の動作には影響を与えない。
【0048】(動作例4)図7の(a)は、第2プロセ
スから第3プロセスへの遠隔手続呼出しのタイムアウト
1と、第1プロセスから第2プロセスへの遠隔手続呼出
しのタイムアウト2の位置を示した図である。第1の衛
星デバッグ部24は、第1プロセス21が第2プロセス
22から遠隔手続呼出しの返り値の受信が遅れれば、タ
イムアウト時計211が時間切れを検出することによっ
てタイムアウト1を発生する。しかし、本来の動作を行
えばタイムアウト1が発生する前に返り値を受信するこ
とができる。
【0049】第3プロセスがブレークポイントにより動
作が中断することで返り値の受信が遅れ、それにより衛
星デバッグ部24は、タイムアウト1が発生する場合、
タイムアウト1の発生が検出されたときに第1の衛星デ
バッグ部24はタイムアウト処理を実行せずにクライア
ントプロセス21の実行を中断する。次に、タイムアウ
ト巻き戻し時間保持部248を調べ、タイムアウト巻き
戻し時間が記録されている場合(図7(b)ではt5で
の継続指示と延期時間Tの受信以後にt7で発生したタ
イムアウト2が相当する)、タイムアウト時計211を
タイムアウト巻き戻し時間保持部248に記録されてい
るタイムアウト巻き戻し時間だけもどして実行を継続す
る。
【0050】タイムアウト巻き戻し時間保持部248を
調べ、タイムアウト巻き戻し時間が記録されていない場
合(図7(b)ではt5での継続指示t6で発生したタイ
ムアウト1がこの場合に相当する)、衛星デバッグ部2
4は、中央デバッグ部27に、クライアントプロセス2
1に関連して実行が中断されているプロセスがあるかど
うかを問い合わせ、その答として、クライアントプロセ
ス21に関連して実行が中断されているプロセス(この
場合、第3プロセス)があるので、衛星デバッグ部24
は、実行継続指示および、継続指示送信必要時間と中断
時間の和を受信するまで待つ。
【0051】〔第2の実施例〕前述の第1の実施例のプ
ログラムデバッグ方式では、複数のプロセスで並行的に
一時中断と継続実行が行なわれた場合には、それらの停
止時間の総和に相当する時間だけ、その他の各プロセス
の遠隔手続き呼び出しの発行を遅らせる。そのため、第
1の実施例ではシステム全体の実行が必要以上に遅れる
ことがある。本第2の実施例は、この点を改良するもの
である。図8は、第2の実施例の構成を示すものであ
る。これは、第1の実施例と同様に、複数のプロセス即
ち第1プロセス81,第2プロセス82,・・,第nプ
ロセス83が互いに通信を行ない並行・並列動作を実現
する分散型の情報処理システムのデバッグ方式である。
そして、複数のプロセス81,82,83の各々と接続
してデバッグを行なう複数の衛星デバッグ部即ち第1衛
星デバッグ部84,第2衛星デバッグ部85,第3衛星
デバッグ部86と、それらの複数の衛星デバッグ84,
85,86の動作を遠隔制御する中央デバッグ部87と
を備えている。また、複数の衛星デバッグ部84,8
5,86が各々と接続しているプロセスの時刻の参照と
停止と設定をおこなう複数の時計88,89,90を備
えている。また、それらの時計を同期させ、システムの
基準となる時計であるシステム時計91を備えている。
また各々の時計88,89,90には、時刻とプロセス
識別子の組で複数のアラームをセットすることができ
る。
【0052】中央デバッグ部87は、遠隔手続呼出しの
発行が行われることを各プロセスごとに事前に検出する
遠隔手続呼出し発行検出部871と、第1〜第nの衛星
デバッグ部84,85,86のデバッグ対象のプロセス
に遠隔手続呼出しの終了が発生する直前に、遠隔手続呼
出しの終了が起動されることを検出する遠隔手続呼出し
終了検出部872 と、第1〜第nの衛星デバッグ部8
4〜86のデバッグ対象のプロセスに遠隔手続呼出しの
タイムアウトが発生する直前に、遠隔手続呼出しのタイ
ムアウトが起動されることを検出する遠隔手続呼出しタ
イムアウト検出部873を有する。さらに、中央デバッ
グ部87は、衛星デバッグ部84〜87が中断したプロ
セスを識別する識別情報を衛星デバッグ部84〜86よ
り受信し記録する中断プロセス識別情報保持部874
と、デバッグ中のプロセスについて遠隔手続呼出しを発
行する各プロセスごとに、その遠隔手続呼出しを受け付
け、かつ遠隔手続を実行するプロセスの識別情報を保持
するプロセス別サーバプロセス表875を備える。
【0053】また、中央デバッグ部87はクライアント
の時計の時刻にサーバの時計の時刻をを一致させる時間
管理部876を有している。その時間管理部876は、
遠隔手続呼出し発行検出部871による遠隔手続呼出し
の発行の検出に応答して、その遠隔手続呼出しにおける
クライアントである第1のプロセスに対応する時計の時
刻を、遠隔手続呼出しにおけるサーバである第2のプロ
セスに到達する可能性のあるすべてのプロセスのそれぞ
れに対応する時計の時刻のうち最も遅い時刻であるサー
バの論理時刻と比較する第1の時刻比較部8761と、
比較の結果、前記論理時刻の方が遅れていたときには、
1のプロセスの時計を停止させ、前記論理時刻を決定す
るプロセスの時計のアラームに、第1のプロセスの時刻
を設定する第1アラーム設定部8764と、遠隔手続呼
出し終了検出部872による遠隔手続呼出しの終了の検
出に応答して、第1のプロセスの時計の時刻を第2プロ
セスの時刻に変更設定する時刻変更部8765と、遠隔
手続呼出しタイムアウト検出部873によりあるプロセ
スの遠隔手続呼出しのタイムアウトの検出に応答して、
第2プロセスの論理時刻を、第1のプロセスの時刻と比
較する第2の時刻比較部8763と、その比較の結果、
論理時刻の方が遅れているときは、第1のプロセスの時
計を停止させ、かつ論理時刻の時計のアラームに、第1
のプロセスの時刻を設定する第2のアラーム設定部87
66と、前記アラームに設定された時刻より前に遠隔手
続呼出しの終了が検出されたとき、前記アラームを解除
し、前記アラームに設定された時刻までに前記遠隔手続
呼出しの終了が検出されなかったとき、遠隔手続呼出し
のタイムアウト処理を行うタイムアウト処理部8767
とを備えている。
【0054】次に、以上のように構成された本実施例の
デバッグ方式の動作について、動作例により説明する。
(動作例1)図12は、第1と第3の衛星デバッグ部8
4,86により各々デバッグが行なわれているクライア
ントプロセスである第1プロセス81(以下、第1のク
ライアントプロセス81)と第3プロセス(以下、第2
のクライアントプロセス)83が、遠隔手続きを含む第
2プロセス82が動作している計算機上で、第2の衛星
デバッグ部85によりデバッグが行なわれているサーバ
プロセスである第2プロセス82に対して、遠隔手続き
呼び出しの発行を行なう例を示すものであって、同図
(a)はデバッグによる中断がない場合を示し、同図
(b)は第2プロセスに中断がある場合を示すものであ
る。この例では、衛星デバッグ部の数nは3である。こ
こでデバッグをする者の指示によりサーバプロセス82
にブレークポイントを設定し、第1のクライアントプロ
セス81がサーバプロセス82に遠隔手続き呼び出しの
発行を行ない、サーバプロセス82の実行の中断された
時点(時刻"5")で、第2のクライアントプロセス83
はサーバプロセス82に対して遠隔手続き呼び出しを発
行中でないものとして作用を説明する。
【0055】各プロセスは実行開始時にホストマシンの
システム時計91を参照し、各プロセスの時計88,8
9,90に時刻をセットする。プロセスが複数のホスト
マシン上で実行される場合にも、timed(タイムサーバデ
ーモン、TSP: The Time Synchronization Protocol for
UNIX 4.3BSD、R. Gusella and S. Zatti)のようなネ
ットワーク上の各ホストマシンのシステム時計を同期さ
せるプロトコルによって各ホストマシンのシステム時計
を前もって同期させておくことで各プロセスの時計を同
期させる。図12(b)において、第1プロセスが時
刻"3"において遠隔手続呼出しを発行し、第2プロセス
に第2の衛星デバッグ部85が、その第2プロセスのブ
レークポイントが設定されている命令を実行しようとし
たことを検出し、第2の実行中断部851を用いて第2
プロセス82の実行をシステム時刻"5"に中断したあ
と、第2の時計89を停止させる。この時点で中央デバ
ッグ部87は、特に並行・並列動作している他のプロセ
ス83の実行の中断の制御をおこなわない。従って、第
1の時計88および第2の時計90は刻時を続ける。
【0056】デバッグが進み、デバッグをする者の指示
で第2の衛星デバッグ部85が、システム時計の時刻"
10"において第2プロセス82の実行を再開、継続さ
せる。第2時計89は前述のように時刻"5”で停止し
ていたので、その続きの刻時動作を再開する。第2プロ
セス82から第1プロセス81への遠隔手続き呼び出し
終了を遠隔手続呼出し終了検出部872が検出すると、
中央デバッグ部87は第1のプロセス81の時計88の
時刻を第2プロセス82の時計89の時刻"6"に設定す
る。デバッグ中に第1プロセス81の時刻が進み遠隔手
続き呼び出しのタイムアウトが発生した場合の動作を図
13により説明する。
【0057】遠隔手続呼出しタイムアウト検出部873
は、第1プロセスの遠隔手続呼出しのタイムアウトが発
生する直前の第1時計88の時刻"7"において、遠隔手
続呼出しのタイムアウトが発生することを検出する。中
央デバッグ部87は第1衛星デバッグ部を遠隔操作し、
第1の時計84の刻時を停止させる。即ち、第1の衛星
デバッグ部84に接続している第1プロセス81の時刻
が進み遠隔手続呼出しのタイムアウトの発生(図13
(b)の時刻"7"の時点)を遠隔手続呼出しタイムアウ
ト検出部873が検出した場合に、図11に示す処理フ
ローに従って、時計の制御を行う。すなわち、中央デバ
ッグ部87は第2プロセス82の論理時刻を計算する論
理時刻計算部8760により得られる論理時刻(時刻"
5")と第1の時計88を参照することによって得られ
る第1プロセス81の時刻(時刻"7")とを第3時刻比
較部8763により比較する(ステップS1)。この場
合、第2プロセス82の論理時刻が第1プロセス81の
時刻よりも遅れているので、第1の衛星デバッグ部84
を遠隔操作することにより、第1のプロセス81の実行
を中断させ(ステップS2)、第1プロセス81の時計
88を停止させたのち(ステップS3)、サーバプロセ
スである第2プロセス82の論理時刻を決定するプロセ
スの時計(この例では第2プロセス82自身の時計)8
9に第1プロセス81の時刻をアラームの時刻として第
2アラーム設定部8766によりセットする(ステップ
S4)。なお、サーバプロセス(第2プロセス)の論理
時刻がクライアントプロセス(第1プロセス)の時刻よ
り進んでいたときには、サーバプロセスの時計をクライ
アントプロセスの時刻に合わせる(ステップ5)。
【0058】デバッグが進み、デバッグをする者の指示
で第2の衛星デバッグ部85が、サーバプロセスである
第2プロセス82の実行を継続し、第2時計にタイムア
ウトのアラームとしてセットされた時刻(時刻"7")よ
り前に第2プロセス82から第1のプロセス81への遠
隔手続呼出しの終了を遠隔手続呼出し終了検出部872
が検出すると、中央デバッグ部87は第1の衛星デバッ
グ部84を遠隔操作し第1プロセス81の実行を継続さ
せる。それと同時に、第2プロセス82の時計89の示
す時刻を第1のプロセス81の時計88に設定する。第
2プロセス82から第1プロセス81への遠隔手続き呼
び出しの終了が発生する前にアラームにセットされた時
刻になったときは、中央デバッグ部87は第1の衛星デ
バッグ部84を遠隔操作し第1プロセス81の実行を継
続させる。このあと、第1のクライアントプロセス81
はタイムアウトが発生したものとして処理を続ける。
【0059】次に、第3の衛星デバッグ部86に接続し
ている第2のクライアントプロセスである第3プロセス
83の実行が進み、第2プロセス82に遠隔手続き呼び
出しを発行した場合の動作を説明する。第3の衛星デバ
ッグ部86に接続している第3プロセス83の実行が進
み、第2プロセス82への遠隔手続呼出しの発行を遠隔
手続呼出し発行検出部871が検出すると、中央デバッ
グ部87の第1時刻比較部8761は、第3プロセス8
3の時計89の時刻(図12の(b)の場合、時刻"
8")と論理時刻計算部8760によって計算されるサ
ーバプロセスとしての第2プロセス82の論理時刻(図
12の(b)の場合、時刻"5")を比較する。第3プロ
セス83の時計の時刻が第2プロセス82の論理時刻よ
りも進んでいる場合には、中央デバッグ部87は、第3
の衛星デバッグ部86を遠隔操作し第3プロセス83の
実行を実行中断部861により中断させ、第3プロセス
83の時計90を停止させるとともに第2プロセス82
の論理時刻を決定するプロセスの時計(ここではサーバ
プロセス82自身の時計89)に第3プロセス83の時
刻(図12の(b)の場合、時刻"8")をアラームとし
てセットする。
【0060】さらに、デバッグが進み、デバッグをする
者の指示で第2の衛星デバッグ部85が、第2プロセス
82の実行を再開、継続させる。そして、第2プロセス
82の時計がアラームにセットされた時刻(図12の
(b)の場合、時刻"8")になったことを検出すると、
中央デバッグ部87は第3の衛星デバッグ部86を遠隔
操作し第3プロセス83の実行を継続させる。
【0061】(動作例2)各プロセスは実行開始時にホ
ストマシンのシステム時計91を参照し、各プロセスの
時計88,89,90に時刻をセットする。図14の
(a)はデバッグ時でない時のタイムチャートで、第1
プロセスが第2プロセスに時刻"2"のとき遠隔手続き呼
び出しを発行し、第2プロセスがプロセス3に時刻"7"
のとき遠隔手続き呼び出しを発行し、時刻"9"にプロセ
ス3から第2プロセスへの遠隔手続き呼び出しのリター
ンがあり、時刻"10"に第2プロセスから第1プロセス
への遠隔手続き呼び出しのリターンがあることを示して
いる。また、時刻"4"に第4プロセスが第3プロセスに
遠隔手続き呼び出しを発行し、時刻"6"に第3プロセス
から第4プロセスへの遠隔手続き呼び出しのリターンが
あることを示している。
【0062】図14の(b)はデバッグ時のタイムチャ
ートで、時刻"3"に第2プロセスがブレークポイントで
停止し実行が中断され、時刻"6"で実行が再開される場
合を示している。第2プロセスの実行中、システム時
刻"3"のとき第2プロセスは第2衛星デバッグ89によ
ってブレークポイントの位置でプロセスの実行が中断さ
れ、さらに第2衛星デバッグ部は第2プロセスの時計8
9を停止させる。この時点では、第4プロセスは中断さ
せられることなく実行を続けており、第2プロセス以外
の時計は全て動き続けている。第4プロセスがシステム
時刻"4"のときに第3プロセスに対して遠隔手続き呼び
出しの発行を開始すると遠隔手続き呼び出しが発行され
る直前にあらかじめブレークポイントが設定してあり、
第4衛星デバッグ部はそのブレークポイントを検出する
と第4プロセスの実行を中断し、中央デバッグ部に第4
プロセスの遠隔手続呼出しの発行を伝える。中央デバッ
グ部87は、第4衛星デバッグ部を通じて第4プロセス
の発行しようとしている遠隔手続呼出しの対象のプロセ
スIDをプロセス別サーバプロセス表875を参照して
調べ、対象プロセスが第3プロセスであることを知る。
中央デバッグ部87は、第1時刻比較部8761によ
り、第3プロセスの論理時刻と、遠隔手続き呼び出しを
行なおうとしている第4プロセスの時刻"4"を比較す
る。なお、論理時刻は、プロセス別サーバプロセス表8
75から調べることができる遠隔手続き呼び出しを行な
っていって第3プロセスに到達する可能性のある全ての
プロセス(この例では、 第1プロセス、2、3、4)
の時刻のもっとも遅れているもの(この例では、第2プ
ロセスの"3")である。ここでは、サーバ側である第3
プロセスの論理時刻がクライアントである第4プロセス
の時刻より遅れているために、第4プロセスの実行をそ
のまま中断し続け、サーバプロセスの論理時刻を決定し
ている第2プロセスのアラームに第4プロセスの時刻と
IDをセットする。
【0063】システム時刻が"6"になったときに、デバ
ッグをする者が中央デバッグ部から第2プロセスの継続
実行を命令すると、中央デバッグ部は第2衛星デバッグ
部に第2プロセスの実行を継続させ、停止させられてい
た第2プロセスの時計を動かす。その後、システム時刻
が"7"になると、第2プロセスの時計が"4"となりセッ
トされていたアラームを検出し衛星デバッグ部を通じて
中央デバッグ部にセットされていたプロセスID"4"を
伝える。中央デバッグ部は、伝えられたプロセスIDに
接続した第4衛星デバッグ部に第4プロセスの継続実行
を命じ、停止していた第4プロセスの時計を動かし、サ
ーバ側の第3プロセスの時計に第4プロセスの時計の時
刻をセットする。実行を継続した第4プロセスは、遠隔
手続き呼び出しの発行を行なう。
【0064】以上述べたように本実施例によれば、サー
バープロセスとクライアントプロセスの衛星デバッグ手
段を適切に制御することにより、プログラムの一時中断
と継続実行をおこなうときに、放送型のプロセス間通信
手段を必要としないで、かつ並行・並列動作する複数の
プロセスを一時中断して、その一時中断に続く継続実行
をしたあとのプログラムの処理結果が、あたかも一時中
断と継続実行のどちらも行なわずに実行された時のプロ
グラムの処理結果と等しいことが保証されるような、一
時中断と継続実行をする機能を提供することができる。
従って、デバッグをする者は放送型のプロセス間通信手
段を必要としないで一時中断と継続実行を用いたデバッ
グをすることができる。とくに、本実施例によれば、図
14(b)に示すように、プロセスのブレークポイント
設定による中断の時間が、複数のプロセスで一部重複が
ある場合に、遅延時間を中断の時間の和とする必要がな
いので、システム全体の遅延時間を小さくすることがで
きる。
【0065】
【発明の効果】以上述べたように本発明によれば、サー
バープロセスとクライアントプロセスの衛星デバッグ部
を適切に制御することにより、プログラムの一時中断と
継続実行をおこなうときに、放送型のプロセス間通信部
を必要としないで、かつ並行・並列動作する複数のプロ
セスを一時中断して、その一時中断に続く継続実行をし
たあとのプログラムの処理結果が、あたかも一時中断と
継続実行のどちらも行なわずに実行された時のプログラ
ムの処理結果と等しいことが保証されるような、一時中
断と継続実行をする機能を提供することができる。従っ
て、デバッグをする者は放送型のプロセス間通信部を必
要としないで一時中断と継続実行を用いたデバッグをす
ることができる。さらに、同時に複数のプログラムの一
時中断と継続実行が行なわれた場合にも、それらの中断
時間が互いに加えられることなく、システム全体の遅延
時間を極小とすることができる。
【図面の簡単な説明】
【図1】 本発明の構成の概略を示すブロック図、
【図2】 本発明の第1の実施例における衛星デバッグ
部とプロセスの構成を示す図、
【図3】 本発明の第1の実施例における中央デバッグ
部の構成を示す図、
【図4】 第1の実施例の動作の具体例である動作例1
を説明するためのタイムチャート、
【図5】 第1の実施例の動作例2を説明するためのタ
イムチャート、
【図6】 第1の実施例の動作例3を説明するためのタ
イムチャート、
【図7】 第1の実施例の動作例4を説明するためのタ
イムチャート、
【図8】 本発明の第2の実施例の構成を示す図、
【図9】 複数のプロセスP1〜P5間の遠隔手続呼出
しにおけるクライアント、サーバの関係の例を示す図、
【図10】 図9に示す関係を表にしたプロセス別クラ
イアント表の例を示す図、
【図11】 時計を制御するためのフローを示す図、
【図12】 第2の実施例の動作例1を説明するための
タイムチャート、
【図13】 第2の実施例の動作例2を説明するための
タイムチャート、
【図14】 第2の実施例の動作例3を説明するための
タイムチャート、
【符号の説明】
1,21…第1プロセス、 2,22…第2プロセス、
3,23…第3プロセス、4,24…第1衛星デバッ
グ部、 5,25…第2衛星デバッグ部、 7,27…
中央デバッグ部、 8,28…時計。

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】複数のプロセスが互いに通信を行ない並行
    ・並列動作を実現する分散型の情報処理システムのデバ
    ッグ方式において、 前記複数のプロセス各々に接続され、接続されたプロセ
    スのデバッグを行なう複数の衛星デバッグ手段と、 その複数の衛星デバッグ手段の動作を遠隔制御する中央
    デバッグ手段と、 衛星デバッグ手段のデバッグ対象のプロセスに遠隔手続
    呼出しの発行あるいは終了があることを前もって検出す
    る遠隔手続呼出し検出手段とを備え、 前記各衛星デバッグ手段は、 デバッグ対象のプロセスの実行を一時中断させるととも
    に中断のあったことを中央デバッグ手段に通知する実行
    中断手段と、 前記中断したプロセスの実行を再開させ、その再開のあ
    ったことを中央デバッグ手段に通知する実行継続手段
    と、 前記プロセスの実行の中断と再開に基づき実行中断時間
    を算出し、中央デバッグ手段に通知する中断時間通知手
    段と、 前記遠隔手続呼出し検出手段があるプロセスの遠隔手続
    呼出しの発行を検出したとき、中央デバッグ手段から通
    知される他のプロセスの前記実行中断時間を含む情報に
    基づいて遠隔手続呼出しの実行を遅延させる実行遅延手
    段と、を有することを特徴とする分散型情報処理システ
    ムのデバッグ方式。
  2. 【請求項2】前記中断時間通知手段は、 前記実行中断手段によるプロセスの中断の始まりの時刻
    を保持する中断時刻保持手段と、 その中断時刻保持手段に保持された時刻と前記実行継続
    手段による前記プロセスの実行の再開の時刻とから中断
    時間を算出する中断時間算出手段と、 その算出した中断時間を中央デバッグ手段に通知する手
    段とを備えたことを特徴とする請求項1記載の分散型情
    報処理システムのデバッグ方式。
  3. 【請求項3】前記中央デバッグ手段は、ある衛星デバッ
    グ手段から受け取った前記中断時間に、残りのすべての
    衛星デバッグ手段に対し前記中断時間を送信するために
    必要な時間を加算して、中断による実行遅延時間を得る
    手段と、前記残りのすべての衛星デバッグ手段に対しそ
    の実行遅延時間を通知する手段とを設けたことを特徴と
    する請求項2記載の分散型情報処理システムのデバッグ
    方式。
  4. 【請求項4】前記実行遅延手段は、中央デバッグ手段か
    らの前記実行遅延時間を含む継続指示を受信したとき、
    その実行遅延時間を必要に応じて保持する実行遅延時間
    受信キューと、その実行遅延時間に相当する遅延時間を
    生成するタイマーとを有することを特徴とする請求項1
    記載の分散型情報処理システムのデバッグ方式。
  5. 【請求項5】前記衛星デバッグ手段が、デバッグ中のプ
    ロセスについて遠隔手続を発行する各プロセスごとに、
    そのプロセスに対して遠隔手続呼出しを受け付け、遠隔
    手続を実行するプロセスの識別情報を保持するプロセス
    別サーバプロセス表を有することを特徴とする請求項1
    記載の分散型情報処理システムのデバッグ方式。
  6. 【請求項6】各衛星デバッグ手段は、各プロセスの遠隔
    手続呼出しのタイムアウトを検出するためのタイムアウ
    ト時計と、タイムアウトをした場合にタイムアウトしな
    かったものとして、タイムアウト時計を巻き戻す時間を
    保持するタイムアウト巻き戻し時間保持部を有すること
    を特徴とする請求項1記載の分散型情報処理システムの
    デバッグ方式。
  7. 【請求項7】前記中央デバッグ手段は、各衛星デバッグ
    手段により中断されたプロセスを識別する識別情報を衛
    星デバッグ部より受信し記録する中断プロセス識別情報
    保持手段と、 デバッグ中のプロセスについて遠隔手続を実行する各プ
    ロセスごとに、そのプロセスに対して遠隔手続呼出しの
    発行をするプロセスの識別情報を保持するプロセス別ク
    ライアントプロセス表とを有することを特徴とする請求
    項1記載の分散型情報処理システムのデバッグ方式。
  8. 【請求項8】複数のプロセスが互いに通信を行ない並行
    ・並列動作を実現する分散型の情報処理システムのデバ
    ッグ方式において、 前記複数のプロセス各々に接続してデバッグを行なう複
    数の衛星デバッグ手段と、 その複数の衛星デバッグ手段の動作を遠隔制御する中央
    デバッグ手段と、を備え、 その中央デバッグ手段は、 衛星デバッグ手段のデバッグ対象のプロセスの遠隔手続
    呼出しの発行、終了、またはタイムアウトを前もって検
    出する遠隔手続呼出し検出手段と、 前記遠隔手続呼出し検出手段により遠隔手続呼出しの発
    行、終了、またはタイムアウトを検出したとき、その遠
    隔手続呼出しに関連するプロセスの刻時手段の時刻を調
    節する時間管理手段と、 前記各衛星デバッグ手段は、 前記デバッグ対象の複数のプロセスのそれぞれに対応す
    る刻時手段と、 デバッグ対象のプロセスの実行を一時中断させるととも
    に、そのプロセスに対応する刻時手段の作動を停止させ
    る実行中断手段と、 前記中断したプロセスの実行を再開させるとともに、そ
    のプロセスに対応する刻時手段の作動を再開する実行継
    続手段と、を有することを特徴とする分散型情報処理シ
    ステムのデバッグ方式。
  9. 【請求項9】前記時間管理手段は、前記実行中断手段に
    よって停止し、前記実行継続手段によって再起動した刻
    時手段のうち、最も長時間中断した刻時手段の時刻に各
    衛星デバッグ手段の刻時手段の時刻を一致させることを
    特徴とする請求項8記載の分散型情報処理システムのデ
    バッグ方式。
  10. 【請求項10】前記時間管理手段は、 遠隔手続呼出し検出手段による遠隔手続呼出しの発行の
    検出に応答して、その遠隔手続呼出しにおけるクライア
    ントである第1のプロセスに対応する刻時手段の時刻
    を、前記遠隔手続呼出しにおけるサーバである第2のプ
    ロセスに到達する可能性のあるすべてのプロセスのそれ
    ぞれに対応する刻時手段の時刻のうち最も遅い時刻であ
    る論理時刻と比較する第1の時刻比較手段と、 前記比較の結果、前記論理時刻の方が遅れていたときに
    は、前記第1のプロセスの刻時手段の時刻を停止させ、
    前記論理時刻の刻時手段のアラームに、前記第1のプロ
    セスの時刻を設定する第1のアラーム設定手段と、 遠隔手続呼出し検出手段による遠隔手続呼出しの終了の
    検出に応答して、前記第1のプロセスの刻時手段の時刻
    を前記第2プロセスの時刻に変更設定する時刻変更手段
    (図8の8764)とを備えたことを特徴とする請求項
    8記載の分散型情報処理システムのデバッグ方式。
  11. 【請求項11】前記時間管理手段は、 前記遠隔手続呼出し検出手段によりあるプロセスの遠隔
    手続呼出しのタイムアウトの検出に応答して、前記第2
    のプロセスの論理時刻を、前記第1のプロセスの時刻と
    比較する第2の時刻比較手段と、 その比較の結果、前記論理時刻の方が遅れているとき
    は、前記第1のプロセスの時刻を停止させ、かつ前記論
    理時刻の刻時手段のアラームに、前記第1のプロセスの
    時刻を設定する第2のアラーム設定手段と、 前記アラームに設定された時刻より前に前記遠隔手続呼
    出しの終了が検出されたとき、前記アラームを解除し、
    前記アラームに設定された時刻までに前記遠隔手続呼出
    しの終了が検出されなかったとき、前記遠隔手続呼出し
    のタイムアウト処理を行うタイムアウト処理手段とを備
    えたことを特徴とする請求項11記載の分散型情報処理
    システムのデバッグ方式。
JP3156013A 1991-05-31 1991-05-31 分散型情報処理システムのデバッグ方式 Expired - Lifetime JPH07113912B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP3156013A JPH07113912B2 (ja) 1991-05-31 1991-05-31 分散型情報処理システムのデバッグ方式
US07/855,741 US5371746A (en) 1991-05-31 1992-03-23 Program debugging system for a distributed data processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3156013A JPH07113912B2 (ja) 1991-05-31 1991-05-31 分散型情報処理システムのデバッグ方式

Publications (2)

Publication Number Publication Date
JPH05197698A true JPH05197698A (ja) 1993-08-06
JPH07113912B2 JPH07113912B2 (ja) 1995-12-06

Family

ID=15618413

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3156013A Expired - Lifetime JPH07113912B2 (ja) 1991-05-31 1991-05-31 分散型情報処理システムのデバッグ方式

Country Status (2)

Country Link
US (1) US5371746A (ja)
JP (1) JPH07113912B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001502085A (ja) * 1996-10-04 2001-02-13 フィッシャー コントロールズ インターナショナル,インコーポレイテッド 分散型制御機能を有するプロセス制御ネットワークをデバッグし、チューニングする方法および機器
JP2009506408A (ja) * 2005-08-08 2009-02-12 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 複数の実行ユニットを有する計算機システム内のプロセスを分析する方法および装置

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2513417B2 (ja) * 1993-07-05 1996-07-03 日本電気株式会社 情報処理装置
US5632032A (en) * 1994-02-07 1997-05-20 International Business Machines Corporation Cross address space thread control in a multithreaded environment
US5471526A (en) * 1994-02-28 1995-11-28 Telefonaktiebolaget L M Ericsson (Publ.) Tracing with keys and locks on a telecommunication network
JP2927180B2 (ja) * 1994-06-22 1999-07-28 株式会社日立製作所 情報処理プログラムのデバッグ方法およびそのためのデバッガ
US5673386A (en) * 1994-06-29 1997-09-30 U S West Technologies, Inc. Method and system for identification of software application faults
US5794047A (en) * 1994-09-29 1998-08-11 International Business Machines Corporation Method of walking-up a call stack for a client/server program that uses remote procedure call
US5819093A (en) * 1995-03-03 1998-10-06 Sun Microsystems, Inc. System and method for a distributed debugger for debugging distributed application programs
US5802291A (en) * 1995-03-30 1998-09-01 Sun Microsystems, Inc. System and method to control and administer distributed object servers using first class distributed objects
US6011920A (en) * 1995-04-05 2000-01-04 International Business Machines Corporation Method and apparatus for debugging applications on a personality neutral debugger
JP2783275B2 (ja) * 1995-04-28 1998-08-06 日本電気株式会社 分散並列処理プログラムデバッグ方式
US5805890A (en) * 1995-05-15 1998-09-08 Sun Microsystems, Inc. Parallel processing system including arrangement for establishing and using sets of processing nodes in debugging environment
WO1996038733A1 (en) * 1995-06-02 1996-12-05 Pure Software, Inc. Remote monitoring of computer programs
US5809248A (en) * 1995-07-05 1998-09-15 Sun Microsystems, Inc. Method and apparatus for front end navigator and network architecture for performing functions on distributed files in a computer network
US6158045A (en) * 1995-11-13 2000-12-05 Object Technology Licensing Corporation Portable debugging services utilizing a client debugger object and a server debugger object with flexible addressing support
US5815653A (en) * 1995-11-13 1998-09-29 You; Lawrence L. Debugging system with portable debug environment-independent client and non-portable platform-specific server
US6058393A (en) * 1996-02-23 2000-05-02 International Business Machines Corporation Dynamic connection to a remote tool in a distributed processing system environment used for debugging
US6324683B1 (en) 1996-02-23 2001-11-27 International Business Machines Corporation System, method and program for debugging external programs in client/server-based relational database management systems
US5933639A (en) * 1996-05-17 1999-08-03 International Business Machines Corporation System and method for debugging distributed programs
JP3175757B2 (ja) * 1996-08-13 2001-06-11 日本電気株式会社 デバッグシステム
US6126328A (en) * 1997-02-28 2000-10-03 Oracle Corporation Controlled execution of partitioned code
CA2205096C (en) * 1997-05-09 2001-10-09 Ibm Canada Limited-Ibm Canada Limitee A system for remote debugging of client/server applications
US6005575A (en) * 1998-03-23 1999-12-21 Microsoft Corporation Foreground window determination through process and thread initialization
US6249907B1 (en) 1998-03-24 2001-06-19 International Business Machines Corporation Method system and article of manufacture for debugging a computer program by encoding user specified breakpoint types at multiple locations in the computer program
US6216237B1 (en) * 1998-06-19 2001-04-10 Lucent Technologies Inc. Distributed indirect software instrumentation
US6219804B1 (en) * 1998-08-05 2001-04-17 International Business Machines Corporation Debugging client server programs from third party workstations
US6223307B1 (en) * 1998-08-05 2001-04-24 International Business Machines Corporation Debugging client server programs from third party workstations
US6202175B1 (en) * 1998-08-05 2001-03-13 International Business Machines Corporation Debuggin client server programs from third party workstations
WO2000055733A1 (de) * 1999-03-12 2000-09-21 Siemens Aktiengesellschaft Verfahren und anordnung zum überwachen eines programms
US7133820B2 (en) * 2000-03-15 2006-11-07 Arc International Method and apparatus for debugging programs in a distributed environment
US6915509B1 (en) * 2000-06-28 2005-07-05 Microsoft Corporation Method and system for debugging a program
JP4714980B2 (ja) * 2000-10-17 2011-07-06 ソニー株式会社 コンテンツ受信装置及びコンテンツ受信方法
DE10118502C1 (de) * 2001-04-12 2002-08-08 Siemens Ag Verfahren zur Erfassung und Aufzeichnung von Systeminformationen und Abläufen in verteilten nebenläufigen komponentenbasierten Softwaresystemen
US7089561B2 (en) * 2001-06-01 2006-08-08 Microsoft Corporation Methods and systems for creating and communicating with computer processes
US7107578B1 (en) 2001-09-24 2006-09-12 Oracle International Corporation Techniques for debugging computer programs involving multiple programming languages
US7350194B1 (en) 2001-09-24 2008-03-25 Oracle Corporation Techniques for debugging computer programs involving multiple computing machines
DE10161140A1 (de) * 2001-12-12 2003-07-03 Siemens Ag System und Verfahren zum Verfolgen und/oder Auswerten des Informationsaustausches
US8090564B1 (en) 2003-11-03 2012-01-03 Synopsys, Inc. Automatic generation of transaction level bus simulation instructions from bus protocol
US7716031B2 (en) * 2005-02-25 2010-05-11 Coware, Inc. Interface converter for unified view of multiple computer system simulations
US7742905B2 (en) * 2005-02-25 2010-06-22 Coware, Inc. Method and system for dynamically adjusting speed versus accuracy of computer platform simulation
CN101208667B (zh) * 2005-06-22 2012-01-11 日本电气株式会社 调试系统及方法
US20070168975A1 (en) * 2005-12-13 2007-07-19 Thomas Kessler Debugger and test tool
US8543367B1 (en) 2006-02-16 2013-09-24 Synopsys, Inc. Simulation with dynamic run-time accuracy adjustment
US7899661B2 (en) * 2006-02-16 2011-03-01 Synopsys, Inc. Run-time switching for simulation with dynamic run-time accuracy adjustment
US9405564B2 (en) * 2006-05-10 2016-08-02 The Mathworks, Inc. System and method for targeting commands to concurrent computing units executing a concurrent computing process
US7631168B1 (en) 2006-05-10 2009-12-08 The Math Works, Inc. Graphical interface for grouping concurrent computing units executing a concurrent computing process
US20080209405A1 (en) * 2007-02-28 2008-08-28 Microsoft Corporation Distributed debugging for a visual programming language
US7680917B2 (en) 2007-06-20 2010-03-16 Red Hat, Inc. Method and system for unit testing web framework applications
US7925487B2 (en) * 2007-06-29 2011-04-12 Microsoft Corporation Replaying distributed systems
US20090064092A1 (en) * 2007-08-29 2009-03-05 Microsoft Corporation Visual programming language optimization
US7933759B2 (en) * 2008-03-28 2011-04-26 Microsoft Corporation Predicate checking for distributed systems
US8572573B2 (en) * 2012-03-09 2013-10-29 Nvidia Corporation Methods and apparatus for interactive debugging on a non-preemptible graphics processing unit
US9740593B2 (en) * 2015-01-08 2017-08-22 International Business Machines Corporation Comparative program execution through control of two or more debug sessions to automatically determine execution differences
CN105930247B (zh) * 2016-04-14 2018-09-04 北京小米移动软件有限公司 系统重启问题的处理方法、装置以及移动终端

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE68929309T2 (de) * 1988-04-18 2002-05-02 3D Systems Inc Verringerung des stereolithographischen Verbiegens
US5253342A (en) * 1989-01-18 1993-10-12 International Business Machines Corporation Intermachine communication services

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001502085A (ja) * 1996-10-04 2001-02-13 フィッシャー コントロールズ インターナショナル,インコーポレイテッド 分散型制御機能を有するプロセス制御ネットワークをデバッグし、チューニングする方法および機器
JP2009506408A (ja) * 2005-08-08 2009-02-12 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 複数の実行ユニットを有する計算機システム内のプロセスを分析する方法および装置

Also Published As

Publication number Publication date
JPH07113912B2 (ja) 1995-12-06
US5371746A (en) 1994-12-06

Similar Documents

Publication Publication Date Title
JPH05197698A (ja) 分散型情報処理システムのデバッグ方式
JP2566726B2 (ja) データ処理方法および装置
US7039012B2 (en) Process execution method and apparatus
US6438707B1 (en) Fault tolerant computer system
US5008805A (en) Real time, fail safe process control system and method
JPH0576654B2 (ja)
US6021457A (en) Method and an apparatus for minimizing perturbation while monitoring parallel applications
US20110179307A1 (en) Failover method and system for a computer system having clustering configuration
JP2000510976A (ja) 相互接続システムの相い異なるコンピュータ上のプログラムを同期化するための方法
US7116635B2 (en) Process execution method and apparatus
EP1410168B1 (en) An efficient timer management system
JP6577901B2 (ja) 計算機システムおよびシステム状態再現方法
JP2595833B2 (ja) 遠隔保守装置
US7240043B2 (en) Method of controlling storage control apparatus, storage control apparatus, and computer readable program for controlling the same
US20030158972A1 (en) Device and method for the synchronization of a system of networked computers
CN116450182A (zh) 自动化流程机器人的更新方法、计算机设备及存储介质
JPH064318A (ja) エラー検出方式
JP2889888B2 (ja) 通信処理装置
JPH08194671A (ja) システムバージョンに基づく切り戻し方式
JP3368131B2 (ja) ポーリング制御方式
CN117112315A (zh) 冗余设备的数据同步方法、系统、存储介质和电子设备
JPH04287233A (ja) 事象処理制御方法
JPH0583303A (ja) 無手順通信制御方式
JPH08161163A (ja) 分散プロセス改版方法
JPH0778037A (ja) 分散処理システム