JP2000250778A - Inter-distributed debugger linkage processing method - Google Patents

Inter-distributed debugger linkage processing method

Info

Publication number
JP2000250778A
JP2000250778A JP11052221A JP5222199A JP2000250778A JP 2000250778 A JP2000250778 A JP 2000250778A JP 11052221 A JP11052221 A JP 11052221A JP 5222199 A JP5222199 A JP 5222199A JP 2000250778 A JP2000250778 A JP 2000250778A
Authority
JP
Japan
Prior art keywords
debugger
server
oriented
request
remote operation
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
JP11052221A
Other languages
Japanese (ja)
Inventor
Keiko Taniguchi
恵子 谷口
Osamu Sato
収 佐藤
Senichiro Sakanishi
宣一郎 坂西
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP11052221A priority Critical patent/JP2000250778A/en
Publication of JP2000250778A publication Critical patent/JP2000250778A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To make a distributed debugger system being able to be linked between debuggers independent of a development language for a protocol and an application to many networks. SOLUTION: In this inter-distributed debugger linkage processing method, a server 204 registers the identification information of an object with an object request broker ORB 209, in a client 201, an acquisition function 202 acquires reference (identification information of object), an analyzing part 211 analyzes a command when it is inputted from an input device 210, a remote operation function 203 is carried out if it is a remote operation to the server 204 and a stub 207 puts together interface definition information to be a request to an operation in an object in the server 204 and sends it to the server 204. The request is sent to a skeleton 208 by the ORB 209, and the skeleton 208 accesses an operation execution function to which the server 204 corresponds from the request and executes a debug operation function to an application.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】分散オブジェクト環境で動作
するプログラムのデバッグ環境に関連して、複数のマシ
ン上で動作するプログラムに対するデバッガが互いに連
携をとりながら処理を行う分散デバッガ間連携処理方法
に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a distributed debugger cooperation processing method in which a debugger for a program operating on a plurality of machines performs processing while cooperating with each other, in relation to a debugging environment for a program operating in a distributed object environment.

【0002】[0002]

【従来の技術】分散オブジェクト環境では、複数のマシ
ン上でサーバアプリケーションとクライアントアプリケ
ーションがオブジェクトリクエストブローカ(ORB)を介
して、互いにリクエスト・レスポンスを繰り返して動作
する。このようなサーバアプリケーションやクライアン
トアプリケーションをデバッグする場合、クライアント
アプリケーションのデバッグ途中で、サーバアプリケー
ションの情報を参照できる、またはその逆の手段がある
ことが重要である。この場合、従来技術(特開平9-1203
66)では、デバッガ自身に通信機構を設け、特定のネッ
トワークのプロトコルに基づいてメッセージを介して互
いにデバッグ情報をやり取りする方法が採られている。
しかし、上記の方法では、さまざまなネットワークのプ
ロトコルをデバッガが認識する必要がある。また、デバ
ッガは、デバッグ対象になるアプリケーションの開発言
語ごとに存在する。しかし、異種の言語のデバッガ間で
連携するための汎用的なインターフェースはない。した
がって、サーバアプリケーションとクライアントアプリ
ケーションの開発言語が異なる場合、それらのデバッグ
ができないという問題がある。
2. Description of the Related Art In a distributed object environment, a server application and a client application operate on a plurality of machines by repeatedly requesting and responding to each other via an object request broker (ORB). When debugging such a server application or a client application, it is important that information on the server application can be referred to while the client application is being debugged, or vice versa. In this case, the conventional technology (Japanese Patent Laid-Open No. 9-1203)
66) adopts a method in which a communication mechanism is provided in the debugger itself, and debug information is exchanged with each other via messages based on a specific network protocol.
However, in the above method, the debugger needs to recognize various network protocols. A debugger exists for each development language of an application to be debugged. However, there is no general-purpose interface for cooperation between debuggers of different languages. Therefore, when the development languages of the server application and the client application are different, there is a problem that they cannot be debugged.

【0003】[0003]

【発明が解決しようとする課題】分散オブジェクト環境
で、サーバアプリケーションのデバッグとクライアント
アプリケーションのデバッグを連携して行う場合、従来
技術では上記のとおり、デバッガに専用の通信機構を備
える必要があるため、デバッガ自身が分散オブジェクト
環境を構成するネットワークのプロトコル等の認識が必
要であるという問題や、サーバアプリケーションとクラ
イアントアプリケーションの開発言語が異なる場合、デ
バッガ間の連携ができないという問題点がある。本発明
の目的は、分散オブジェクト環境で動作する分散デバッ
ガシステムにおいて、ネットワークのプロトコルやアプ
リケーションの開発言語に依存しないで、分散オブジェ
クトがデバッグ可能なデバッガを提供することである。
In a distributed object environment, when debugging of a server application and debugging of a client application are performed in cooperation with each other, as described above, in the prior art, it is necessary to provide the debugger with a dedicated communication mechanism. There is a problem that the debugger itself needs to recognize the protocol of the network constituting the distributed object environment, and a problem that the debugger cannot cooperate when the development languages of the server application and the client application are different. An object of the present invention is to provide a debugger capable of debugging a distributed object in a distributed debugger system operating in a distributed object environment without depending on a network protocol or an application development language.

【0004】[0004]

