JPH10240564A - Debugging method and debugging system for object-oriented program - Google Patents

Debugging method and debugging system for object-oriented program

Info

Publication number
JPH10240564A
JPH10240564A JP9046679A JP4667997A JPH10240564A JP H10240564 A JPH10240564 A JP H10240564A JP 9046679 A JP9046679 A JP 9046679A JP 4667997 A JP4667997 A JP 4667997A JP H10240564 A JPH10240564 A JP H10240564A
Authority
JP
Japan
Prior art keywords
memory
output
memory table
instance variable
generation
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
JP9046679A
Other languages
Japanese (ja)
Inventor
Tomomi Kurata
友美 鞍田
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP9046679A priority Critical patent/JPH10240564A/en
Publication of JPH10240564A publication Critical patent/JPH10240564A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a debugging system capable of verifying an operation relating to the generation and extinction of an object without the need of setting a break point beforehand or the like. SOLUTION: A message monitoring sub system 11 imparts an instance variable for storing a message name and a transmission origin object name for urging the generation and extinction of the object to the respective objects. In the meantime, a memory monitoring sub system 12 prepares a memory table for managing a memory area used by the object and updates it corresponding to the generation and extinction of the object. Then, the message monitoring sub system 11 informs the transmission/reception of a message for urging the generation or extinction of the object and the memory monitoring sub system 12 informs the change of a memory state accompanying the loading or extinction of the object and thus, a user is provided with information relating to the generation and extinction of the object.

Description

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

【0001】[0001]

【発明の属する技術分野】この発明は、オブジェクト指
向プログラムのデバッグ方法およびデバッグシステムに
係り、特に、ブレークポイントの設定などを必要とせず
にオブジェクトの生成および消滅に関する動作を検証可
能とするデバッグ方法およびデバッグシステムに関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method and a system for debugging an object-oriented program. Regarding the debugging system.

【0002】[0002]

【従来の技術】C++コンパイラのデバッガなど、従来
のデバッガでは、オブジェクトの生成および消滅の動作
を検証する際、ソースコードを1行単位で実行してい
き、予め設定されたブレークポイントにおいてオブジェ
クトが存在するか否かをメモリ上を参照することによっ
て確認することが一般的であった。
2. Description of the Related Art In a conventional debugger such as a C ++ compiler debugger, when verifying the creation and deletion operations of an object, the source code is executed line by line, and the object exists at a preset breakpoint. It is common to check whether or not to do so by referring to the memory.

【0003】[0003]

【発明が解決しようとする課題】しかしながら、このよ
うな方法では、あるオブジェクトが生成または消滅する
タイミングを予め設定されたブレークポイントでしか確
認できない。また、実行画面において行単位またはブロ
ック単位のソースコードが表示されるために、オブジェ
クトを単位とするオブジェクト指向プログラムでは、あ
るオブジェクトを生成または消滅させる直接的な原因と
なるオブジェクトとメッセージとがわかりづらい。した
がって、複数のオブジェクト間でメッセージの送受信が
行なわれるような状況においては、プログラマの意図に
反してオブジェクトが生成または消滅することを検出す
るのは困難であった。
However, in such a method, the timing at which a certain object is created or deleted can be confirmed only by a preset break point. Also, since the source code is displayed on a line-by-line or block-by-line basis on the execution screen, in an object-oriented program in units of objects, it is difficult to understand the objects and messages that directly cause an object to be created or deleted. . Therefore, in a situation where messages are transmitted and received between a plurality of objects, it has been difficult to detect that an object is created or disappears against the intention of the programmer.

【0004】この発明はこのような実情を鑑みてなされ
たものであり、ブレークポイントの設定などを必要とせ
ずにオブジェクトの生成および消滅に関する動作を検証
可能とするデバッグ方法およびデバッグシステムを提供
することを目的とする。
[0004] The present invention has been made in view of such circumstances, and provides a debugging method and a debugging system capable of verifying an operation relating to generation and extinction of an object without setting a breakpoint or the like. With the goal.

【0005】[0005]

【課題を解決するための手段】この発明は、前述した目
的を達成するために、オブジェクトの生成および消滅に
関する情報をオブジェクト自身にインスタンス変数とし
て保持させ、かつその更新を監視および出力させること
によって、各オブジェクトの生成および消滅の動作を検
証しようとするものである。
SUMMARY OF THE INVENTION In order to achieve the above-mentioned object, the present invention provides an object in which information relating to creation and destruction of an object is held as an instance variable, and the update of the object is monitored and output. The purpose is to verify the creation and destruction operations of each object.

【0006】したがって、この発明によれば、ユーザは
事前にブレークポイントを設定することなどを行なうこ
となしに、たとえばオブジェクトの生成または消滅を促
すメッセージが送受信されたにも関わらず、そのメッセ
ージに対応するオブジェクトのメモリへのロードまたは
メモリからの消去が行なわれなかったり、あるいはオブ
ジェクトの生成または消滅を促すメッセージが送受信さ
れていないにも関わらず、オブジェクトのメモリへのロ
ードまたはメモリからの消去が行なわれるなどといっ
た、オブジェクトの生成または消滅に関わる不正な動作
を検知できるようになるため、各オブジェクトの生成お
よび消滅の動作を従来と比較して非常に容易に検証する
ことが可能となる。
Therefore, according to the present invention, a user can respond to a message prompting creation or deletion of an object without having to set a breakpoint in advance, for example, even though the message has been transmitted or received. The object is loaded or erased from memory even though the object is not loaded or erased from memory, or no message prompting creation or destruction of the object has been sent or received. In this way, it is possible to detect an illegal operation related to the creation or extinction of an object, such as the occurrence of an object, so that the operation of creation and extinction of each object can be verified very easily as compared with the related art.

