JPH01229339A - System for displaying debugging information - Google Patents

System for displaying debugging information

Info

Publication number
JPH01229339A
JPH01229339A JP63055316A JP5531688A JPH01229339A JP H01229339 A JPH01229339 A JP H01229339A JP 63055316 A JP63055316 A JP 63055316A JP 5531688 A JP5531688 A JP 5531688A JP H01229339 A JPH01229339 A JP H01229339A
Authority
JP
Japan
Prior art keywords
class
display means
execution process
execution
displays
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
JP63055316A
Other languages
Japanese (ja)
Inventor
Miyuki Ono
美由紀 小野
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 JP63055316A priority Critical patent/JPH01229339A/en
Publication of JPH01229339A publication Critical patent/JPH01229339A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To make a succession relation intelligible and to facilitate debugging by displaying a succession tree and displaying the execution process of a method in a master class when the method in the middle of execution is defined in the master class. CONSTITUTION:When a user requests a certain class of the execution of the method, a window display means 1 opens and displays a window, and a succession tree display means 2 displays the succession tree showing the succession relation of the class to be requested, whereby a call class center display means 3 displays the call center. When the method is defined by the designated class, it is displayed as it is. When it is not defined, a master three is traced in the succession tree. When the defined class is detected, a defined class center means 4 displays the class center. When the execution of the method is executed, an execution process display means 5 displays the execution process in a center display frame. When the other method is called in the execution of the method, the means 1 opens a different window and a similar processing is executed by using it.

Description