【課題を解決するための手段】上記の目的を達成するた
め、本発明は、分散オブジェクト環境で、クライアント
とサーバで連携して動作するプログラムをデバッグする
ためのオブジェクト指向型クライアントデバッガとオブ
ジェクト指向型サーバデバッガを連携動作するための通
信機構として、オブジェクトリクエストブローカ(ORB)
を用い、前記オブジェクト指向型クライアントデバッガ
に、サーバ側のデバック対象プログラムに対する入力装
置から入力されたリモートオペレーション指示に応じて
前記オブジェクト指向型サーバデバッガに前記ORBを介
して依頼する該指示に対応するリクエストを組み立てる
スタブを設け、オブジェクト指向型サーバデバッガに、
前記ORBを介して送付されたリクエストを受け、該リク
エストに対応する前記オブジェクト指向型サーバデバッ
ガのオペレーション実行機能を呼び出すスケルトンを設
け、サーバ側のデバック対象プログラムに対して前記リ
モートオペレーションに対応するオペレーションの実行
を可能とするようにしている。
In order to achieve the above object, the present invention provides an object-oriented client debugger and an object-oriented debugger for debugging a program operating in cooperation with a client and a server in a distributed object environment. Object request broker (ORB) as a communication mechanism for cooperating server debuggers
Request to the object-oriented server debugger via the ORB in response to the remote-operation instruction input from the input device for the server-side debug target program to the object-oriented client debugger using the ORB. Stub to assemble
A skeleton for receiving a request sent via the ORB and invoking an operation execution function of the object-oriented server debugger corresponding to the request is provided, and a server side debug target program is provided with an operation corresponding to the remote operation. It makes it possible to execute.

【0005】さらに、前記リモートオペレーションとし
て、少なくともブレークポイント設定、ブレークポイン
ト解除、データ値表示、データ値設定、ステップ実行の
各機能を設け、前記オブジェクト指向型クライアントデ
バッガには、前記リモートオペレーション指示に応じて
前記スタブに渡すリモートオペレーションを呼び出すリ
モートオペレーション呼び出し機能を設け、オブジェク
ト指向型サーバデバッガには、前記リクエストが要求す
るリモートオペレーションに対応するオペレーション実
行機能を設けるようにしている。
The remote operation further includes at least functions of setting a breakpoint, releasing a breakpoint, displaying a data value, setting a data value, and executing a step. The object-oriented client debugger responds to the remote operation instruction. A remote operation call function for calling a remote operation to be passed to the stub is provided, and an object-oriented server debugger is provided with an operation execution function corresponding to the remote operation requested by the request.

【0006】また、分散オブジェクト環境で、クライア
ントとサーバで連携して動作するプログラムをデバッグ
するための非オブジェクト指向型クライアントデバッガ
とオブジェクト指向型サーバデバッガを連携動作するた
めの通信機構として、オブジェクトリクエストブローカ
(ORB)を用い、前記非オブジェクト指向型クライアント
デバッガに、サーバ側のデバック対象プログラムに対す
る入力装置から入力されたリモートオペレーション指示
に応じて、該指示に対応するオブジェクト指向型デバッ
ガのリモートオペレーションを呼び出す機能と、前記オ
ブジェクト指向型サーバデバッガに前記ORBを介して依
頼する該呼び出されたリモートオペレーションに対応す
るリクエストを組み立てるスタブとを有するコンバート
機能を設け、オブジェクト指向型サーバデバッガに、前
記ORBを介して送付されたリクエストを受け、該リクエ
ストに対応する前記オブジェクト指向型サーバデバッガ
のオペレーション実行機能を呼び出すスケルトンを設
け、サーバ側のデバック対象プログラムに対して前記非
オブジェクト指向型クライアントデバッガに入力された
リモートオペレーション指示に対応するオペレーション
の実行を可能とするようにしている。
In a distributed object environment, an object request broker is used as a communication mechanism for cooperatively operating a non-object-oriented client debugger and an object-oriented server debugger for debugging a program operating in cooperation with a client and a server.
(ORB), in response to a remote operation instruction input from an input device for a server-side debug target program to the non-object-oriented client debugger, a function of invoking a remote operation of the object-oriented debugger corresponding to the instruction. And a stub for assembling a request corresponding to the called remote operation requested to the object-oriented server debugger via the ORB, and sent to the object-oriented server debugger via the ORB. A skeleton for receiving the requested request and calling an operation execution function of the object-oriented server debugger corresponding to the request, and providing the non-object-oriented client to a program to be debugged on the server side. And so as to enable execution of operations corresponding to the remote operation instruction inputted into cement debugger.

【0007】[0007]

【発明の実施の形態】以下、本発明の一実施例について
図面を用いて説明する。図1は、本発明による、共通オ
ブジェクトリクエストブローカアーキテクチャ(CORBA)
仕様に規定された機能を備える2つのオブジェクト指向
型デバッガが動作する分散オブジェクトシステムの構成
例である。本システムは、異なるマシン(101,102)上で
動作する言語1(例えばCOBOL言語)対応オブジェクト
指向型デバッガ(103)と言語2(例えばC言語)対応オブ
ジェクト指向型デバッガ(104)と、デバッガ間でデバッ
グ情報をやり取りするための通信機構であるオブジェク
トリクエストブローカ(ORB)(105)と、インターフェース
定義言語(IDL)で定義したデバッガ間のリモートオペレ
ーションのインターフェース定義情報から生成されるス
ケルトン(106)とスタブ(107)から構成される。
DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will be described below with reference to the drawings. FIG. 1 shows a Common Object Request Broker Architecture (CORBA) according to the present invention.
1 is a configuration example of a distributed object system in which two object-oriented debuggers having functions specified in specifications operate. This system consists of an object-oriented debugger (103) for language 1 (eg, COBOL language) and an object-oriented debugger (104) for language 2 (eg, C language) running on different machines (101, 102). An object request broker (ORB) (105), which is a communication mechanism for exchanging information, and a skeleton (106) and a stub (106) generated from interface definition information of remote operation between debuggers defined in the interface definition language (IDL) 107).