【0007】[0007]

【発明の実施の形態】以下、図面を参照してこの発明の
実施の形態を説明する。図1に示したように、この実施
形態に係るデバッグシステム10は、CPU1、主メモ
リ2、外部記憶装置3、入力装置4および表示装置5を
備えてなる装置上で動作するものであり、主メモリ2に
格納されてCPU1により実行制御されるプログラムと
して構成される。そして、このデバッグシステム10
は、メッセージ監視サブシステム11およびメモリ監視
サブシステム12の2つのサブシステムを含んでなる。
Embodiments of the present invention will be described below with reference to the drawings. As shown in FIG. 1, a debugging system 10 according to this embodiment operates on a device including a CPU 1, a main memory 2, an external storage device 3, an input device 4, and a display device 5. It is configured as a program stored in the memory 2 and executed and controlled by the CPU 1. And this debug system 10
Comprises two subsystems, a message monitoring subsystem 11 and a memory monitoring subsystem 12.

【0008】メッセージ監視サブシステム11は、各オ
ブジェクトの生成および消滅の原因になったメッセージ
名とメッセージ送信元となるオブジェクト名とを格納す
るためのインスタンス変数をオブジェクト自身に付加す
るためものである。一方、メモリ監視サブシステム12
は、アプリケーションとして動作するオブジェクトによ
って使用されるメモリ領域を管理するためのメモリテー
ブルを作成し、オブジェクトによって使用されるメモリ
領域、使用するオブジェクト名、およびオブジェクトが
システム内から認識されているか否かの情報を管理する
ためのものである。そして、このメモリ監視サブシステ
ム12は、オブジェクトの生成および消滅が生じる度に
前述したメモリテーブルの内容を更新する。
[0008] The message monitoring subsystem 11 is for adding an instance variable to the object itself for storing the name of the message that caused the generation and deletion of each object and the name of the object that is the source of the message. On the other hand, the memory monitoring subsystem 12
Creates a memory table for managing the memory area used by the object that operates as an application, the memory area used by the object, the object name used, and whether the object is recognized from the system. It is for managing information. Then, the memory monitoring subsystem 12 updates the contents of the above-described memory table every time an object is generated or deleted.

【0009】ここで、図2および図3を参照してオブジ
ェクト指向に基づくデータ処理の概要を説明する。オブ
ジェクト指向プログラムは、互いに機能の異なるオブジ
ェクト単位で構成されるものであり、これらオブジェク
ト20それぞれには、インスタンス変数21とそれを処
理するためのメソッド22とが含まれる。そして、ある
オブジェクトが他のオブジェクトからメッセージを受信
したときに、受信したオブジェクト内のメッセージと同
名のメソッドが起動されることによってデータ処理が行
なわれる。たとえば、オブジェクトAにメッセージ「d
isplayData」が外部から送信されると(図3
のステップA1)、オブジェクトAが持つメソッド「d
isplayData」が起動されることになる(図3
のステップA2)。そして、「displayDat
a」に記載された処理が実行されることによって、オブ
ジェクトAの変数の更新や他のオブジェクトへのメッセ
ージ送信などが行なわれる。
Here, an outline of data processing based on object orientation will be described with reference to FIG. 2 and FIG. The object-oriented program is configured in units of objects having different functions, and each of these objects 20 includes an instance variable 21 and a method 22 for processing the same. Then, when a certain object receives a message from another object, data processing is performed by activating a method having the same name as the message in the received object. For example, the message "d
When “displayData” is transmitted from outside (FIG. 3
Step A1), the method “d” of the object A
displayData "is started (FIG. 3
Step A2). And "displayDat
By executing the process described in “a”, the variable of the object A is updated, a message is transmitted to another object, and the like.

【0010】次に、この実施形態のメッセージ監視サブ
システム11およびメモリ監視サブシステム12の動作
原理を説明する。メッセージ監視サブシステム11は、
プログラムの実行に先立ち、すべてのオブジェクトに図
4に示したようにインスタンス変数とメソッドとを付加
する。
Next, the operation principle of the message monitoring subsystem 11 and the memory monitoring subsystem 12 of this embodiment will be described. The message monitoring subsystem 11
Prior to execution of the program, instance variables and methods are added to all objects as shown in FIG.

【0011】(1)addAinstance:インス
タンス変数 オブジェクトが生成または消滅を促すメッセージを受信
したときに、そのメッセージを送信したオブジェクト名
を格納するためのインスタンス変数。
(1) addAinstance: instance variable An instance variable for storing the name of the object that transmitted the message when the message prompting creation or deletion of the object is received.

【0012】(2)addAmethod:インスタン
ス変数 オブジェクトが生成または消滅を促すメッセージを受信
したときに、そのメッセージ名を格納するためのインス
タンス変数。
(2) addAmethod: instance variable An instance variable for storing a message name when an object receives a message prompting creation or destruction of the object.