【発明の詳細な説明】 〔概 要〕 オブジェクト指向型言語のデバッグに関し、実行中のメ
ソッドのクラス継承関係を判りやす(知らせることを目
的とし、 オブジェクト指向型言語によるプログラムのデバッグに
おいて、メソッドの呼出しごとにウィンドウを設け表示
するウィンドウ表示手段と、メソッドの呼出しに応じて
該クラスの継承関係を示す継承水を表示する継承木表示
手段と、呼出クラスを中心にメソッド実行過程表示枠を
含む表示を行う呼出クラス中心表示手段と、前記メソッ
ドの定義クラスが見いだされたとき該定義クラスを中心
に実行過程表示枠を含む表示を行う定義クラス中心表示
手段と、メソッドの実行過程を前記実行過程表示枠内に
表示する実行過程表示手段を備えるよう構成する。
[Detailed Description of the Invention] [Summary] For the purpose of easily understanding (informing) the class inheritance relationship of the method being executed in debugging an object-oriented language. a window display means for displaying a window for each class; an inheritance tree display means for displaying an inheritance tree indicating the inheritance relationship of the class in response to a method call; and a display including a method execution process display frame centered on the calling class. a calling class centered display means for displaying an execution process display frame centered on the definition class of the method when the definition class of the method is found; The system is configured to include execution process display means for displaying the execution process within.

〔産業上の利用分野〕[Industrial application field]

本発明はプログラムのデバッグに係り、特にオブジェク
ト指向型言語におけるデバッグ情報の表示方式に関する
The present invention relates to debugging programs, and particularly to a method for displaying debugging information in an object-oriented language.

〔従来の技術〕[Conventional technology]

プログラム言語の中で、オブジェクト指向型言語といわ
れる言語がある。これは、世界は独立した「もの」の集
まりであり、全ての「もの」がオブジェクトとして表現
され、オブジェクトを中心として考え、これに対する操
作はメツセージを送ることにより行うという言語である
。オブジェクト指向型のモデルは、現実の世界を表現す
るモデルとして、われわれの直感的認識と合致している
ので、人工知能言語としても利用がある。その代表的な
ものが“SmallLalk”である。
Among programming languages, there are languages called object-oriented languages. This is a language in which the world is a collection of independent ``things,'' all ``things'' are expressed as objects, objects are considered as the center, and operations on objects are performed by sending messages. Object-oriented models are also used as artificial intelligence languages because they match our intuitive perception as models that represent the real world. A typical example is "Small Lalk."

オブジェクト指向型言語には継承機能があり、作成済み
のプログラム(クラス)を流用することが可能である。
Object-oriented languages have an inheritance function, and it is possible to reuse already created programs (classes).

作成済みのクラスを継承することにより、そのクラスの
機能(メソッド)を使用でき、同一名称のメソッドに異
なる定義を与えることも可能である。また、複数のクラ
スを継承することにより、既存のクラスを組み合わせた
様々な機能を持つクラスを作成することができる。また
、階層的に多重に継承することも行われる。
By inheriting an already created class, you can use the functions (methods) of that class, and it is also possible to give different definitions to methods with the same name. Also, by inheriting multiple classes, you can create classes with various functions by combining existing classes. In addition, hierarchical multiple inheritance is also performed.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

継承機能は、このような利点を持つ反面、デバッグをし
難いという欠点を持っている。他クラスを継承すること
により、自クラスで直接定義されていないメソッドを持
つことになるので、多くのクラスを継承すると、作成し
たユーザ自身どんなメソッドが実行できるのかが把握で
きなくなってしまう。そのクラスに定義されていないメ
ソッドが実行された場合、どの継承クラスに定義されて
いるメソッドを用いているのか、判らなくなることもあ
る。
Although the inheritance function has these advantages, it also has the disadvantage that it is difficult to debug. By inheriting from another class, you will have methods that are not directly defined in your own class, so if you inherit many classes, the user who created it will not be able to figure out what methods can be executed. If a method that is not defined in that class is executed, it may become unclear which inherited class is using the method defined in it.

従来のデバッグ方式では、継承されているクラス(親ク
ラス)で定義されているメソッドを実行している時でも
、その継承光(子)のクラスのメソッドとして表示して
しまうので、そのメソッドが実際に定義されているクラ
スが判らず、継承クラスと各クラスで定義されているメ
ソッドを覚えていない場合にはユーザはソースプログラ
ムを調べなくてはならなくなり、非常にデバッグが行い
難いという問題点がある。
In the conventional debugging method, even when a method defined in an inherited class (parent class) is executed, it is displayed as a method of the inherited (child) class, so the method is not actually executed. If the user does not know which classes are defined in the program and does not remember the inherited classes and the methods defined in each class, the user must examine the source program, which makes debugging very difficult. be.

本発明が解決しようとする課題は、このような従来の問
題点を解消したデバッグ情報表示方式を提供することに
ある。
The problem to be solved by the present invention is to provide a debug information display method that eliminates such conventional problems.

〔課題を解決するための手段〕[Means to solve the problem]

第1図は、本発明のデバッグ情報表示方式の原理ブロッ
ク図を示す。
FIG. 1 shows a principle block diagram of the debug information display method of the present invention.

図において、■はウィンドウ表示手段であり、メソッド
の呼出しごとにウィンドウを設け表示する。
In the figure, ■ is a window display means, which provides and displays a window for each method call.

2は継承木表示手段であり、メソッドの呼出しに応じて
該クラスの継承関係を示す継承水を表示する。
Reference numeral 2 denotes an inheritance tree display means, which displays an inheritance tree indicating the inheritance relationship of the class in response to a method call.

3は呼出クラス中心表示手段であり、呼出クラスを中心
にメソッド実行過程表示枠を含む表示を行う。
Reference numeral 3 denotes a calling class center display means, which displays a method execution process display frame centered on the calling class.

4は定義クラス中心表示手段であり、前記メソッドの定
義クラスが見いだされたとき該定義クラスを中心に実行
過程表示枠を含む表示を行う。
Reference numeral 4 denotes a definition class center display means which, when a definition class of the method is found, displays a display including an execution process display frame centered on the definition class.

5は実行過程表示手段であり、メソッドの実行過程を前
記実行過程表示枠内に表示する。
5 is an execution process display means, which displays the execution process of the method in the execution process display frame.

〔作 用〕[For production]

本表示方式では、プログラムのデバッグを実行中、デバ
ッグ対象クラスの親クラスを表示しておき、継承関係を
明らかにする。実行中のメソッドが親クラスに定義され
ている場合には、その親クラスを中心にして表示を行い
、メソッドの定義されているクラスが判るようにする。
In this display method, while a program is being debugged, the parent class of the class to be debugged is displayed to clarify inheritance relationships. If the method being executed is defined in a parent class, the display is centered around that parent class so that the class in which the method is defined can be seen.

まず、ユーザが成るクラスに対してメソッドの実行を要
求すると、ウィンドウ表示手段1がウィンドウを開設し
て表示して、継承木表示手段2が要求されているクラス
の継承関係を示す継承水を表示しく第1図(1)))、
呼出クラス中心表示手段3が呼出クラス中心の表示を行
う(第1図(C))。
First, when a user requests a class to execute a method, the window display means 1 opens and displays a window, and the inheritance tree display means 2 displays an inheritance diagram indicating the inheritance relationship of the requested class. Figure 1 (1)))
The calling class center display means 3 performs a display centering on the calling class (FIG. 1(C)).