【0008】図2は前記2つのオブジェクト指向型デバ
ッガの構成である。2つのデバッガ(201,204)は、通
常、デバッガ備えるコマンド解析部(211)、デバッグ操
作機能(212)の他に、共通オブジェクトリクエストブロ
ーカアーキテクチャ(CORBA)仕様で規定された機能を備
えている。すなわち、言語1対応クライアントデバッガ
(201)には、オブジェクトリファレンス獲得機能(202)、
オブジェクトリファレンスを用いてリモートオペレーシ
ョンを呼び出す機能(203)、およびスタブ(207)を備え、
言語2対応サーバデバッガ(204)には、オブジェクトリ
クエストブロカー(ORB)へのサーバの登録機能(205)、リ
クエストされたオペレーションを実行する機能(206)、
およびスケルトン(208)を備えている。なお、各機能を
順次実行させる制御を行う各デバッガにおける機能につ
いては図示を省略した。
FIG. 2 shows the configuration of the two object-oriented debuggers. The two debuggers (201, 204) usually have a function defined by the Common Object Request Broker Architecture (CORBA) specification, in addition to a command analysis unit (211) provided with a debugger and a debug operation function (212). In other words, a language 1 compatible client debugger
(201) has an object reference acquisition function (202),
Equipped with a function (203) for calling a remote operation using an object reference, and a stub (207),
The language 2 compliant server debugger (204) has a function of registering a server with an object request blocker (ORB) (205), a function of executing a requested operation (206),
And a skeleton (208). It is to be noted that the functions of the respective debuggers for performing the control for sequentially executing the respective functions are not shown.

【0009】スタブ(207)は、言語1対応クライアント
デバッガ(201)がオブジェクトリファレンスを用いてリ
モートオペレーションを呼び出すと、オブジェクトリフ
ァレンスに対するリクエストとなるインターフェース定
義情報を組み立てる。スケルトン(208)は、送付された
リクエストであるインターフェース定義情報を言語2対
応サーバデバッガ(204)の対応するオペレーション実行
機能の呼び出しに変換し、アプリケーションに対するデ
バッグ操作終了後、オペレーションの実行結果に対する
レスポンスとなるインターフェース定義情報を組み立て
る。ここで、スタブ、スケルトンは、CORBAにおいて一
般的に使われている用語である。
The stub (207) assembles interface definition information which is a request for the object reference when the language 1 compatible client debugger (201) invokes a remote operation using the object reference. The skeleton (208) converts the sent interface definition information into a call for the corresponding operation execution function of the language 2 compatible server debugger (204). After the debug operation for the application is completed, the response to the operation execution result is returned. Assemble interface definition information. Here, stub and skeleton are terms generally used in CORBA.

【0010】図3は、図2の2つのオブジェクト指向型
デバッガの処理フローを示す図である。最初に、言語2
対応サーバデバッガ(204)が、サーバ登録機能(205)を実
行して、オブジェクトリクエストブローカ(ORB)(209)に
オブジェクトの識別情報を登録し(S301、S302)、デバッ
グ対象アプリケーションを起動する(S303)。オブジェク
トリクエストブローカ(ORB)(209)に接続されている全て
のサーバデバッガは、このORBにオブジェクトの識別情
報を登録し、ORBはサーバデバッガ毎にオブジェクトの
識別情報を管理する。
FIG. 3 is a diagram showing a processing flow of the two object-oriented debuggers of FIG. First, language 2
The corresponding server debugger (204) executes the server registration function (205), registers the identification information of the object in the object request broker (ORB) (209) (S301, S302), and starts the application to be debugged (S303). ). All server debuggers connected to the object request broker (ORB) (209) register object identification information in this ORB, and the ORB manages object identification information for each server debugger.

【0011】次に、言語1対応クライアントデバッガ(2
01)は、オブジェクトリファレンス獲得機能(202)を実行
して、オブジェクトリクエストブローカ(ORB)(209)から
言語2対応サーバデバッガ(204)のオブジェクトリファ
レンス、すなわち言語2対応サーバデバッガ(204)がORB
に登録したオブジェクトの識別情報、を取得して、デバ
ッグ対象アプリケーションを起動する(S308、S309)。言
語1対応クライアントデバッガ(201)のコマンド入力装
置(210)からコマンドが入力されると、コマンド解析部
(211)で解析して(S310)、言語2対応サーバデバッガ(20
4)に対するリモートオペレーションの場合(S311)、リモ
ートオペレーション呼び出し機能(203)を実行し(213)、
スタブ(207)で、言語2対応サーバデバッガ(204)のオブ
ジェクトでのオペレーションに対するリクエストとなる
インターフェース定義情報を組み立て言語2対応サーバ
デバッガ(204)に送付する(S312、S313)。コマンド解析
の結果、リモートオペレーションに対するコマンドでな
い場合には(S311)、通常のカレントアプリケーションに
対してデバック操作機能(212)を実行する(214)(S316)。
Next, a language 1 compatible client debugger (2
01) executes the object reference acquisition function (202) and the object request of the language 2-compatible server debugger (204) from the object request broker (ORB) (209), that is, the language-compatible server debugger (204)
The debugger acquires the identification information of the object registered in, and starts the debug target application (S308, S309). When a command is input from the command input device (210) of the language 1 compatible client debugger (201), the command analysis unit
Analyzed by (211) (S310), the language 2 compatible server debugger (20
In the case of the remote operation for 4) (S311), execute the remote operation call function (203) (213),
The stub (207) sends the interface definition information as a request for the operation of the object of the language 2 compatible server debugger (204) to the assembly language 2 compatible server debugger (204) (S312, S313). As a result of the command analysis, if the command is not a command for the remote operation (S311), the debug operation function (212) is executed for the normal current application (214) (S316).