【0013】(3)showAinstance:メソ
ッド 「addAinstance」または「addAmet
hod」のインスタンス変数が更新されたことをシステ
ムに通知するためのメソッド。
(3) showAinstance: method "addAinstance" or "addAmet"
A method for notifying the system that the "hod" instance variable has been updated.

【0014】一方、メモリ監視サブシステム12は、図
5に示したような、アプリケーションが使用するメモリ
領域を管理するためのメモリテーブルを主メモリ2上に
作成する。このメモリテーブルに格納される項目は以下
の3つである。
On the other hand, the memory monitoring subsystem 12 creates a memory table on the main memory 2 for managing a memory area used by an application as shown in FIG. The following three items are stored in this memory table.

【0015】(1)メモリ上にロードされるオブジェク
トを特定するシンボル (2)ロードされたアドレス (3)メモリ上にロードされているかメモリから消去さ
れたかを示すフラグ なお、フラグの初期値は0とする。このメモリテーブル
は、オブジェクトの生成および消滅に応じて以下のよう
に更新される。
(1) Symbol for specifying an object to be loaded on the memory (2) Loaded address (3) Flag indicating whether loaded on the memory or deleted from the memory The initial value of the flag is 0 And This memory table is updated as follows in accordance with generation and disappearance of an object.

【0016】まず、あるオブジェクトがメモリ上にロー
ドされる場合、メモリテーブル上にオブジェクトを示す
シンボルとアドレスとが書き込まれ、かつフラグが1に
設定される。一方、オブジェクトがメモリ上から消去さ
れる場合には、その消去されるオブジェクトに対応した
フラグが2に変更される。したがって、フラグが1にな
っているアドレス上は書き込みが可能であることを示
し、新たなオブジェクトがロードされると、そのフラグ
の値は1に変更されて新たにロードされたオブジェクト
を示すシンボルが書き込まれることになる。
First, when an object is loaded on a memory, a symbol and an address indicating the object are written on a memory table, and a flag is set to "1". On the other hand, when the object is deleted from the memory, the flag corresponding to the deleted object is changed to 2. Therefore, it indicates that writing is possible on the address where the flag is 1, and when a new object is loaded, the value of the flag is changed to 1 and a symbol indicating the newly loaded object is displayed. Will be written.

【0017】次に、このようなメッセージ監視サブシス
テム11およびメモリ監視サブシステム12を含んでな
るデバッグシステム10の動作手順を図6乃至図9を参
照して説明する。
Next, an operation procedure of the debug system 10 including the message monitoring subsystem 11 and the memory monitoring subsystem 12 will be described with reference to FIGS.

【0018】プログラムの実行が開始された後、たとえ
ばオブジェクトBからオブジェクトAの生成を促すメッ
セージ「createObject」が送信されると
(図6のステップB1〜ステップB3)、メッセージ監
視サブシステム11によって付加されたオブジェクトA
のインスタンス変数「addAinstance」にオ
ブジェクトBの名前が代入されるとともに、オブジェク
トAのインスタンス変数「addAmethod」にメ
ッセージ名「createObject」が代入される
(図6のステップB4)。
After the execution of the program is started, for example, when a message "createObject" prompting generation of object A is transmitted from object B (steps B1 to B3 in FIG. 6), the message monitoring subsystem 11 adds the message. Object A
The name of the object B is substituted for the instance variable "addAinstance" of the object A, and the message name "createObject" is substituted for the instance variable "addAmethod" of the object A (step B4 in FIG. 6).

【0019】これらのインスタンス変数の値が更新され
ると、オブジェクトAは、メッセージ監視サブシステム
11に対してメッセージ「showAinstanc
e」を送信することによって、インスタンス変数「ad
dAinstance」と「addAmethod」の
内容をメッセージ監視サブシステム11に通知する(図
6のステップB5)。そして、このインスタンス変数
「addAinstance」と「addAmetho
d」の内容は、メッセージ監視サブシステム11から表
示装置へ送られて画面表示されることによって、プログ
ラマなどに通知される(図6のステップB6)。
When the values of these instance variables are updated, the object A sends the message "showAinstannc" to the message monitoring subsystem 11.
e ", the instance variable" ad "
The contents of "dAinstance" and "addAmethod" are notified to the message monitoring subsystem 11 (step B5 in FIG. 6). Then, the instance variables “addAinstance” and “addAmetho”
The contents of "d" are notified to the programmer or the like by being sent from the message monitoring subsystem 11 to the display device and displayed on the screen (step B6 in FIG. 6).

【0020】一方、オブジェクトAが生成されることに
よってメモリへの書き込みが行なわれると(図7のステ
ップC1)、メモリ監視サブシステム12は、オブジェ
クトの生成または消滅に関する書き込みが行なわれたと
判断し、メモリテーブルの更新を実行する(図7のステ
ップC2)。そして、このメモリテーブルの更新内容
は、メモリ監視サブシステム12から表示装置へ送られ
て画面表示されることによって、オブジェクトAの生成
がプログラマなどに通知される(図7のステップC
3)。
On the other hand, when writing to the memory is performed by generating the object A (step C1 in FIG. 7), the memory monitoring subsystem 12 determines that writing related to the generation or deletion of the object has been performed. The memory table is updated (Step C2 in FIG. 7). Then, the updated contents of the memory table are sent from the memory monitoring subsystem 12 to the display device and displayed on the screen, thereby notifying the programmer or the like of the generation of the object A (step C in FIG. 7).
3).