次ぎに、メソッドがその指定されたクラスに定義されて
いた場合は、そのままの表示とし、実行過程表示手段4
はメソッドの実行過程を中央の表示枠内に表示する(第
1図(e))。
Next, if the method is defined in the specified class, it is displayed as is, and the execution process display means 4
displays the method execution process in the central display frame (Fig. 1(e)).

メソッドがその指定されたクラスに定義されていなかっ
た場合には、継承木で親をたどり定義しているクラスを
探す。定義しているクラスが見つかったときは、定義ク
ラス中心表示手段4は、見つかったクラス中心の表示を
行い(第1図(d))、メソッドの実行が行われると実
行過程表示手段5はメソッドの実行過程を中央の表示枠
内に表示する(第1図(e))。
If the method is not defined in the specified class, the parent is traced through the inheritance tree to find the class that defines it. When the defined class is found, the definition class center display means 4 displays the found class (FIG. 1(d)), and when the method is executed, the execution process display means 5 displays the method. The execution process of is displayed in the central display frame (Fig. 1(e)).

メソッドの実行中に、また別なメソッドを呼び出す場合
には、ウィンドウ表示手段1は別ウィンドを開き、これ
を用いて同様な処理を行う。
If another method is to be called during execution of a method, the window display means 1 opens another window and performs similar processing using this window.

このように表示することにより、クラスの継承関係がデ
バッグ中に常に把握でき、メソッドの定義元のクラスが
明らかになるので、デバッグは非常に行いやすくなる。
By displaying in this way, you can always understand the inheritance relationships of classes during debugging, and the class from which a method is defined becomes clear, making debugging much easier.

〔実施例〕〔Example〕

以下第2図〜第5図に示す実施例により、本発明をさら
に具体的に説明する。
The present invention will be explained in more detail below with reference to embodiments shown in FIGS. 2 to 5.

第2図は、本発明の一実施例のシステム構成を示す図で
ある。
FIG. 2 is a diagram showing a system configuration of an embodiment of the present invention.

図において、10はインタプリタであり、20は継承情
報ファイルであり、30はキーボードを含む表示装置で
あって、40はプログラムである。
In the figure, 10 is an interpreter, 20 is an inheritance information file, 30 is a display device including a keyboard, and 40 is a program.

インタプリタ10は、解釈実行を行うプログラムであり
、表示装置30からユーザのメソッド実行要求を受は取
り、これをユーザの定義したプログラム40を参照しな
がら実行していく。メソッドが自クラスに定義されてい
ない場合には、継承情報ファイル20から継承木情報を
取り出し表示すると共に親クラスをたどり、そのメソッ
ドの定義されているクラスを中心にした表示に変え、実
行過程を中央枠内に表示する。
The interpreter 10 is a program that performs interpretation and execution, and receives a user's method execution request from the display device 30 and executes it while referring to a program 40 defined by the user. If the method is not defined in its own class, the inheritance tree information is fetched from the inheritance information file 20 and displayed, the parent class is traced, the display is changed to center on the class where the method is defined, and the execution process is displayed. Display within the center frame.