【0012】リクエストは、オブジェクトリクエストブ
ローカ(ORB)(209)によってオブジェクトリファレンスに
対応する言語2対応サーバデバッガ(204)にスケルトン
(208)を経由して送付される(S313、S304)。スケルトン
(208)では、送付されたリクエストから言語2対応サー
バデバッガ(204)の対応するオペレーション実行機能を
呼び出し、アプリケーションに対するデバッグ操作機能
が実行される(S305、S306)。実行結果は、スケルトン(2
08)でインターフェース定義情報に組み立てられ、レス
ポンスとしてスタブ(207)を経由して言語1対応クライ
アントデバッガ(201)に送付される(S307)。言語1対応
クライアントデバッガ(201)は、レスポンス受信し、レ
スポンスの内容をコマンド入力装置(210)に表示する(S3
14、S315)。以上のように、本実施例では、言語1対応
クライアントデバッガ(201)と言語2対応サーバデバッガ
(204)は、言語1対応クライアントデバッガ(201)のリク
エストと言語2対応サーバデバッガ(204)のレスポンス
により同期をとりながら、それぞれ並行して動作する。
The request is skeletonized by an object request broker (ORB) (209) to a language-compatible server debugger (204) corresponding to the object reference.
It is sent via (208) (S313, S304). skeleton
At (208), the corresponding operation execution function of the language 2 compatible server debugger (204) is called from the transmitted request, and the debug operation function for the application is executed (S305, S306). The execution result is the skeleton (2
At 08), it is assembled into the interface definition information, and sent as a response to the language-compatible client debugger (201) via the stub (207) (S307). The language 1 compatible client debugger (201) receives the response and displays the content of the response on the command input device (210) (S3
14, S315). As described above, in the present embodiment, the language 1 compatible client debugger (201) and the language 2 compatible server debugger
(204) operate in parallel with each other while being synchronized by the request of the language 1 compatible client debugger (201) and the response of the language 2 compatible server debugger (204).

【0013】図4は、サーバ側のデバッガのオペレーシ
ョンのインターフェースを定義したインターフェース定
義情報である。本実施例では、基本的なオペレーション
であり、どの言語デバッガにも共通な操作機能として、
ブレークポイント設定(401)、ブレークポイント解除(40
2)、データ値の表示(403)、データ値の設定(404)、ステ
ップ実行(405)を定義している。クライアント側のデバ
ッガから見れば、これらのオペレーションは、リモート
オペレーションに該当し、クライアント側のデバッガか
らサーバ側のデバッガに対するリモートオペレーション
を実行できるようにした点に特徴がある。本実施例で
は、言語1対応オブジェクト指向型デバッガ(103)は、
図4のインターフェース定義情報に定義されたインター
フェースに基づいてリモートオペレーション呼び出し機
能を実装し、言語2対応オブジェクト指向型デバッガ(1
04)はインターフェース定義情報に定義されたインター
フェースを備えた各オペレーション実行機能を実装す
る。ここでは、言語非依存のオペレーションとして、5
種類のオペレーションを定義したが、この他に特定な言
語に特化して(例えば、COBOL言語のファイル割り当てコ
マンド)、追加定義することも可能である。
FIG. 4 shows interface definition information that defines the interface of the operation of the debugger on the server side. In this embodiment, the operation is a basic operation, and as an operation function common to all language debuggers,
Breakpoint setting (401), breakpoint release (40
2), data value display (403), data value setting (404), and step execution (405) are defined. From the viewpoint of the client-side debugger, these operations correspond to remote operations, and are characterized in that the client-side debugger can execute a remote operation for the server-side debugger. In the present embodiment, the language 1 compatible object-oriented debugger (103)
A remote operation call function is implemented based on the interface defined in the interface definition information of FIG.
04) implements each operation execution function having the interface defined in the interface definition information. Here, the language-independent operation is 5
Although the types of operations have been defined, it is also possible to define additional operations specific to a particular language (for example, a COBOL file allocation command).

【0014】図5は、本方式によって開発した分散デバ
ッガの1オペレーション例に対するリクエストの流れで
ある。コマンド入力装置(508)から、遠隔の場所で動作
するアプリケーション(509)の100行目にブレークポイン
トを設定するコマンドを入力すると、言語1対応オブジ
ェクト指向型デバッガ(501)がコマンドを解析して、言
語2対応オブジェクト指向型デバッガ(502)のオブジェ
クトに対するオペレーション呼び出し処理(503)を実行
し、スタブ(504)で対応するリクエストを組み立て、オ
ブジェクトリクエストブローカ(ORB)(505)を介してリク
エストが言語2対応オブジェクト指向型デバッガ(502)
に送付され、スケルトン(506)からデバッグ対象である
アプリケーション(509)の100行目にブレークポイントを
設定するオペレーション(503)を呼び出して、遠隔で動
作するアプリケーションにブレークポイントを設定す
る。図5におけるObj1は、言語2対応オブジェクト指向
型デバッガ(502)のオブジェクトリファレンスである。
FIG. 5 shows a flow of a request for one operation example of the distributed debugger developed by this method. When a command for setting a breakpoint is input from the command input device (508) to the 100th line of the application (509) operating at a remote location, the language-oriented object-oriented debugger (501) analyzes the command, An operation call process (503) for an object of the language-oriented object-oriented debugger (502) is executed, a corresponding request is assembled by a stub (504), and the request is sent to the language 2 via an object request broker (ORB) (505). Supported object-oriented debugger (502)
The operation (503) for setting a breakpoint at the 100th line of the application (509) to be debugged is called from the skeleton (506), and a breakpoint is set for the application that operates remotely. Obj1 in FIG. 5 is an object reference of the language 2 compatible object-oriented debugger (502).

【0015】次に、本発明の第二の実施例について図面
を用いて説明する。図6は、本発明によるクライアント
側の非オブジェクト指向型デバッガ(603)がコンバータ
(609)を用いて、サーバ側のオブジェクト指向型デバッ
ガ(604)とオブジェクトリクエストブローカ(ORB)(605)
を介して連携する分散デバッガシステムの構成例であ
る。本システムは、異なるマシン(601,602)上で動作す
るオブジェクト指向型デバッガ(604)と非オブジェクト
指向型デバッガ(603)、デバッグ情報をやり取りするた
めの通信機構であるオブジェクトリクエストブローカ(O
RB)(605)、及び、サーバ側のオブジェクト指向型デバッ
ガ(604)に対するオブジェクトリファレンス獲得機能
と、非オブジェクト指向型デバッガ(603)からのコマン
ドをリモートオペレーションとしてオブジェクト指向型
デバッガのオペレーション呼び出しに変換する機能と、
サーバ側デバッガのリモートオペレーションのインター
フェースを定義したインターフェース情報から生成され
るスタブ(606)を有するコンバータ(609)を備える。
Next, a second embodiment of the present invention will be described with reference to the drawings. FIG. 6 shows a client-side non-object-oriented debugger (603) according to the present invention.
(609), the server-side object-oriented debugger (604) and the object request broker (ORB) (605)
1 is an example of a configuration of a distributed debugger system that cooperates via the Internet. This system consists of an object-oriented debugger (604) and a non-object-oriented debugger (603) that operate on different machines (601, 602), and an object request broker (O) that is a communication mechanism for exchanging debug information.
RB) (605) and the function of acquiring an object reference to the server-side object-oriented debugger (604), and converting a command from the non-object-oriented debugger (603) into an operation call of the object-oriented debugger as a remote operation. Features and
A converter (609) having a stub (606) generated from interface information defining an interface for remote operation of the server-side debugger is provided.