【0021】同様に、たとえばオブジェクトCからオブ
ジェクトAの消滅を促すメッセージ「deleObje
ct」が送信されると(図8のステップD1〜ステップ
D3)、メッセージ監視サブシステム11によって付加
されたオブジェクトAのインスタンス変数「addAi
nstance」にオブジェクトCの名前が代入される
とともに、インスタンス変数「addAmethod」
にメッセージ名「deleObject」が代入される
(図8のステップD4)。
Similarly, for example, a message “deleObject” prompting the disappearance of the object A from the object C
When “ct” is transmitted (Step D1 to Step D3 in FIG. 8), the instance variable “addAi” of the object A added by the message monitoring subsystem 11 is transmitted.
"nstance" is substituted with the name of the object C, and the instance variable "addAmethod"
Is replaced with the message name "deleObject" (step D4 in FIG. 8).

【0022】これらのインスタンス変数の値が更新され
ると、オブジェクトAは、メッセージ監視サブシステム
11に対してへメッセージ「showAinstanc
e」を送信することによって、インスタンス変数「ad
dAinsutance」と「addAmethod」
の内容をメッセージ監視サブシステム11に通知する
(図8のステップD5)。そして、このインスタンス変
数「addAinsutance」と「addAmet
hod」の内容は、メッセージ監視サブシステム11か
ら表示装置へ送られて画面表示されることによって、プ
ログラマなどに通知される(図8のステップD6)。
When the values of these instance variables are updated, the object A sends a message "showAinstant" to the message monitoring subsystem 11.
e ", the instance variable" ad "
dAinsuance "and" addAmethod "
Is notified to the message monitoring subsystem 11 (step D5 in FIG. 8). Then, the instance variables “addAinsuance” and “addAmet”
The contents of "hod" are sent from the message monitoring subsystem 11 to the display device and displayed on the screen, thereby notifying a programmer or the like (step D6 in FIG. 8).

【0023】一方、オブジェクトAが消去されることに
よってメモリへの書き込みが行なわれると(図9のステ
ップE1)、メモリ監視サブシステム12は、オブジェ
クトの生成または消滅に関する書き込みが行なわれたと
判断し、メモリテーブルの更新を実行する(図9のステ
ップE2)。そして、このメモリテーブルの更新内容
は、メモリ監視サブシステム12から表示装置へ送られ
て画面表示されることによって、オブジェクトAの消滅
がプログラマなどに通知される(図9のステップE
3)。
On the other hand, when writing to the memory is performed by erasing the object A (step E1 in FIG. 9), the memory monitoring subsystem 12 determines that writing related to creation or deletion of the object has been performed. The memory table is updated (step E2 in FIG. 9). Then, the updated contents of the memory table are sent from the memory monitoring subsystem 12 to the display device and displayed on the screen, thereby notifying the programmer or the like of the disappearance of the object A (step E in FIG. 9).
3).

【0024】このように、メッセージ監視サブシステム
11によってオブジェクトの生成または消滅を促すメッ
セージの送受信を通知するとともに、メモリ監視サブシ
ステム12によってオブジェクトのロードまたは消滅に
伴なうメモリ状態の変化を通知することによって、オブ
ジェクトの生成および消滅の動作を検証するための有益
な情報をユーザに提供することが可能となる。
As described above, the message monitoring subsystem 11 notifies the transmission / reception of the message prompting the creation or deletion of the object, and the memory monitoring subsystem 12 notifies the memory monitoring subsystem 12 of the change in the memory state accompanying the loading or deletion of the object. This makes it possible to provide the user with useful information for verifying the operation of generating and deleting the object.

【0025】なお、前述した実施形態では、メッセージ
監視サブシステム11およびメモリ監視サブシステム1
2双方の出力を常時画面表示する例を説明したが、たと
えばこれらの出力を比較することによってオブジェクト
の生成および消滅が正常に行なわれているかどうかを判
定し、その判定結果がオブジェクトの生成および消滅の
動作が正常に行なわれていないというものであったとき
にのみ、その旨を画面表示することも有効である。
In the above embodiment, the message monitoring subsystem 11 and the memory monitoring subsystem 1
An example has been described in which both outputs are always displayed on the screen. For example, by comparing these outputs, it is determined whether or not the object has been generated and deleted normally, and the determination result indicates that the object has been generated and deleted. It is also effective to display a message on the screen only when the operation is not performed normally.

【0026】[0026]

【発明の効果】以上詳述したように、この発明によれ
ば、オブジェクトの生成または消滅に関して直接的原因
となったメッセージの送受信と生成消滅によるメモリ状
態の変化とを通知することによって、ブレークポイント
の設定などを必要とせずにオブジェクトの生成および消
滅に関する動作を検証することが可能となる。
As described above in detail, according to the present invention, the transmission and reception of a message directly related to the creation or deletion of an object and the notification of a change in the memory state due to the creation and deletion of the object are notified. It is possible to verify the operation related to the creation and disappearance of the object without the necessity of the setting of.

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

