米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 松下電器産業株式会社

発明の名称 オブジェクト指向プログラムのデバッグシステム
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開平7−121399
公開日 平成7年(1995)5月12日
出願番号 特願平5−266549
出願日 平成5年(1993)10月25日
代理人 【弁理士】
【氏名又は名称】中島 司朗
発明者 吉澤 正文 / 辻村 敏 / ▲よし▼井 健人
要約 目的
オブジェクト指向システムにおけるプログラム開発に際し、効率が良く信頼性の高い編集作業が行なえるデバッグシステムを提供する。

構成
メッセージ入力手段11によりオブジェクト10にメッセージを送り、その結果をデバッガ12がトレースやブレークポイントをオブジェクト10の持つメソッドに設定することによって得る。複製メソッド作成装置13は、メソッドの複製を保存しておき、オブジェクト10を必要な時にエディタ14による編集前の状態に戻す。トレース情報保存装置15は、メソッドに設定されているトレースやブレークポイントの位置情報を元に、エディタ14による編集後に、自動的にトレースやブレークポイントを再設定する。
特許請求の範囲
【請求項1】 オブジェクト指向システムにおいて用いられ、その内部に属性とメソッドを持つオブジェクトに対してデバッグ及び編集動作を行うデバッグシステムであって、ユーザが特定のオブジェクトに含まれるメソッドに対してメッセージを送るためのメッセージ入力手段と、前記メッセージ入力手段から入力されたメッセージに対応するメソッドに対してデバッグ操作を行うデバッガと、前記メソッドを編集するエディタとを備えたことを特徴とする、デバッグシステム。
【請求項2】 前記デバッガは、デバッグモードとメソッド編集モードとを切替えるモード切替手段を有しており、前記デバッグモードが選択された場合に、デバッグ対象のメソッドの編集を禁止することを特徴とする、請求項1記載のデバッグシステム。
【請求項3】 該デバッグシステムは、さらに、前記オブジェクトが持つ前記メソッドを複製して保存し、前記エディタによるメソッド編集を無効にする場合に、保存しておいた前記メソッドを戻して前記オブジェクトを元の状態に復元する複製メソッド作成手段を備えたことを特徴とする、請求項1記載のデバッグシステム。
【請求項4】 該デバッグシステムは、さらに、前記デバッガが前記オブジェクトに設定したトレースとブレークポイントの情報を保存しておき、前記エディタによる編集後のメソッドに対して再設定を行なうトレース情報保存手段を備えたことを特徴とする、請求項1記載のデバッグシステム。
発明の詳細な説明
【0001】
【産業上の利用分野】本発明は、計算機上でのプログラム開発に際し、特にオブジェクト指向システムを用いたプログラム開発に用いられるデバッグシステムに関するものである。
【0002】
【従来の技術】計算機の利用技術としてオブジェクト指向の概念が次第に利用されるようになり、オブジェクト指向システムを用いてプログラムを開発することも多くなっている。プログラムを開発する時にはデバッグが欠かせないが、オブジェクト指向システムにおけるプログラム開発においても、オブジェクト指向の特徴に沿ったデバッグ手法が利用されている。
【0003】これまでのデバッグ方式では、オブジェクト指向システムがオブジェクト間のメッセージ交換によって動作するという点に着目し、メッセージの流れを調べることに重心がおかれている(例えば特開平2−91736号公報)。この方式では、オブジェクトから他のオブジェクトに対してメッセージを送信する時に、同時に論理時刻を付与して送信を行ない、さらにそのメッセージの履歴を記録する。最終的にオブジェクトが受けとった論理時刻順にメッセージをソートし、オブジェクト間のメッセージの流れを表示する。これによってオブジェクト間の交信がわかりやすくなり、デバッグが容易になる。
【0004】
【発明が解決しようとする課題】一般に、デバッグ時の編集作業は、プログラムのデバッグに不可欠なものであり、効率良い作業が求められる。しかし、メッセージの流れだけに注目が集まり、デバッグのもう一つの重要な作業であるオブジェクトが持つメソッドの編集作業に関しては、その効率の向上が考慮されていなかった。
【0005】従って、本発明は、プログラムの開発に際して、効率良く、かつ信頼性の高い編集作業が行なえるデバッグ方式を提供することを目的とする。
【0006】
【課題を解決するための手段】請求項1の発明に係るデバッグシステムは、ユーザが特定のオブジェクトに含まれるメソッドに対してメッセージを送るためのメッセージ入力手段と、メッセージ入力手段から入力されたメッセージに対応するメソッドに対してデバッグ操作を行うデバッガと、メソッドを編集するエディタとを備えている。
【0007】請求項2の発明に係るデバッグシステムは、請求項1の発明に対し、デバッガが、デバッグモードとメソッド編集モードとを切替える切り替え手段を有しており、デバッグモードが選択された場合に、デバッグ対象のメソッドの編集を禁止する。請求項3の発明に係るデバッグシステムは、請求項1の発明に対し、さらに、オブジェクトが持つメソッドを複製して保存し、エディタによるメソッド編集を無効にする場合に、保存しておいたメソッドを戻してオブジェクトを元の状態に復元する複製メソッド作成手段を備えている。
【0008】請求項4の発明に係るデバッグシステムは、請求項1の発明に対し、さらに、デバッガがオブジェクトに設定したトレースとブレークポイントの情報を保存しておき、エディタによる編集後のメソッドに対して再設定を行なうトレース情報保存手段を備えている。
【0009】
【作用】請求項1の発明において、デバッガは、同時にただ1つのオブジェクトを対象としてデバッグを行なう。またそのオブジェクトが持つメソッドに対応したメッセージをオブジェクトに送ることにより、オブジェクトが持つメソッドの動作を確認する。
【0010】請求項2の発明において、デバッガはさらに、デバッグモードとメソッド編集モードを陽に切替え、デバッグ中のメソッドのソースの編集を禁じ、デバッグの対象とするメソッドとエディタに表示されるメソッドを必ず一致させる。請求項3の発明において、複製メソッド作成手段は、デバッグ前にオブジェクトが持つメソッドのソースの複製を作成、保存しておく。デバッグ作業においてエディタによってオブジェクトが持つソースに変更が加えられた時、その結果が不十分で変更を無効にしたい場合に、保存しておいたソースをオブジェクトに戻すことによって、オブジェクトを元の状態に戻す。
【0011】請求項4の発明において、トレース情報保存手段は、オブジェクトが持つメソッドのソースに対して設定したトレースやブレークポイントの情報を保存しておき、エディタの編集によって設定情報が失われたあとに、編集後オブジェクトに戻されたメソッドに対して自動的にトレースやブレークポイントを設定する。
【0012】
【実施例】以下、本発明の実施例について詳細に述べる。図1は、本発明の実施例によるデバッグシステムの構成を示すブロック図である。このデバッグシステムは、オブジェクト10と、メッセージ入力手段11と、デバッガ12と、複製メソッド作成装置13と、トレース情報保存装置16と、エディタ17とを備える。
【0013】オブジェクト10は、オブジェクト指向型システム内で作成されるソフトウェアオブジェクトである。1つのオブジェクトは、その内部に複数のメソッドと呼ばれるプログラムを有している。そして、各メソッドは、他のオブジェクトから送られるメッセージに応じて実行される。メッセージ入力手段11は、ユーザが直接オブジェクト10のメソッドを起動するためのメッセージを入力するものである。
【0014】デバッガ12は、オブジェクト10が持つメソッドに対してトレースやブレークポイントなどを設定し、メソッドが実行された際に変数の値等のデバッグに必要な情報を得る。また、デバッガ12は、デバッグモードとメソッド編集モードを切替えるスイッチを有している。複製メソッド作成装置15は、エディタ13がオブジェクト10の持つメソッドのソースを編集する前に、そのソースを複製し、自身の内部に保存する。
【0015】エディタ17は、オブジェクト10が持つメソッドのソースをまとめて表示し、編集を行ない、その結果をオブジェクト10に戻す。また、メソッドのソースを表示する際、トレース情報保存装置16が持つ位置情報に従って、エディタ上の文字列となったメソッドのソースの該当位置にマーキングを行なう。さらに、編集終了後にソースがオブジェクト10に戻される時、エディタ17はソース上に残っているマークの位置情報をトレース情報保存装置16に返す。
【0016】トレース情報保存装置16は、メソッドに設定されているトレースやブレークポイントの位置情報を元に、エディタ17による編集後に、自動的にトレースやブレークポイントを再設定する。以下、本実施例によるデバッグシステムの有する種々の機能に基づく動作について個別に説明する。なお、以下の説明で参照する図2〜図5は、図1の中から説明すべき動作に関連する部分を抽出して作成したものである。
【0017】まず、図2を参照して、本実施例のデバッグシステムの基本的なデバッグ動作について説明する。ユーザは、デバッグの対象とするオブジェクト10のメソッドを直接起動するためのメッセージをメッセージ入力手段11から入力する。ユーザが入力したメッセージは、メッセージ入力手段11からオブジェクト10に送られ、対応するメソッドが起動される。
【0018】デバッガ12は、メッセージで指定されたメソッドに対してトレースやブレークポイントなどを設定し、メソッドが実行された際に変数の値などデバッグに必要な情報を得る。この時、デバッグの対象とするオブジェクトを同時に1つに限り、そのオブジェクトに対してのみトレースなどを設定し、情報を得る。デバッグ情報が得られると、ユーザはエディタ14を起動し、デバッグ情報を参照してメソッドのソースの編集作業を行う。
【0019】エディタ13は、オブジェクト10が持つメソッドのソースをまとめて表示し、ユーザからの指示に従ってソースの編集を行ない、その結果をオブジェクト10に戻す。このデバッグ方式を用いると、オブジェクト単位でデバッグが行なわれるので、プログラマは現在、何を対象にデバッグを行なっているかを容易に把握することができる。また、メソッド単位にメッセージ入力手段11を用いて動作を確認するので、従来のようなオブジェクト間のメッセージ交換を利用する必要がなくなり、どのメソッドをデバッグしているのかを容易に把握することができる。
【0020】次に、図3を参照して、デバッグ動作と編集動作との切り替え動作について説明する。上記したように、デバッグ12は、デバッグモードと編集モードの切換スイッチを有している。そして、ユーザがこの切換スイッチを操作してデバッグモードを選択した場合、エディタ14をロックし、デバッグ作業中はオブジェクト10が持つメソッドのソースを編集できないようにする。そして、デバッガ12は、トレースやブレークポイントを設定してデバッグ動作を行なう。
【0021】また、メソッド編集モードを選択した場合、デバッガ12をロックし、かつエディタ14のロックを解除してメソッドのソースの編集を可能とする。このデバッグ方式を用いることにより、デバッグを行なう対象のメソッドと、エディタに表示されているメソッドが完全に一致し、異なる内容のソースが複数存在するような混乱を避けることができる。
【0022】次に、図4を参照して、編集動作について説明する。まず、複製メソッド作成装置15は、エディタ14がオブジェクト10の持つメソッドのソースを編集する前に、そのソースを複製し、自身の内部に保存する。次に、エディタ14は、複製したソースと同じオブジェクト10が持つメソッドのソースに対して編集動作を行う。そして、編集結果のソースがオブジェクト10に戻される。その後、編集後のメソッドのソースに対してデバッガ12がデバッグ動作を行う。
【0023】デバッグの結果、編集作業が満足いく場合には、複製メソッド作成装置15に保存されていた複製メソッドは廃棄される。また、編集作業が思わしくなかった場合、オブジェクト10が持つソースを廃棄し、複製メソッド作成装置15が保存していたソースをオブジェクト10に戻すことによって編集前の状態に復元する。そして、改めて編集動作を開始することができる。
【0024】このデバッグ方式を用いることにより、いつでもオブジェクトを元の状態に復帰させることができるので、テストのための一時的なメソッドの編集が可能になる。さらに、図5を参照して、トレース情報の保存処理について説明する。トレース情報保存装置16は、デバッグ動作中に、デバッガ12がオブジェクト10の持つメソッドに設定したトレースやブレークポイントの位置情報を調べ、記憶する。
【0025】エディタ14は、オブジェクト10が持つメソッドを表示するが、その時、トレース情報保存装置16が持つ位置情報に従って、エディタ上の文字列となったメソッドのソースの該当位置にマーキングを行なう。編集動作によってこのマークは移動し、あるいは削除される。編集終了後、ソースがオブジェクト10に戻される。この時、エディタ17は、ソース上に残っているマークの位置情報をトレース情報保存装置16に返す。
【0026】トレース情報保存装置16は、この位置情報に基づき、オブジェクト10に戻されたメソッドに対してトレースとブレークポイントの設定を行なう。このデバッグ方式を用いることにより、メソッドを編集する度にトレースなどを再度設定する必要がなくなり、デバッグ作業が簡単になる。
【0027】
【発明の効果】以上のように、請求項1の発明においては、デバッグの対象をユーザがオブジェクト単位で特定してデバッグを行なうことができるように構成されているので、デバッグ対象の管理が容易になる。また、請求項2の発明においては、モード切替手段を用いてデバッグ中のソースの編集を禁じることができるように構成されているので、ソース管理が容易になる。
【0028】さらに、請求項3の発明においては、ソースの編集結果が不満足に終わった場合に、オブジェクト中のソースを編集前の状態に戻す複製メソッド作成手段を設けたことにより、試験的な編集を気軽に行なうことができる。さらに、請求項4の発明においては、トレース情報を自動的に再設定するトレース情報保存手段を設けたことにより、プログラマが設定する手間が省ける。
【0029】以上の点で、従来考慮されていなかったメソッドの編集作業が効率良く行なえる。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013