【0016】本実施例における動作概要は次のようにな
る。コマンド入力装置(608)から、デバッガに対するコ
マンドが入力され、非オブジェクト指向型デバッガ(60
3)のコマンド解析部(610)で入力コマンドを解析し、
入力されたコマンドがリモートマシンで動作するサーバ
側のオブジェクト指向型デバッガ(604)のリモートオペ
レーションに対するコマンドである場合、コンバータ(6
09)を呼び出し、コンバータ(609)がコマンドをオブジェ
クト指向型デバッガのオペレーション呼び出しに変換
し、オブジェクトリクエストブローカ(ORB)を介してサ
ーバ側オブジェクト指向型デバッガ(604)のオペレーシ
ョンに対するリクエストを送付する。
The outline of the operation in this embodiment is as follows. A command for the debugger is input from the command input device (608), and the non-object-oriented debugger (60
The input command is analyzed by the command analysis unit (610) of 3),
If the input command is a command for remote operation of the server-side object-oriented debugger (604) operating on the remote machine, the converter (6
09), the converter (609) converts the command into an operation call of the object-oriented debugger, and sends a request for the operation of the server-side object-oriented debugger (604) via the object request broker (ORB).

【0017】図7は、コンバータのプログラム構成(70
1)である。コンバータ(701)は、サーバ側のオブジェク
ト指向型デバッガのオブジェクトリファレンス獲得機能
(702)、サーバ側のオブジェクト指向型デバッガのオペ
レーション呼び出し機能(703)、インターフェース定義
情報から生成されるスタブ(704)から構成される。コン
バータ(701)は、サーバ側のオブジェクト指向型デバッ
ガのオブジェクトリファレンスを獲得し、共通オブジェ
クトリクエストブローカアーキテクチャ(CORBA)仕様で
規定された手順で動作する準備をする。更に、非オブジ
ェクト指向型デバッガ(705)からサーバ側のオブジェク
ト指向型デバッガに対するコマンドが送られると、オペ
レーション呼び出し機能(703)で対応するリモートオペ
レーション呼び出しに変換して、スタブ(704)でリクエ
ストを組み立て、オブジェクトリクエストブローカ(OR
B)を介してサーバ側のオブジェクト指向型デバッガに送
付する。
FIG. 7 shows a program configuration (70
1). The converter (701) is an object reference acquisition function of the server-side object-oriented debugger.
(702), an operation call function (703) of an object-oriented debugger on the server side, and a stub (704) generated from interface definition information. The converter (701) obtains an object reference of the server-side object-oriented debugger, and prepares to operate according to the procedure specified in the Common Object Request Broker Architecture (CORBA) specification. Further, when a command to the server-side object-oriented debugger is sent from the non-object-oriented debugger (705), the command is converted into a corresponding remote operation call by the operation call function (703), and the request is assembled by the stub (704). , Object request broker (OR
Send it to the server-side object-oriented debugger via B).

【0018】図8は、非オブジェクト指向型デバッガが
コンバータを使用してオブジェクト指向型デバッガとし
て動作する処理フローである。最初に、非オブジェクト
指向型デバッガ(603)が、コンバータ(609)のオブジェク
トリファレンス獲得機能(702)を呼び出し(S801)、オブ
ジェクトリクエストブローカ(ORB)(605)からサーバ側の
オブジェクト指向型デバッガ(604)のオブジェクトリフ
ァレンス、すなわち言語2対応サーバデバッガ(204)がO
RBに登録したオブジェクトの識別情報、を取得して(S80
2)、デバッグ対象アプリケーションを起動する(S803)。
非オブジェクト指向型デバッガ(603)のコマンド入力装
置(608)からコマンドが入力されると、コマンド解析部
(610)で解析して(S804)、オブジェクト指向型デバッガ
(604)に対するリモートオペレーションの場合(S805)、
コンバータ(609)のリモートオペレーション呼び出し機
能(703)を実行する(S806)。コンバータ(609)のリモート
オペレーション呼び出し機能(703)ではコンバータ(609)
のオブジェクトリファレンス獲得機能(702)で獲得した
オブジェクトリクエストを用いてオブジェクト指向型デ
バッガ(604)のオペレーションを呼び出し(S809)、スタ
ブ(607)で、言語2対応サーバデバッガ(604)のオブジェ
クトでのオペレーションに対するリクエストとなるイン
ターフェース定義情報を組み立て言語2対応サーバデバ
ッガ(604)に送付する(S810)。コマンド解析の結果、リ
モートオペレーションに対するコマンドでない場合(S80
5)、通常のカレントアプリケーション(612)に対してデ
バッグ操作機能を実行する(S808)。サーバ側のオブジェ
クト指向型デバッガ(604)の実行結果は、コンバータ
(609)のスタブ(607)を経由して非オブジェク
ト指向型デバッガ(603)に送付され(S811、S806)、結果
が表示される(S807)。コンバータが、共通オブジェクト
リクエストブローカアーキテクチャ(CORBA)仕様で規定
された機能を備えているため、非オブジェクト指向型デ
バッガは、従来の処理の延長でコンバータの機能を呼び
出すことによって、サーバ側のオブジェクト指向型デバ
ッガと連携可能になる。
FIG. 8 is a processing flow in which a non-object-oriented debugger operates as an object-oriented debugger using a converter. First, the non-object-oriented debugger (603) calls the object reference acquisition function (702) of the converter (609) (S801), and the object request broker (ORB) (605) sends the server-side object-oriented debugger (604). ) Object reference, that is, the language 2 compatible server debugger (204)
Obtain the identification information of the object registered in the RB (S80
2), start the application to be debugged (S803).
When a command is input from the command input device (608) of the non-object-oriented debugger (603), the command analysis unit
Analyzed by (610) (S804), object-oriented debugger
In the case of remote operation for (604) (S805),
The remote operation call function (703) of the converter (609) is executed (S806). The converter (609) is used in the remote operation call function (703) of the converter (609).
The operation of the object-oriented debugger (604) is called using the object request acquired by the object reference acquisition function (702) (S809), and the operation on the object of the language 2 compatible server debugger (604) is performed by the stub (607). Is transmitted to the assembly language 2 compatible server debugger (604) (S810). If the command analysis indicates that the command is not a command for remote operation (S80
5) The debug operation function is executed for the normal current application (612) (S808). The execution result of the server-side object-oriented debugger (604) is sent to the non-object-oriented debugger (603) via the stub (607) of the converter (609) (S811, S806), and the result is displayed. (S807). Because the converter has the functions specified in the Common Object Request Broker Architecture (CORBA) specification, the non-object-oriented debugger calls the converter function as an extension of the conventional processing, and the server-side object-oriented Cooperate with debugger.