【図1】この発明の実施形態に係るデバッグシステムの
構成を示す図。
FIG. 1 is a diagram showing a configuration of a debugging system according to an embodiment of the present invention.

【図2】オブジェクト指向に基づくデータ処理の概要を
説明するためのオブジェクトの構成を示す概念図。
FIG. 2 is a conceptual diagram showing a configuration of an object for explaining an outline of data processing based on object orientation.

【図3】オブジェクト指向に基づくデータ処理の概要を
説明するためのオブジェクトの動作手順を示すフローチ
ャート。
FIG. 3 is a flowchart showing an operation procedure of an object for explaining an outline of data processing based on object orientation.

【図4】同実施形態のメッセージ監視サブシステムが付
加するインスタンス変数およびメソッドを説明するため
の概念図。
FIG. 4 is an exemplary conceptual diagram for explaining instance variables and methods added by the message monitoring subsystem of the embodiment.

【図5】同実施形態のメモリ監視サブシステムが作成す
るメモリテーブルの格納内容を示す図。
FIG. 5 is an exemplary view showing storage contents of a memory table created by the memory monitoring subsystem of the embodiment.

【図6】同実施形態のメッセージ監視サブシステムのオ
ブジェクト生成に伴なう動作手順を示すフローチャー
ト。
FIG. 6 is an exemplary flowchart showing an operation procedure involved in object creation of the message monitoring subsystem of the embodiment.

【図7】同実施形態のメモリ監視サブシステムのオブジ
ェクトの生成に伴なう動作手順を示すフローチャート。
FIG. 7 is an exemplary flowchart illustrating an operation procedure involved in generation of an object in the memory monitoring subsystem according to the embodiment.

【図8】同実施形態のメッセージ監視サブシステムのオ
ブジェクト消滅に伴なう動作手順を示すフローチャー
ト。
FIG. 8 is an exemplary flowchart showing the operation procedure of the message monitoring subsystem according to the embodiment when the object disappears.

【図9】同実施形態のメモリ監視サブシステムのオブジ
ェクト消滅に伴なう動作手順を示すフローチャート。
FIG. 9 is an exemplary flowchart illustrating the operation procedure of the memory monitoring subsystem according to the embodiment when an object is deleted.

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

1…CPU、2…主メモリ、3…外部記憶装置、4…入
力装置、5…表示装置、10…デバッグシステム、11
…メッセージ監視サブシステム、12…メモリ監視サブ
システム。
DESCRIPTION OF SYMBOLS 1 ... CPU, 2 ... Main memory, 3 ... External storage device, 4 ... Input device, 5 ... Display device, 10 ... Debug system, 11
... Message monitoring subsystem, 12 ... Memory monitoring subsystem.

Claims (16)