第3図は、本発明の一実施例における継承↑ffNのデ
ータ構造を示す。継承情報は、図に示すように、あるク
ラスとそのクラスの親りラス全てが一つの情報になって
いるものであり、親クラスとしては直接の親クラスだけ
を記載する。
FIG. 3 shows the data structure of inheritance ↑ffN in one embodiment of the present invention. As shown in the figure, inheritance information is a single piece of information that includes a class and all of its parent classes, and only the direct parent class is described as the parent class.

第4図は、本発明の一実施例におけるインタプリタの動
作を示すフローチャートである。
FIG. 4 is a flowchart showing the operation of the interpreter in one embodiment of the present invention.

以下、フローチャートのステップに従ってその動作を説
明する。
The operation will be explained below according to the steps of the flowchart.

ユーザから成るクラスの成るメソッドの実行要求(メソ
ッド呼出し)が出されたときから処理が開始される。
Processing starts when a request for execution (method call) of a method made up of a class made up of users is issued.

■表示画面にウィンドウを設け表示する。■Create and display a window on the display screen.

■相承情報ファイルを検索し、呼び出されたクラスの継
承関係を示す継承情報を読み出し、纜承木を表示する。
■Search the inheritance information file, read the inheritance information indicating the inheritance relationship of the called class, and display the inheritance tree.

■呼出元クラスを中心に実行過程表示枠を表示する。■Display the execution process display frame centered on the calling class.

■メソッドがそのクラスに定義されているかを調べ、定
義されていればステップ■へ進み、そうでなければステ
ップ■へ進む。
■Check whether the method is defined in the class, and if it is defined, proceed to step ■; otherwise, proceed to step ■.

■未探索の親クラスがあるかを調べ、あればステップ■
へ進み、なければ探索失敗として表示し処理を終わる。
■Check if there is an unexplored parent class, and if so, step■
If no search is found, it will be displayed as a search failure and the process will end.

■継承情報から親クラスを一つ取り出し、ステップ■へ
戻る。
■Extract one parent class from the inheritance information and return to step ■.

■定義クラス中心に実行過程枠を表示する。これが呼出
元クラスであれば、ステップ■の表示のままとする。
■Display the execution process frame centered on the definition class. If this is the calling class, the display in step ■ remains as it is.

■メソッドを実行要求のとおり実行し、その実行過程を
実行過程表示枠内に表示する。メソッドの実行中に他メ
ソッドの呼出しが起こった場合は、そのメソッドに関し
ステップ■へ飛ぶ。
■Execute the method according to the execution request and display the execution process in the execution process display frame. If a call to another method occurs while a method is being executed, the process jumps to step (2) for that method.

■継承によるメソッドの場合において、メソッド実行が
失敗であったかを判断し、失敗であればステップ[相]
へ進み、そうでなければステップ0へ飛ぶ。
■In the case of a method based on inheritance, determine whether the method execution was a failure, and if it is a failure, step [phase]
If not, jump to step 0.

[相]クラス表示を反転(表示色と背景色を逆にする)
する。
[Phase] Invert class display (reverse display color and background color)
do.

■他メソッドからの呼出しであったかを判断し、そうで
あればステップ@へ進み、そうでなければ処理を終了す
る。
■Determine whether the call was from another method, and if so, proceed to step @; if not, terminate the process.

■現ラインドウを消し、処理を終了する。■Delete the current window and end the process.

第5図は、本発明の一実施例による処理実行中の表示例
を示す図である。
FIG. 5 is a diagram showing an example of a display during execution of processing according to an embodiment of the present invention.

第5図(a)は継承木表示例を示し、クラスCはクラス
aとクラスbを継承していることを示す。即ち、a −
+ cは、aがCの親クラスであることを示す。
FIG. 5(a) shows an example of an inheritance tree display, showing that class C inherits from classes a and b. That is, a −
+c indicates that a is the parent class of C.

いま、メソッドmはクラスCには定義されておらず、ク
ラスaとbに定義されているものとする。
Assume now that method m is not defined in class C, but is defined in classes a and b.