【0019】以上の図を用いて、コンバータが非オブジ
ェクト指向型デバッガの1コマンドを入力してオブジェ
クト指向型デバッガに対するオペレーション呼び出しに
変換する処理の流れの例を説明する。
An example of the flow of processing in which the converter inputs one command of the non-object-oriented debugger and converts it into an operation call for the object-oriented debugger will be described with reference to the above-mentioned drawings.

【0020】例えば、コマンド入力装置(608)から、遠
隔の場所で動作するアプリケーション(611)の100行目に
ブレークポイントを設定するコマンド(例えばsb 100)
を入力すると、非オブジェクト指向型デバッガ(603)の
コマンド解析部(610)で入力コマンドを解析し、サーバ
側のアプリケーションにブレークポイントを設定するオ
ペレーションを呼び出すコンバータのオペレーション呼
び出し機能(703)を呼び出す。オペレーション呼び出し
機能(703)では、サーバ側のオブジェクト指向型デバッ
ガのオブジェクトリファレンス、すなわち言語2対応サ
ーバデバッガ(204)がORBに登録したオブジェクトの識別
情報を用いて、ブレークポイントを設定するオペレーシ
ョンに変換し、スタブ(704)でこのオペレーションに対
するリクエストとなるインターフェース定義情報が組み
立てられ、サーバ側のオブジェクト指向型デバッガに送
付される。
For example, a command (for example, sb 100) for setting a breakpoint at the 100th line of an application (611) operating at a remote place from the command input device (608)
Is input, the command analysis unit (610) of the non-object oriented debugger (603) analyzes the input command and calls the operation call function (703) of the converter that calls the operation for setting a breakpoint in the server-side application. In the operation call function (703), using the object reference of the server-side object-oriented debugger, that is, the language 2 compliant server debugger (204) converts the operation into a breakpoint setting operation using the identification information of the object registered in the ORB. Then, the stub (704) assembles interface definition information as a request for this operation and sends it to the server-side object-oriented debugger.

【0021】本実施例では、クライアント側で動作する
非オブジェクト指向型デバッガに、非オブジェクト指向
型デバッガのコマンドをサーバ側のオブジェクト指向型
デバッガのオペレーションに変換するコンバータを設け
て、オブジェクト指向型デバッガとして動作するものを
説明したが、同じように、サーバ側で動作する非オブジ
ェクト指向型デバッガに、オペレーションに対するリク
エストを非オブジェクト指向型デバッガのコマンドに変
換するコンバーターを設けることにより、オブジェクト
指向型デバッガとして動作するようにすることも可能で
ある。また、クライアント側、及びサーバ側の双方にコ
ンバータを設けることで、双方のデバッガが非オブジェ
クト指向デバッガであっても、リモートオペレーション
を実行するように構成できることは言うまでもない。
In this embodiment, a non-object-oriented debugger operating on the client side is provided with a converter for converting a command of the non-object-oriented debugger into an operation of the server-side object-oriented debugger. In the same way, a non-object-oriented debugger that operates on the server side is provided with a converter that converts requests for operations into non-object-oriented debugger commands. It is also possible to do so. Further, by providing converters on both the client side and the server side, it goes without saying that a remote operation can be executed even if both debuggers are non-object-oriented debuggers.

【0022】[0022]

【発明の効果】以上説明したように、本発明によれば、
分散オブジェクト環境において、デバッガ間で連携可能
な分散デバッガシステムを、数々のネットワークに対す
るプロトコルやアプリケーションの開発言語に依存しな
いものにすることができる。
As described above, according to the present invention,
In a distributed object environment, a distributed debugger system that can cooperate between debuggers can be made independent of protocols for various networks and application development languages.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明による分散デバッガシステムの構成例を
示す図である。
FIG. 1 is a diagram showing a configuration example of a distributed debugger system according to the present invention.

【図2】クライアント側のオブジェクト指向型デバッガ
とサーバ側のオブジェクト指向型デバッガの構成例を示
す図である。
FIG. 2 is a diagram illustrating a configuration example of an object-oriented debugger on the client side and an object-oriented debugger on the server side.

【図3】クライアント側のオブジェクト指向型デバッガ
とサーバ側のオブジェクト指向型デバッガの処理フロー
を示す図である。
FIG. 3 is a diagram showing a processing flow of an object-oriented debugger on the client side and an object-oriented debugger on the server side.