【特許請求の範囲】[Claims] 【請求項1】 オブジェクトの生成または消滅を促すメ
ッセージのメッセージ名および送信元オブジェクト名が
格納されるインスタンス変数と前記インスタンス変数の
更新を監視するためのメソッドとをデバッグ対象のオブ
ジェクトそれぞれに付加するステップと、 アプリケーションプログラムの構成要素として動作する
オブジェクトが使用するメモリ領域を管理するためのメ
モリテーブルを作成するステップと、 前記メソッドが前記インスタンス変数の更新を検知した
ときに、前記インスタンス変数の値を出力するステップ
と、 オブジェクトのメモリへのロードまたはメモリからの消
去に応じて前記メモリテーブルを更新するステップと、 前記メモリテーブルが更新されたときに、その更新内容
を出力するステップとを具備し、 ブレークポイントの設定などを必要とせずに前記出力さ
れたインスタンス変数の値とメモリテーブルの更新内容
とからオブジェクトの生成および消滅に関する動作を検
証可能としたことを特徴とするデバッグ方法。
1. A step of adding, to each object to be debugged, an instance variable storing a message name and a source object name of a message prompting creation or deletion of an object and a method for monitoring updating of the instance variable. Creating a memory table for managing a memory area used by an object operating as a component of an application program; outputting the value of the instance variable when the method detects an update of the instance variable And updating the memory table in response to loading or erasing the object from / to the memory; and outputting the updated contents when the memory table is updated. Debugging method characterized by the operations relating to the outputted instance variables values and generating from the update content of the memory table of the object and extinction without requiring such settings Into was verifiable.
【請求項2】 オブジェクトの生成または消滅を促すメ
ッセージのメッセージ名および送信元オブジェクト名が
格納されるインスタンス変数と前記インスタンス変数の
更新を監視するためのメソッドとをデバッグ対象のオブ
ジェクトそれぞれに付加するステップと、 アプリケーションプログラムの構成要素として動作する
オブジェクトが使用するメモリ領域を管理するためのメ
モリテーブルを作成するステップと、 前記メソッドが前記インスタンス変数の更新を検知した
ときに、前記インスタンス変数の値を出力するステップ
と、 オブジェクトのメモリへのロードまたはメモリからの消
去に応じて前記メモリテーブルを更新するステップと、 前記メモリテーブルが更新されたときに、その更新内容
を出力するステップと、 前記出力されたインスタンス変数の値とメモリテーブル
の更新内容とからオブジェクトの生成および消滅に関す
る動作が正常に実行されているか否か判定するステップ
と、 前記判定結果が正常な実行を否定するものであったとき
に、その旨を報知するステップとを具備してなることを
特徴とするデバッグ方法。
2. A step of adding, to each of the objects to be debugged, an instance variable storing a message name and a source object name of a message prompting generation or destruction of an object, and a method for monitoring updating of the instance variable. Creating a memory table for managing a memory area used by an object operating as a component of an application program; outputting the value of the instance variable when the method detects an update of the instance variable Updating the memory table in response to loading or erasing the object from / to the memory; and, when the memory table is updated, outputting the updated content; and I A step of determining whether or not an operation related to the creation and destruction of an object is normally performed based on the value of the stance variable and the updated content of the memory table; and when the result of the determination is that the normal execution is denied, Notifying the user of the fact.
【請求項3】 前記判定ステップは、前記出力されたイ
ンスタンス変数の値がいずれかのオブジェクトの生成を
促すメッセージが送信された旨を示し、かつ前記出力さ
れたメモリテーブルの更新内容がそのオブジェクトのメ
モリへのロードを示しているときに、オブジェクトの生
成に関する動作が正常に実行されていると判定すること
を特徴とする請求項2記載のデバッグ方法。
3. The method according to claim 1, wherein the output value of the instance variable indicates that a message prompting generation of one of the objects has been transmitted, and the updated content of the output memory table indicates that the object has been updated. 3. The debugging method according to claim 2, wherein when the loading to the memory is indicated, it is determined that the operation related to the generation of the object is normally executed.
【請求項4】 前記判定ステップは、前記出力されたイ
ンスタンス変数の値がいずれかのオブジェクトの消滅を
促すメッセージが送信された旨を示し、かつ前記出力さ
れたメモリテーブルの更新内容がそのオブジェクトのメ
モリからの消去を示しているときに、オブジェクトの生
成に関する動作が正常に実行されていると判定すること
を特徴とする請求項2記載のデバッグ方法。
4. The method according to claim 1, wherein the output value of the instance variable indicates that a message prompting the disappearance of one of the objects has been transmitted, and the output content of the memory table indicates that the object has been updated. 3. The debugging method according to claim 2, wherein when the erasure from the memory is indicated, it is determined that the operation related to the generation of the object is normally performed.
【請求項5】 前記判定ステップは、前記出力されたイ
ンスタンス変数の値がいずれかのオブジェクトの生成を
促すメッセージが送信された旨を示しているにも関わら
ず、そのオブジェクトのメモリへのロードを示すメモリ
テーブルの更新内容の出力がないときに、オブジェクト
の生成に関する動作が正常に実行されていないと判定す
ることを特徴とする請求項2記載のデバッグ方法。
5. The method according to claim 1, wherein, even though the value of the output instance variable indicates that a message prompting generation of any object has been transmitted, the loading of the object into the memory is performed. 3. The debugging method according to claim 2, wherein when there is no output of the update content of the memory table indicated, it is determined that the operation related to the generation of the object is not normally executed.
【請求項6】 前記判定ステップは、前記出力されたイ
ンスタンス変数の値がいずれかのオブジェクトの消滅を
促すメッセージが送信された旨を示しているにも関わら
ず、そのオブジェクトのメモリからの消去を示すメモリ
テーブルの更新内容の出力がないときに、オブジェクト
の消去に関する動作が正常に実行されていないと判定す
ることを特徴とする請求項2記載のデバッグ方法。
6. The method according to claim 1, wherein, even though the value of the output instance variable indicates that a message urging the disappearance of any object has been transmitted, the object is deleted from the memory. 3. The debugging method according to claim 2, wherein when there is no output of the update content of the memory table indicated, it is determined that the operation related to erasure of the object is not normally executed.
【請求項7】 前記判定ステップは、前記出力されたメ
モリテーブルの更新内容がいずれかのオブジェクトのメ
モリへのロードを示しているにも関わらず、そのオブジ
ェクトの生成を促すメッセージの送信を示すインスタン
ス変数の値の出力がないときに、オブジェクトの生成に
関する動作が正常に実行されていないと判定することを
特徴とする請求項2記載のデバッグ方法。
7. The method according to claim 7, wherein the determining step includes an instance indicating transmission of a message prompting generation of the object, although the output content of the memory table indicates loading of any object into the memory. 3. The debugging method according to claim 2, wherein when there is no output of the value of the variable, it is determined that the operation related to the generation of the object is not normally executed.
【請求項8】 前記判定ステップは、前記出力されたメ
モリテーブルの更新内容がいずれかのオブジェクトのメ
モリからの消去を示しているにも関わらず、そのオブジ
ェクトの消滅を促すメッセージの送信を示すインスタン
ス変数の値の出力がないときに、オブジェクトの消滅に
関する動作が正常に実行されていないと判定することを
特徴とする請求項2記載のデバッグ方法。
8. The method according to claim 1, wherein the determining step includes transmitting a message prompting the extinction of the object even though the output content of the memory table indicates erasure of the object from the memory. 3. The debugging method according to claim 2, wherein when there is no output of a variable value, it is determined that the operation related to the disappearance of the object is not normally executed.
【請求項9】 オブジェクトの生成または消滅を促すメ
ッセージのメッセージ名および送信元オブジェクト名が
格納されるインスタンス変数と前記インスタンス変数の
更新を監視するためのメソッドとをデバッグ対象のオブ
ジェクトそれぞれに付加する手段と、 アプリケーションプログラムの構成要素として動作する
オブジェクトが使用するメモリ領域を管理するためのメ
モリテーブルを作成する手段と、 前記メソッドが前記インスタンス変数の更新を検知した
ときに、前記インスタンス変数の値を出力する手段と、 オブジェクトのメモリへのロードまたはメモリからの消
去に応じて前記メモリテーブルを更新する手段と、 前記メモリテーブルが更新されたときに、その更新内容
を出力する手段とを具備し、 ブレークポイントの設定などを必要とせずに前記出力さ
れたインスタンス変数の値とメモリテーブルの更新内容
とからオブジェクトの生成および消滅に関する動作を検
証可能としたことを特徴とするデバッグシステム。
9. A means for adding, to each object to be debugged, an instance variable storing a message name and a source object name of a message prompting generation or destruction of an object, and a method for monitoring updating of the instance variable. Means for creating a memory table for managing a memory area used by an object operating as a component of an application program; and outputting the value of the instance variable when the method detects an update of the instance variable. Means for updating the memory table in response to loading or erasing of an object from / to the memory; and means for outputting the updated content when the memory table is updated. Point settings, etc. Debugging system according to claim said that the operation from the value of the output instance variables and the updated contents of the memory table for the generation and extinction of the object was verifiable without necessity.
【請求項10】 オブジェクトの生成または消滅を促す
メッセージのメッセージ名および送信元オブジェクト名
が格納されるインスタンス変数と前記インスタンス変数
の更新を監視するためのメソッドとをデバッグ対象のオ
ブジェクトそれぞれに付加する手段と、 アプリケーションプログラムの構成要素として動作する
オブジェクトが使用するメモリ領域を管理するためのメ
モリテーブルを作成する手段と、 前記メソッドが前記インスタンス変数の更新を検知した
ときに、前記インスタンス変数の値を出力する手段と、 オブジェクトのメモリへのロードまたはメモリからの消
去に応じて前記メモリテーブルを更新する手段と、 前記メモリテーブルが更新されたときに、その更新内容
を出力する手段と、 前記出力されたインスタンス変数の値とメモリテーブル
の更新内容とからオブジェクトの生成および消滅に関す
る動作が正常に実行されているか否か判定する手段と、 前記判定結果が正常な実行を否定するものであったとき
に、その旨を報知する手段とを具備してなることを特徴
とするデバッグシステム。
10. A means for adding, to each object to be debugged, an instance variable storing a message name of a message prompting generation or destruction of an object and a source object name, and a method for monitoring updating of the instance variable. Means for creating a memory table for managing a memory area used by an object operating as a component of an application program; and outputting the value of the instance variable when the method detects an update of the instance variable. Means for updating the memory table in response to loading or erasing the object from / to the memory; means for outputting the updated content when the memory table is updated; and Instance variable value Means for determining whether or not operations relating to the creation and destruction of an object are normally performed based on the updated contents of the memory table; and, when the result of the determination is that the normal execution is denied, the fact is notified. And a debug system.
【請求項11】 前記判定手段は、前記出力されたイン
スタンス変数の値がいずれかのオブジェクトの生成を促
すメッセージが送信された旨を示し、かつ前記出力され
たメモリテーブルの更新内容がそのオブジェクトのメモ
リへのロードを示しているときに、オブジェクトの生成
に関する動作が正常に実行されていると判定することを
特徴とする請求項10記載のデバッグシステム。
11. The determining means determines that the output value of the instance variable indicates that a message prompting generation of one of the objects has been transmitted, and that the output contents of the output memory table indicate that the object has been updated. 11. The debugging system according to claim 10, wherein it is determined that the operation related to the generation of the object is normally executed when the loading to the memory is indicated.
【請求項12】 前記判定手段は、前記出力されたイン
スタンス変数の値がいずれかのオブジェクトの消滅を促
すメッセージが送信された旨を示し、かつ前記出力され
たメモリテーブルの更新内容がそのオブジェクトのメモ
リからの消去を示しているときに、オブジェクトの消滅
に関する動作が正常に実行されていると判定することを
特徴とする請求項10記載のデバッグシステム。
12. The determination means according to claim 1, wherein the value of the output instance variable indicates that a message prompting the disappearance of any object has been transmitted, and the output content of the memory table has been updated to indicate that the object has been updated. 11. The debugging system according to claim 10, wherein when indicating the erasure from the memory, it is determined that the operation related to the erasure of the object is normally executed.
【請求項13】 前記判定手段は、前記出力されたイン
スタンス変数の値がいずれかのオブジェクトの生成を促
すメッセージが送信された旨を示しているにも関わら
ず、そのオブジェクトのメモリへのロードを示すメモリ
テーブルの更新内容の出力がないときに、オブジェクト
の生成に関する動作が正常に実行されていないと判定す
ることを特徴とする請求項10記載のデバッグシステ
ム。
13. The method according to claim 1, wherein the determining unit loads the object into the memory even though the output value of the instance variable indicates that a message prompting generation of any object has been transmitted. 11. The debugging system according to claim 10, wherein when there is no output of the update content of the memory table indicated, it is determined that the operation related to the generation of the object is not normally executed.
【請求項14】 前記判定手段は、前記出力されたイン
スタンス変数の値がいずれかのオブジェクトの消滅を促
すメッセージが送信された旨を示しているにも関わら
ず、そのオブジェクトのメモリからの消去を示すメモリ
テーブルの更新内容の出力がないときに、オブジェクト
の消去に関する動作が正常に実行されていないと判定す
ることを特徴とする請求項10記載のデバッグシステ
ム。
14. The method according to claim 1, wherein the determining unit deletes the object from the memory even though the value of the output instance variable indicates that a message urging the deletion of any object has been transmitted. 11. The debugging system according to claim 10, wherein when there is no output of the updated content of the memory table indicated, it is determined that the operation related to the erasure of the object is not normally executed.
【請求項15】 前記判定手段は、前記出力されたメモ
リテーブルの更新内容がいずれかのオブジェクトのメモ
リへのロードを示しているにも関わらず、そのオブジェ
クトの生成を促すメッセージの送信を示すインスタンス
変数の値の出力がないときに、オブジェクトの生成に関
する動作が正常に実行されていないと判定することを特
徴とする請求項10記載のデバッグシステム。
15. An instance indicating transmission of a message prompting generation of an object, even though the output content of the output memory table indicates that an object is loaded into a memory. 11. The debugging system according to claim 10, wherein when there is no output of the value of the variable, it is determined that the operation related to the generation of the object is not normally executed.
【請求項16】 前記判定手段は、前記出力されたメモ
リテーブルの更新内容がいずれかのオブジェクトのメモ
リからの消去を示しているにも関わらず、そのオブジェ
クトの消滅を促すメッセージの送信を示すインスタンス
変数の値の出力がないときに、オブジェクトの消滅に関
する動作が正常に実行されていないと判定することを特
徴とする請求項10記載のデバッグシステム。
16. An instance indicating transmission of a message urging the extinction of an object even though the output updated contents of the memory table indicate erasure of any object from the memory. 11. The debugging system according to claim 10, wherein when there is no output of the value of the variable, it is determined that the operation related to the disappearance of the object is not normally executed.
JP9046679A 1997-02-28 1997-02-28 Debugging method and debugging system for object-oriented program Pending JPH10240564A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9046679A JPH10240564A (en) 1997-02-28 1997-02-28 Debugging method and debugging system for object-oriented program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9046679A JPH10240564A (en) 1997-02-28 1997-02-28 Debugging method and debugging system for object-oriented program