この時ユーザから、クラスCに対してメソッドmの実行
の要求が出されると、第5図(blに示す図が表示され
る。
At this time, when the user issues a request to class C to execute method m, the diagram shown in FIG. 5 (bl) is displayed.

メソッドmは、クラスCに定義されていないので、Cの
親クラスを調べる。クラスaに定義されていることが判
るので、第5図(C)のようにクラスaを中心に実行過
程枠が表示され、クラスaのメソッドrnの実行過程が
この表示枠に表示される。
Since method m is not defined in class C, the parent class of C is checked. Since it is known that method rn is defined in class a, an execution process frame is displayed centering on class a as shown in FIG. 5(C), and the execution process of method rn of class a is displayed in this display frame.

ここで、クラスaでの実行が失敗すると、aが反転表示
され、次の親クラスが調べられる。クラスbにもメソッ
ドmは定義されているので、第5図(diに示すように
、クラスbのメソッドmの実行過程が表示される。図に
おいて、斜線を施して示したのは、反転表示を表してい
る。この実行が成功すると、ユーザからのクラスCのメ
ソッドmの実行が成功したことになる。
Here, if execution in class a fails, a is highlighted and the next parent class is examined. Since method m is also defined in class b, the execution process of method m in class b is displayed as shown in Figure 5 (di). If this execution is successful, it means that the user has successfully executed method m of class C.

〔発明の効果〕〔Effect of the invention〕

以上説明のように本発明によれば、オブジェクト指向型
言語のデバッグにおいて、継承木を表示しておき、実行
中のメソッドが親クラスに定義されていた場合には親ク
ラスでメソッドの実行過程を表示することにより、継承
関係が判りやすく、実行中に実際に定義されているクラ
スを知ることができ、さらに実行中の他メソッドの呼出
しを別表示することにより区別が明瞭となり、デバッグ
効率に寄与する効果は極めて大である。
As explained above, according to the present invention, when debugging an object-oriented language, the inheritance tree is displayed, and if the method being executed is defined in the parent class, the execution process of the method is displayed in the parent class. By displaying, inheritance relationships are easy to understand and classes that are actually defined during execution can be known.Furthermore, by displaying calls of other methods being executed separately, the distinction becomes clear and contributes to debugging efficiency. The effect of doing so is extremely large.

【図面の簡単な説明】 第1図は本発明の原理ブロック図、 第2図は本発明の一実施例の構成を示す図、第3図は本
発明の一実施例における継承情報のデータ構造を示す図
、 第4図は本発明の一実施例による処理を示すフローヂャ
ート、 第5図は本発明の一実施例による表示例を示す図である
。 図面において、 1はウィンドウ表示手段、 2は継承木表示手段、 3は呼出クラス中心表示手段、 4は定義クラス中心表示手段、 5は実行過程表示手段、 をそれぞれ示す。 本発明の一実茄セリにおける継承情報のデータ構造を示
す図第   3   図 本発明の一実施例による処理を示すフローチャート第 
  4   図 (b)                     (
c)本発明の一実施例における表示例を示す図第   
5   図
[Brief Description of the Drawings] Fig. 1 is a block diagram of the principle of the present invention, Fig. 2 is a diagram showing the configuration of an embodiment of the present invention, and Fig. 3 is a data structure of inheritance information in an embodiment of the present invention. FIG. 4 is a flowchart showing processing according to an embodiment of the present invention, and FIG. 5 is a diagram showing an example of display according to an embodiment of the present invention. In the drawings, 1 is a window display means, 2 is an inheritance tree display means, 3 is a calling class center display means, 4 is a definition class center display means, and 5 is an execution process display means. Fig. 3 is a diagram showing the data structure of inheritance information in the eggplant parsley of the present invention; Fig. 3 is a flow chart showing the processing according to an embodiment of the present invention;
4 Figure (b) (
c) Diagram showing an example of display in one embodiment of the present invention
5 Figure

Claims (1)

【特許請求の範囲】  オブジェクト指向型言語によるプログラムのデバッグ
において、 メソッドの呼出しごとにウィンドウを設け表示するウィ
ンドウ表示手段(1)と、 メソッドの呼出しに応じて該クラスの継承関係を示す継
承木を表示する継承木表示手段(2)と、呼出クラスを
中心にメソッド実行過程表示枠を含む表示を行う呼出ク
ラス中心表示手段(3)と、前記メソッドの定義クラス
が見いだされたとき該定義クラスを中心にメソッド実行
過程表示枠を含む表示を行う定義クラス中心表示手段(
4)と、メソッドの実行過程を前記実行過程表示枠内に
表示する実行過程表示手段(5)を備えるよう構成した
ことを特徴とするデバッグ情報表示方式。
[Claims] In debugging a program using an object-oriented language, there is provided a window display means (1) that displays a window for each method call, and an inheritance tree that shows the inheritance relationship of the class according to the method call. an inheritance tree display means (2) for displaying a method; a calling class centering display means (3) for displaying a method execution process display frame centered on the calling class; Definition class center display means that displays a method execution process display frame in the center (
4), and an execution process display means (5) for displaying the execution process of a method in the execution process display frame.
JP63055316A 1988-03-09 1988-03-09 System for displaying debugging information Pending JPH01229339A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63055316A JPH01229339A (en) 1988-03-09 1988-03-09 System for displaying debugging information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63055316A JPH01229339A (en) 1988-03-09 1988-03-09 System for displaying debugging information

Publications (1)

Publication Number Publication Date
JPH01229339A true JPH01229339A (en) 1989-09-13

Family

ID=12995149

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63055316A Pending JPH01229339A (en) 1988-03-09 1988-03-09 System for displaying debugging information

Country Status (1)

Country Link
JP (1) JPH01229339A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0713766A (en) * 1993-06-14 1995-01-17 Internatl Business Mach Corp <Ibm> Object-oriented computer system and object class management method
JPH0713767A (en) * 1993-06-14 1995-01-17 Internatl Business Mach Corp <Ibm> Method and equipment for execution of object

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0713766A (en) * 1993-06-14 1995-01-17 Internatl Business Mach Corp <Ibm> Object-oriented computer system and object class management method
JPH0713767A (en) * 1993-06-14 1995-01-17 Internatl Business Mach Corp <Ibm> Method and equipment for execution of object
JP3365576B2 (en) * 1993-06-14 2003-01-14 インターナショナル・ビジネス・マシーンズ・コーポレーション Object execution method and apparatus

Similar Documents

Publication Publication Date Title
US6668370B1 (en) Synchronous execution of object-oriented scripts and procedural code from within an interactive test facility
US7979847B2 (en) Visual debugger for declarative/data-flow applications
US6002867A (en) Development system with methods providing visual form inheritance
KR100228938B1 (en) Method and system for specifying method parameters in a visual programming system
EP0360769A2 (en) Method for sharing common values implicitly among communicating generative objects
US20030076366A1 (en) Methods and systems for navigating deterministically through a graphical user interface
EP2299358A1 (en) Method and apparatus for user interface modification
JPH0772999A (en) Method and apparatus for monitoring of display screen event in screen-corresponding software application tool
US7627833B2 (en) System and method for object-oriented graphically integrated command shell
JPH05150931A (en) Method and apparatus for processing scope changing command
EP0575073A2 (en) Objects with run-time classes
JPH10222466A (en) Method for executing command with client/server type medical imaging system
CN109960709B (en) Database driver processing method, device, equipment and storage medium
JP2553801B2 (en) Graphical user interface management method
KR101079011B1 (en) Method and apparatus for generating a graphical user interface
US7275238B2 (en) Program event activated and configured debugger method, system, article of manufacture, computer program product, and data structure
JPH01229339A (en) System for displaying debugging information
CN115964042A (en) Menu generation method and device, storage medium and electronic equipment
JPH06149598A (en) Computer-user interface system
US20030117417A1 (en) Generic application flow management system and method
CN111124386A (en) Unity-based animation event processing method, device, equipment and storage medium
Hunt Essential JavaBeans Fast
US20220318386A1 (en) Generation of a causality tree representation of threat analysis report data
Stallmann et al. Galant: A graph algorithm animation tool
JP3624447B2 (en) Component generation source program generation device