【図4】サーバ側デバッガのリモートオペレーションに
対するインターフェース定義情報を示す図である。
FIG. 4 is a diagram showing interface definition information for a remote operation of a server-side debugger.

【図5】分散デバッガ間のリクエストの流れを説明する
ための図である。
FIG. 5 is a diagram for explaining the flow of requests between distributed debuggers.

【図6】分散デバッガシステムの他の構成例を示す図で
ある。
FIG. 6 is a diagram illustrating another configuration example of the distributed debugger system.

【図7】コンバータのプログラム構成を示す図である。FIG. 7 is a diagram showing a program configuration of a converter.

【図8】コンバータと非オブジェクト指向型デバッガの
処理フローを示す図である。
FIG. 8 is a diagram showing a processing flow of a converter and a non-object-oriented debugger.

【符号の説明】[Explanation of symbols]

101 カレントマシン 102 リモートマシン 103 言語1対応オブジェクト指向型デバッガ 104 言語2対応オブジェクト指向型デバッガ 105 オブジェクトリクエストブローカ(ORB) 106 スケルトン 107 スタブ 108 コマンド入出力装置 201 言語1対応クライアントデバッガ 202 オブジェクトリファレンス獲得機能 203 リモートオペレーション呼び出し機能 204 言語2対応サーバデバッガ 205 サーバ登録機能 206 オペレーション実行機能 207 スタブ 208 スケルトン 209 オブジェクトリクエストブローカ(ORB) 210 コマンド入力装置 211 コマンド解析部 212 デバッグ操作機能 501 言語1対応オブジェクト指向型デバッガ 502 言語2対応オブジェクト指向型デバッガ 503 オペレーション呼び出し処理 504 スタブ 505 オブジェクトリクエストブローカ(ORB) 506 スケルトン 507 オペレーション実行機能 508 コマンド入力装置 509 デバッグ対象アプリケーション 601 カレントマシン 602 リモートマシン 603 非オブジェクト指向型デバッガ 604 オブジェクト指向型デバッガ 605 オブジェクトリクエストブローカ(ORB) 606 スケルトン 607 スタブ 608 コマンド入出力装置 609 コンバータ 610 コマンド解析部 611、612 デバッグ対象アプリケーション 701 コンバータ 702 オブジェクトリファレンス獲得機能 703 オペレーション呼び出し機能 704 スタブ 705 非オブジェクト指向型デバッガ Reference Signs List 101 current machine 102 remote machine 103 language 1 compatible object oriented debugger 104 language 2 compatible object oriented debugger 105 object request broker (ORB) 106 skeleton 107 stub 108 command input / output device 201 language 1 compatible client debugger 202 object reference acquisition function 203 Remote operation call function 204 Language 2 compatible server debugger 205 Server registration function 206 Operation execution function 207 Stub 208 Skeleton 209 Object request broker (ORB) 210 Command input device 211 Command analysis unit 212 Debug operation function 501 Language 1 compatible object oriented debugger 502 Object-oriented debugger for language 2 03 Operation call processing 504 Stub 505 Object request broker (ORB) 506 Skeleton 507 Operation execution function 508 Command input device 509 Application to be debugged 601 Current machine 602 Remote machine 603 Non-object oriented debugger 604 Object oriented debugger 605 Object request broker (ORB) ) 606 skeleton 607 stub 608 command input / output device 609 converter 610 command analyzer 611, 612 debug target application 701 converter 702 object reference acquisition function 703 operation call function 704 stub 705 non-object oriented debugger