Publications (1)

Publication Number Publication Date
JPH10240564A true JPH10240564A (en) 1998-09-11

Family

ID=12754076

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9046679A Pending JPH10240564A (en) 1997-02-28 1997-02-28 Debugging method and debugging system for object-oriented program

Country Status (1)

Country Link
JP (1) JPH10240564A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005106682A1 (en) * 2004-04-30 2005-11-10 Intel Corporation Caching run-time variables in optimized code

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005106682A1 (en) * 2004-04-30 2005-11-10 Intel Corporation Caching run-time variables in optimized code
US7624388B2 (en) 2004-04-30 2009-11-24 Marvell International Ltd. Caching run-time variables in optimized code
US8479183B2 (en) 2004-04-30 2013-07-02 Marvell World Trade Ltd. Caching run-time variables in optimized code

Similar Documents

Publication Publication Date Title
US6698016B1 (en) Method for injecting code into another process
JP3786722B2 (en) Method and apparatus for effective use of progressive object-oriented program using digital signature
US8671393B2 (en) Collaborative software debugging in a distributed system with client-specific dynamic breakpoints
US7251808B2 (en) Graphical debugger with loadmap display manager and custom record display manager displaying user selected customized records from bound program objects
KR970049730A (en) System and method for executing a checkable program with a device using an uncheckable program from a trusted source
US8898645B2 (en) Handling breakpoints in an asynchronous debug model
US9411709B2 (en) Collaborative software debugging in a distributed system with client-specific event alerts
US20050144442A1 (en) Recovering from device failure
US8117574B2 (en) Implementing a serialization construct within an environment of parallel data flow graphs
JP2004537083A (en) System with server to check for new components
JPH10240564A (en) Debugging method and debugging system for object-oriented program
JP4563707B2 (en) Memory protector
CN112328423A (en) Processing method, device and storage medium for search service loophole
JP2990159B1 (en) Apparatus and method for managing events in debugger
US20220398120A1 (en) Information processing apparatus, information processing method, and recording medium
JP4295912B2 (en) Debug system
WO2023097883A1 (en) Data transmission method and vehicle-mounted dynamic data management system
CN115185568A (en) Function Hook updating method and device, electronic equipment and storage medium
JPH06214792A (en) Message passing mechanism
JP2005038261A (en) Programmable controller system and program development support device
JPH10320242A (en) Method for inspecting application task
JPS59208659A (en) Debugging device of program
JP3107722B2 (en) Signal processing device
CN118468337A (en) Method, device, equipment and storage medium for managing user key of chip
CN116127473A (en) Vulnerability restoration method, device, medium, equipment, product and system