───────────────────────────────────────────────────── フロントページの続き (72)発明者 坂西 宣一郎 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア事業部内 Fターム(参考) 5B042 GA08 GA12 GC10 HH13 HH23 HH25 LA01 NN04 NN40 5B045 GG01 JJ49  ──────────────────────────────────────────────────続 き Continuing from the front page (72) Inventor: Shoichiro Sakanishi 5030 Totsuka-cho, Totsuka-ku, Yokohama-shi, Kanagawa Prefecture F-term in the Software Division, Hitachi, Ltd. 5B042 GA08 GA12 GC10 HH13 HH23 HH25 LA01 NN04 NN40 5B045 GG01 JJ49

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 分散オブジェクト環境で、クライアント
とサーバで連携して動作するプログラムをデバッグする
ためのオブジェクト指向型クライアントデバッガとオブ
ジェクト指向型サーバデバッガを連携動作するための通
信機構として、オブジェクトリクエストブローカ(ORB)
を用い、 前記オブジェクト指向型クライアントデバッガに、サー
バ側のデバック対象プログラムに対する入力装置から入
力されたリモートオペレーション指示に応じて前記オブ
ジェクト指向型サーバデバッガに前記ORBを介して依頼
する該指示に対応するリクエストを組み立てるスタブを
設け、 オブジェクト指向型サーバデバッガに、前記ORBを介し
て送付されたリクエストを受け、該リクエストに対応す
る前記オブジェクト指向型サーバデバッガのオペレーシ
ョン実行機能を呼び出すスケルトンを設け、 サーバ側のデバック対象プログラムに対して前記リモー
トオペレーションに対応するオペレーションの実行を可
能とすることを特徴とする分散デバッガ間連携処理方
法。
An object request broker (1) is provided as a communication mechanism for cooperatively operating an object-oriented client debugger and an object-oriented server debugger for debugging a program operating in cooperation with a client and a server in a distributed object environment. ORB)
A request corresponding to the object-oriented client debugger, which is requested via the ORB to the object-oriented server debugger via the ORB in response to a remote operation instruction input from an input device for a program to be debugged on the server side. A skeleton for receiving the request sent via the ORB and invoking the operation execution function of the object-oriented server debugger corresponding to the request, and providing a debugger on the server side. A method for processing cooperation between distributed debuggers, wherein an operation corresponding to the remote operation can be executed on a target program.
【請求項2】 請求項1記載の分散デバッガ間連携処理
方法において、 前記リモートオペレーションとして、少なくともブレー
クポイント設定、ブレークポイント解除、データ値表
示、データ値設定、ステップ実行の各機能を設け、 前記オブジェクト指向型クライアントデバッガには、前
記リモートオペレーション指示に応じて前記スタブに渡
すリモートオペレーションを呼び出すリモートオペレー
ション呼び出し機能を設け、 オブジェクト指向型サーバデバッガには、前記リクエス
トが要求するリモートオペレーションに対応するオペレ
ーション実行機能を設けることを特徴とする分散デバッ
ガ間連携処理方法。
2. The method according to claim 1, wherein at least each function of a breakpoint setting, a breakpoint release, a data value display, a data value setting, and a step execution is provided as the remote operation. The directional client debugger has a remote operation calling function for calling a remote operation to be passed to the stub in response to the remote operation instruction. The object-oriented server debugger has an operation execution function corresponding to the remote operation requested by the request. And a distributed debugger cooperation processing method.
【請求項3】 分散オブジェクト環境で、クライアント
とサーバで連携して動作するプログラムをデバッグする
ための非オブジェクト指向型クライアントデバッガとオ
ブジェクト指向型サーバデバッガを連携動作するための
通信機構として、オブジェクトリクエストブローカ(OR
B)を用い、 前記非オブジェクト指向型クライアントデバッガに、サ
ーバ側のデバック対象プログラムに対する入力装置から
入力されたリモートオペレーション指示に応じて、該指
示に対応するオブジェクト指向型デバッガのリモートオ
ペレーションを呼び出す機能と、前記オブジェクト指向
型サーバデバッガに前記ORBを介して依頼する該呼び出
されたリモートオペレーションに対応するリクエストを
組み立てるスタブとを有するコンバート機能を設け、 オブジェクト指向型サーバデバッガに、前記ORBを介し
て送付されたリクエストを受け、該リクエストに対応す
る前記オブジェクト指向型サーバデバッガのオペレーシ
ョン実行機能を呼び出すスケルトンを設け、 サーバ側のデバック対象プログラムに対して前記非オブ
ジェクト指向型クライアントデバッガに入力されたリモ
ートオペレーション指示に対応するオペレーションの実
行を可能とすることを特徴とする分散デバッガ間連携処
理方法。
3. An object request broker as a communication mechanism for cooperatively operating a non-object-oriented client debugger and an object-oriented server debugger for debugging a program operating in cooperation with a client and a server in a distributed object environment. (OR
B) using, in response to a remote operation instruction input from an input device for a program to be debugged on the server side to the non-object-oriented client debugger, a function of invoking a remote operation of the object-oriented debugger corresponding to the instruction. And a stub for assembling a request corresponding to the called remote operation requested to the object-oriented server debugger via the ORB. A skeleton for receiving the request, and invoking the operation execution function of the object-oriented server debugger corresponding to the request, and providing the non-object-oriented client to a server-side debug target program. Distributed debugger between cooperative processing method characterized in that to enable execution of operations corresponding to the remote operation instruction inputted into cement debugger.
JP11052221A 1999-03-01 1999-03-01 Inter-distributed debugger linkage processing method Pending JP2000250778A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11052221A JP2000250778A (en) 1999-03-01 1999-03-01 Inter-distributed debugger linkage processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11052221A JP2000250778A (en) 1999-03-01 1999-03-01 Inter-distributed debugger linkage processing method

Publications (1)

Publication Number Publication Date
JP2000250778A true JP2000250778A (en) 2000-09-14

Family

ID=12908707

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11052221A Pending JP2000250778A (en) 1999-03-01 1999-03-01 Inter-distributed debugger linkage processing method

Country Status (1)

Country Link
JP (1) JP2000250778A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020047604A (en) * 2000-12-13 2002-06-22 오길록 System and method for debugging distributed application program using a proxy for IPC
US9367380B2 (en) 2013-03-22 2016-06-14 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Dynamically altering error logging activities in a computing system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020047604A (en) * 2000-12-13 2002-06-22 오길록 System and method for debugging distributed application program using a proxy for IPC
US9367380B2 (en) 2013-03-22 2016-06-14 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Dynamically altering error logging activities in a computing system

Similar Documents

Publication Publication Date Title
US5630049A (en) Method and apparatus for testing software on a computer network
US5819093A (en) System and method for a distributed debugger for debugging distributed application programs
US6011920A (en) Method and apparatus for debugging applications on a personality neutral debugger
US5940075A (en) Method for extending the hypertext markup language (HTML) to support enterprise application data binding
JP3055970B2 (en) Method and apparatus for implementing interface between object-oriented languages
US5675800A (en) Method and apparatus for remotely booting a computer system
US20070276692A1 (en) Method for Debugging a Business Process Flow
US20020066071A1 (en) Local environment for integrated multiple-tier client-server concurrent program developement
US20080263522A1 (en) Common Debug Adaptor
US20010011215A1 (en) Network device simulation system and method
US6321347B1 (en) Network testing system and method
US7200839B2 (en) Debugging transactions across multiple processors
US20030069998A1 (en) Motion services protocol accessible through uniform resource locator (URL)
JP2000250778A (en) Inter-distributed debugger linkage processing method
Long et al. A case study in testing distributed systems
Yokoyama et al. Geographical concept recognition with the octgrid method for learning geography and geology
KR20020047604A (en) System and method for debugging distributed application program using a proxy for IPC
CN110554966A (en) Drive debugging method, behavior analysis method and drive debugging system
KR20050063023A (en) Embedded system debugger based on jtag interface and the method
CN113238898B (en) Method for cooperatively monitoring and debugging multi-task running state and communication interface
US20080313269A1 (en) Remoting of Console Operating in a Multi-Session Environment
Kurniawan et al. A wsrf-compliant debugger for grid applications
JPH05334272A (en) Monitoring and operating method for plural electronic computers
JP2002132502A (en) Automatic creating system and method of distributed object with interpretation of language function
Duarte et al. SUPPORTING ON–LINE DISTRIBUTED MONITORING AND DEBUGGING

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040317