JPH1083326A - トレース・データ収集方法およびコンピュータ読み取り可能コード - Google Patents

トレース・データ収集方法およびコンピュータ読み取り可能コード

Info

Publication number
JPH1083326A
JPH1083326A JP9106126A JP10612697A JPH1083326A JP H1083326 A JPH1083326 A JP H1083326A JP 9106126 A JP9106126 A JP 9106126A JP 10612697 A JP10612697 A JP 10612697A JP H1083326 A JPH1083326 A JP H1083326A
Authority
JP
Japan
Prior art keywords
access
trace
data component
data
collection
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
JP9106126A
Other languages
English (en)
Inventor
H Rindosei Anthony
アンソニー・エイチ・リンドセイ
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH1083326A publication Critical patent/JPH1083326A/ja
Pending legal-status Critical Current

Links

Classifications

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

Landscapes

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

Abstract

(57)【要約】 【課題】デバッギングを目的としたオブジェクト指向プ
ログラムのデータ構成要素に関連して設定されるトレー
スポイントを可能とする技術を提供する。 【解決手段】どのトレーシングが必要であるかに関連し
たデータを含むオブジェクトにおいて、新たなメソッド
を生成するか、もしくは既存のメソッドを修正する。新
規もしくは修正されたメソッドは、指定されたデータに
アクセスしようとするメッセージを解釈し、試みられて
いるアクセスの種類および開発者によって設定された他
の条件に応じて、トレーシングを開始、修正、または終
了することができる。トレーシングは、適当なメッセー
ジをトレース・マネージャへ送ることによって制御され
る。読み取りまたは書き込み操作は、必要とされるデー
タ構成要素へのアクセスを実行する新たに生成されたア
クセス・メソッドによって保存される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、オブジェクト指向
性ソフトウエア・アプリケーションをデバッグするため
の方法に関する。特に、本発明はソフトウエア・アプリ
ケーションをデバッグするデバッガにおけるデータ・ト
リガード・トレース・サポートを提供する。
【0002】
【従来の技術】ソフトウエア・プログラムを開発するプ
ロセスにおいて一つのクリティカルで、かつ見落とされ
がちな構成要素は、ソフトウエア・プログラムからのエ
ラーの排除である。エラーを取り除くプロセスは、デバ
ッグとして知られている。一人あるいはそれ以上の数の
プログラム開発者がソフトウエア・プログラムのための
プログラム用コードを記述し、さらにコード・ファイル
を構築することによってソフトウエア・プログラムの実
行可能なバージョンを作る。その後、ソフトウエアプロ
グラムにどのようなエラーが存在するかを判断するため
に、プログラムのテストを行わなければならない。次
に、プログラムのデバッギングを行い、エラーを少なく
するか、あるいは取り除かなければならない。業務用ソ
フトウエアに関して言えば、ソフトウエアが市場に出回
る前にほとんどのエラーまたはバグを見つけ出し、それ
らを取り除いておくことが絶対必要である。デバッグを
行うプロセスは、かなりの費用がかさむものであり、ま
た多くの時間を費やすにちがいない。したがって、コー
ドのデバッギングを支援し、かつデバッギングのサイク
ル・タイムを減少させるソフトウエア・ツールおよび技
術が開発されている。
【0003】市販のソフトウエアアプリケーションで発
見されるエラーまたはバグに関して言えば、時間がきわ
めて重要である。ソフトウエアの製造元は、バグについ
ての顧客の不平に迅速に対応するツールを持たなければ
ならず、またバグが生じたソフトウエアを素早く修復ま
たはデバッグしなければならない。ソフトウエアのエラ
ーまたはバグを2通りのタイプに分類することができ
る。第1のタイプは論理エラーであり、ソフトウエア開
発者によってプログラムに加えられた論理文または命令
に、必要とする機能がプログラムの実行中に実行されな
いか、あるいは適切に実行されない等の欠陥が生ずる。
一般に、論理エラーによって開発者が望まないプログラ
ム中の機能またはコマンドが実行される。エラーの第2
のタイプは、プログラムによって維持または使用されて
いるデータに関するもので、データが何らかの理由で壊
れた場合に起こる。
【0004】多数のデバッギング機能および技術が現在
入手可能なデバッギング・ソフトウエア・ツールに現在
使われている。既知の方法には、テストポイントと呼ば
れる一組の方法があり、ブレークポイント、トレースポ
イント、ウオッチポイント等の設定が含まれる。しか
し、トレースポイントの使用は多少なりとも限定されて
いる。デバッグしているプログラムで特定論理ユニット
の実行に対するトレース情報の作成をトリガーするよう
にトレースポイントを設定するツールが存在する。その
一方で、特定のデータ要素あるいはエンティティ、例え
ばデバッグされるプログラム内で、あるいはデバッグさ
れているプログラムによって利用されるSmallta
lk言語プログラムの変数を基準としてトレーシングが
トリガーされるようにしてトレースポイントの設定を行
う同様の機能が存在する。現行論理ベースのトレース機
能は、データの動きに関する情報を作成することができ
る。しかし、Smalltalkメソッドのような論理
ユニット実行上で起こるデータの動きのコンテクスト内
のみである。さらに、論理ユニットの実行による影響を
受けたデータ構成要素のすべてに関連して情報が作成さ
れる。情報がシングル・データ・エンティティに関連し
てソートされている場合、論理に基づいたトレースポイ
ント手順は時間処理の観点から言えばコストがかかる。
なぜなら、影響を受けたデータ構成要素のすべてに関連
した情報が集められ、開発者の時間の観点から言えば、
開発者は必要なデータに属する情報を見つけ出すために
影響を受けたデータ構成成分のすべてに関係した情報を
ソートしなければならない。論理ユニットの実行中にデ
ータ構成要素に関連して情報が得られるように、特定の
データ構成要素にもとづいたトレース・データの生成を
引き起こす能力は、プログラムのデバッギングにおいて
開発者にとって貴重なツールになるかもしれない。
【0005】最近、ソフトウエア産業においてソートの
革命が起こっている。最近に至るまで、ほとんどのソフ
トウエア・プログラムはCおよびCOBOL等の手順言
語で書かれていた。したがって、デバッギング・ツール
および方法は手順プログラムのバグを取るように設計さ
れている。しかし、オブジェクト指向言語が出現するこ
とによってパラダイムの変更が生じた。オブジェクト指
向言語は、開発者によって記述され、またランタイム時
にコンピュータによって実行されるという点で基本的に
異なる。2種類の主要なオブジェクト指向言語、C++
およびSmalltalkは、これらの言語で書かれた
オブジェクト指向プログラムのオブジェクトの中に実際
に格納される。SmalltalkではデータをSma
lltalkオブジェクトのインスタンス変数およびS
malltalkクラスのクラス変数またはクラス・イ
ンスタンス変数に格納し、またC++ではデータをC+
+オブジェクトの変数に格納する。したがって、オブジ
ェクト指向プログラムによってデバッギング・ツールに
対する新たな挑戦の道が開かれた。
【0006】米国特許第5,093,914号(Coplienら)はオ
ブジェクト指向プログラムのデバッギングのブレークポ
イントを用いる方法を開示している。ブレークポイント
はテスト・ポイントの一つのタイプであることから、こ
の特許に対する関心が持たれている。しかし、上記米国
特許はトレースポイントを扱うものではなく、またオブ
ジェクト指向プログラムのデータ構成要素に関連したト
レース機能が欠如しているという問題を取り扱ったり、
あるいはその解決策を提供するものではない。
【0007】1992年にリリースされたIBMのクロ
ス・システム・プロダクト(CSP)第4.1版は、手
順プログラムをデバッギングするオブジェクト指向解決
法を提供する。しかし、そのプロダクトは論理ユニット
に関連したトレースポイントを利用する一方で、手順プ
ログラムのデータ構成要素に関連したトレースポイント
の設定を有効とするものではない。
【0008】したがって、指定されたデータ構成要素に
特異的なトレース情報を収集するためにデバッギングを
受けているオブジェクト指向プログラム内の特定のデー
タ構成要素のためのトレースポイントを開発者が設定す
ることを可能とするデバッギング・ツールが求められて
いる。
【0009】
【発明が解決しようとする課題】本発明の目的は、特定
のデータ構成要素のアクセスまたはそれに対する修正に
基づいて、トレーシングを引き起こすトレースポイント
によってオブジェクト指向プログラム・コードをデバッ
ギングする方法を提供することである。
【0010】本発明の別の目的は、プロセッサのオーバ
ヘッドを最小限にすることを必要とするオブジェクト指
向ソフトウエアの中のデータ構成要素のために、トレー
スポイントに基づいたデバッギング方法を提供する。
【0011】本発明の他の目的および利点は以下の記載
および図面から部分的に説明されよう。また部分的に記
載から明らかにされるか、あるいは本発明の実施によっ
て学ぶことができよう。
【0012】
【課題を解決するための手段】上記目的を達成するため
に、また本明細書で大まかに記載されたような本発明の
効果にもとづいて、データ・プロセッシング環境におけ
るプロセッサ上での実行に関した技術について説明す
る。この技術は、オブジェクト指向プログラムのデータ
構成要素へのアクセスに基づいたオブジェクト指向プロ
グラムのデバッギング中におけるトレース情報の収集を
可能とするもので、どのデータ構成要素に対するアクセ
スがトレース情報の収集を開始するのに必要であるかに
関連するオブジェクト指向プログラムのデータ構成要素
を、ユーザが指定するのを可能とする第1のサブプロセ
スと、指定されたデータ構成要素へ送られるメッセージ
を送ることによってトリガーされたトレース情報の収集
を開始する第2のサブプロセスとを有する。第1のサプ
プロセスは、指定されたデータ構成要素にアクセスする
ことに基づいたトレース情報の回収を制御するパラメー
タを、さらにユーザが指定できるようにしてもよい。パ
ラメータの一つは、どのトレースされた情報の収集が終
了するかに対する事像としてもよく、さらに上記技術
は、終了の事像の発生に対するトレース情報の回収を終
わらせる第3のサブプロセスを有するものであってもよ
い。第1のサブプロセスは、指定されたデータ構成要素
に対する少なくとも一つのアクセス・メソッドを生成す
ることと、オブジェクト指向プログラムのメソッドにあ
る指定されたデータ構成要素に対する直接参照のすべて
を、新しく生成されたアクセス・メソッドに送られるメ
ッセージに置き換えることとを、さらに含むものであっ
てもよい。第1のサブプロセスは、読み取りトレースポ
イント・アクセス・メソッドおよび書き込みアクセス・
トレースポイントを生成し、さらにオブジェクト指向プ
ログラムによって発生した指定されたデータ構成要素に
対する読み取りメッセージのすべては、読み取りトレー
スポイント・アクセス・メソッドに送られ、またオブジ
ェクト指向プログラムによって発生した指定されたデー
タ構成要素に対する書き込みメッセージのすべては、書
き込みトレースポイント・アクセス・メソッドに送られ
るようにしてもよい。上記技術は、アクセス・メッセー
ジを受け取った後に要求されたアクセス機能を実行する
アクセス・メソッドを生成する第4のサブプロセスと、
アクセス・メソッドが要求されたアクセス機能を実行し
た後に、トレース・データの収集を修正する第5のサブ
プロセスとを、さらに有するものであってもよい。
【0013】少なくともプロセッサとメモリとが含まれ
るコンピュータ環境下で、デバッギングを受けているオ
ブジェクト指向プログラムのデータ構成要素へのアクセ
スに基づいて収集されるべきトレース・データを生ずる
システムを提供する。このシステムは、データ構成要素
へのアクセスの試みがトレース情報の収集を開始するた
めに要求されるオブジェクト指向プログラムの少なくと
も一つのデータ構成要素を指定する手段と、指定された
データ構成要素がアクセスされた場合に、トレース・デ
ータの収集をトリガーする手段とを備える。このシステ
ムは、さらにトレーシング・パラメータを指定する手段
を備えるものであってもよい。
【0014】また、デバッギングしているオブジェクト
指向プログラムのデータ構成要素がアクセスされた場合
にトレース・データを収集する方法を提供する。この方
法は、アクセスの試みがトレーシングに影響を及ぼす前
記オブジェクト指向プログラムのデータ構成要素を指定
する段階と、指定されたデータ構成要素に対するアクセ
スの試みがデバッギング中に送られる少なくとも一つの
アクセス・メソッドを生成する段階と、アクセス・メソ
ッドが指定されたデータ構成要素に対するアクセスの試
みを受けた場合にトレース・データの収集をトリガーす
る段階とを有する。好ましくは、少なくとも一つのアク
セス・メソッドを生成する段階は、指定されたデータ構
成要素を要求するすべての読み取りアクセスと、指定さ
れたデータ構成用を要求するすべての書き込みアクセス
とを生成するものであってもよい。上記方法は、アクセ
ス・メソッドがアクセスの試みを受けた後、指定された
データ構成要素にアクセスする段階と、指定されたデー
タ構成要素がアクセスされた後にトレース・データの収
集を修正する段階とを、さらに有するものであってもよ
い。
【0015】以下、図面を参照しながら本発明を詳細に
説明する。なお、図中の同一符号は同一構成要素を示
す。
【0016】
【発明の実施の形態】本発明は、Smalltalk、
C++、SELF等の種々のオブジェクト指向プログラ
ミング言語のいずれにおいても実施することができよ
う。
【0017】図1は、本発明が適用される典型的なハー
ドウェア環境を示すものである。この図に示す環境は、
関連周辺機器を含む代表的な従来のシングル・ユーザ・
コンピュータ・ワークステーション10、例えばパーソ
ナル・コンピュータから構成される。
【0018】ワークステーション10は、マイクロプロ
セッサ12とバス14とを備える。このバス14は、マ
イクロプロセッサ12とワークステーション10内の構
成要素とを既知の技術に従って接続し、かつこれらの間
のコミュニケーションを可能とする。ワークステーショ
ン110は、一般にバス14を介してマイクロプロセッ
サ12を一種類以上のインタフェース装置、例えばキー
ボード18、マウス20、および(または)他のインタ
フェース装置22に接続する。ここで、他のインタフェ
ース装置22の例としては、タッチ・センシティブ・ス
クリーン、デジタル・ペン入力式パッド等の任意のユー
ザ・インタフェース装置が挙げられる。
【0019】また、バス14はディスプレイ・アダプタ
26を介してLCDスクリーンまたはモニタ等の表示装
置24をマイクロプロセッサ12に接続させる。さら
に、バス14はマイクロプロセッサ12をROM、RA
M等が含まれるメモリ26に接続させる。ワークステー
ション10は、通信チャンネル30経由で他のコンピュ
ーターあるいはコンピューター・ネットワークと通信す
る。ワークステーション10は、ローカル・エリア・ネ
ットワークまたは広域ネットワークにある他のコンピュ
ータに対応付けられてもよく、あるいは他のコンピュー
タとのクライアント/サーバー構成におけるクライアン
トとなる。このような構成のすべては、適当な通信ハー
ドウエアおよびソフトウエアと同様に、当業者に既知の
ものである。
【0020】本発明を具体的に表現するソフトウエア・
プログラミング・コードは、一般にワークステーション
10のメモリ28に格納される。クライアント/サーバ
環境では、そのようなスフトウエア・プログラム・コー
ドを一つのサーバに関連づけられるメモリに格納しても
よい。ソフトウエア・プログラム・コードをデータ・プ
ロセッサ・システムとともに使用される様々な既知のメ
ディア、例えばディスケットあるいはCD−ROM上に
具体的に表現してもよい。 コードをそのようなメディ
ア上で分散してもよく、あるいは一つのコンピュータ・
システムのメモリからある種のネットワークを越えて他
のコンピュータ・システムへ分散してそのような他のコ
ンピュータ・システムのユーザが使用できるようにして
もよい。ソフトウエア・プログラム・コードを物理的媒
体上に具体的に表現するか、あるいはソフトウエア・コ
ードをネットワークを経由して分散することは、既に知
られていることからこれ以上の説明は省くこととする。
【0021】以下、本発明の好ましい実施形態例を図2
ないし図6を参照しながら説明する。好ましい実施形態
例では、本発明をSmalltalkオブジェクト指向
言語で実施する。
【0022】オブジェクト指向言語は手順向き言語とは
根本的に異なっており、オブジェクト指向言語で記述さ
れたソフトウエア・プログラムの実行はメソッドの実行
によって行われる。メソッドはオブジェクトの論理的部
分である。メソッドの実行は計算を実行することであ
り、その後に他のオブジェクトへのメッセージ送信を行
う。そして次に他のオブジェクトが実行すべき追加の方
法を生じ、かつ送信すべきメッセージをさらに生ずる。
オブジェクト指向プログラムの特徴および機能は当業者
に知られていることからこれ以上の説明は省く。本発明
は、トレース情報の収集が要求されることに関連のある
インスタンス変数を持つオブジェクト、あるいはクラス
変数またはクラス・インスタンス変数を持つクラスへの
メソッドの追加に依存する。デバッギング・ツールの残
りの部分については、オブジェクト指向言語で記述され
る必要性、あるいは実行される必要性はない。本発明に
よって、オブジェクト指向言語で記述されたプログラム
のデータのデータ・エンタイトルに関するトレースポイ
ントの設定が可能となる。
【0023】トレースポイントは、デバッギング・ツー
ルに対して全体のトレース状態を変更する専用のデバッ
ギング・ツールであるテスト・ポイントの一種である。
本発明は、オブジェクト指向プログラムの指定されたデ
ータ構成要素にアクセス(読み取りまたは書き込み)に
したがって変更すべき全体のトレース状態を可能とする
ことによってトレース情報の収集を制御する。Smal
ltalkでは、トレースポイントを、Smallta
lkのデータ実態であるインスタンス変数、クラス変
数、またはクラス・インスタンス変数(以下、一括して
インスタンス変数とする)に対応付けることによってト
レースをトリガーしてもよい。
【0024】トレース機能がトリガーされた場合、デバ
ッガはプログラムに対応するアイテムの現在の状態に関
連し、かつ該プログラムの実行中に生ずるトレース情報
を収集する。この情報は、開発者にとって利用可能とな
り、この情報を用いてプログラムのデバッグが試みられ
る。本発明を理解する上で、トレース機能が実行または
トリガーされた場合にデバッガにおいて何が起こってい
るかの詳細は不必要であり、また当業者にとって既知の
ことである。したがって、本明細書ではそのことについ
ての詳細な説明は行わない。
【0025】本発明のアーキテクチャおよび一般的な論
理フローを図2に示す。オブジェクト指向プログラムで
は、各オブジェクトに対応するメソッドはプログラムの
論理部分を有する。各メソッドの実行にともなって、各
メソッドは他のオブジェクトへメッセージを送ることに
よって、またインスタンス変数のデータを処理すること
によって論理を実行する。この記載では、インスタンス
変数へ"アクセス"する試みは、インスタンス変数を読み
取ること、インスタンス変数を修正すること、インスタ
ンス変数を記述すること等の試みを意味することができ
る。図2はオブジェクト指向プログラム40の一部分を
示す。このオブジェクト指向プログラム40は、メモリ
に存在し、かつオブジェクト44,46から構成され
る。また、オブジェクト44,46の各々は、オブジェ
クト44,46の論理部分と該オブジェクト44,46
に対応したインスタンス変数52を含むデータ部分50
とを構成する多数のメソッド48を含む。修正に先立っ
て、オブジェクト46はデータ部分50を含む点のみが
ブジェクト44と異なる。このデータ部分50は開発者
によって指定されていたインスタンス変数54を含むも
ので、トレーシングに影響を及ぼす。本発明によれば、
オブジェクト46の指定されたインスタンス変数54に
対するいかなるアクセスの試みもアクセス・メソッド5
6,58のいずれか一つを経由しなければならないよう
に、読み取りおよび書き込みアクセス・メソッド56,
58をオブジェクト46に追加する。開発者が設定した
パラメータによっては、指定されたインスタンス変数5
4にアクセスする試みがなされた場合に読み取りアクセ
ス・メソッド56または書き込みアクセス・メソッドの
いずれか一方が実行(ふさわしいものとして)される。
それによって、トレーシングを実行するためにトレース
・メッセージがデバッガ62のトレース・マネージャ6
0に送られ(また、メモリ42内に論理的に置かれ
る)、またオブジェクト46の指定されたインスタンス
変数54に関連する所望のトレーシングが実行される。
【0026】メソッド56,58によって、実行中に指
定インスタンス変数54に対して読み取りアクセスおよ
び書き込みアクセスがなされる。そして、終了実行に先
立って、指定命令変数54に対する適切なアクセスを行
った後にメソッド56,58がさらにトレーシングを引
き起こしてもよい。このことは、トレーシングの終了、
トレーシング・パラメータまたはどのような情報が収集
されるかの修正、あるいはトレーシングの開始等を行う
ために、第2のトレース・メッセージをトレース・マネ
ージャ60に送ることを含むものであってもよい。メソ
ッド56,58は、アクセス数およびアクセスの種類を
数えてもよく、ある種のアクセスあるいは指定インスタ
ンス命令54へのアクセスが一定の回数なされたかどう
かによって、あるいは一定の種類のアクセスがってトレ
ースの開始および終了がなされてもよい。あるいは、こ
の論理がトレース・マネージャ60に含まれてもよく、
アクセスの試みが行われ、かつ該アクセスが生ずる。
【0027】トレース・マネージャ60は、所望のパラ
メータにもとづいてトレース情報の収集を行い、つづい
て同時に既知の方法にもとづいてトレース情報の出力を
行う。
【0028】以下、図3のフローチャートを参照しなが
ら、好ましい実施の形態にもとづいてインスタンス変数
に関連するトレースポイントの設定に関連した論理を説
明する。開発者が要求するインスタンス変数にアクセス
することによるトレースのトリガーあるいはトレースへ
影響を与えることに関連して、デバッガ62は開発者が
1つ以上のインスタンス変数を指定することを可能にす
る(ステップ100)。図4は、ソフトウエア・デバッ
ギング・ツールのユーザ・インタフェースに表示された
ウィンドウ70を示すものである。ウィンドウ70に設
けられたダイアログを通じて、開発者はデバッグしてい
るオブジェクト指向プログラム内のクラスまたはオブジ
ェクトに関連している特定のデータ構成要素またはイン
スタンス変数に対してトレースポイントを設定すること
ができる。ウィンドウ70には、データ構成要素または
インスタンス変数からなるスクロール可能なリスト70
が表示される。同様に、このリスト72内の各データ・
アイテムに論理的に関連している多数の選択可能なボッ
クス74もウィンドウ70に表示される。開発者は所望
のインスタンス変数に対応したボックス74を選択する
ことによって、リスト72から与えられたインスタンス
変数に関連するトレースポイントを設定する。
【0029】図5は、ソフトウエア・ツールのユーザ・
インタフェースに表示可能なウィンドウ80を示すもの
で、選択されたインスタンス変数に関係して設定されて
いるトレースに有効なオプションを開発者に提供する。
例えば、開発者は、オブジェクト指向プログラムの実行
中において、どのインスタンス変数(すなわち、第1、
第10、第18)へのアクセスが、ボックス82の数値
を設定することによってターン・オンされるトレース機
能を生ずるかを特定することができる。それに加えて、
開発者はボックス84の数値を設定することによってト
レーシング機能をターン・オフにする特定のアクセスを
指定してもよい。さらに、開発者はアクセスの種類を特
定したり、あるいはインスタンス変数に関するトレーシ
ングをトリガーする一定の条件を特定することができ
る。一定の条件は開発者によって識別されるもので、ボ
ックス86で適当な条件を設定することによってトレー
ス機能が引き起こされる。
【0030】開発者はボックス88を用いることによっ
て、指定されたインスタンス変数のアクセスに先立っ
て、アクセス・メソッド56,57のいずれか一つの実
行中に起動または終了するトレーシングを引き起こす。
さらに、ボックス90において対応する選択肢を選択す
ることによって、指定されたインスタンス変数54を適
当なアクセス・メソッド56、58がアクセスした後
に、開発者はトレーシングを停止または開始することが
でき、あるいは有功と思われる適当なオプションをもた
らすことができる。
【0031】ここで再び図3を参照しながら説明する。
開発者がどのトレーシングの引き起こしが要求されるか
に関連する一つ以上のインスタンス変数を指定(ステッ
プ100)した後、開発者は図5のウィンドウを介して
ステップ102においてトレース機能の特定の機能パラ
メータを指定する。この特定の機能パラメータは指定さ
れたインスタンス変数のすべてに関して同一のものであ
ってもよい。つぎに、デバッガ62はプログラムを以下
のように修正する。各指定されたインスタンス変数に関
連してトレースポイントがインストールされるまで(ス
テップ104)、指定されたインスタンス変数の一つが
選択され、かつその対応するトレースポイントがインス
トレーション用に選択される。決定は、インスタンス変
数の読み取りアクセスにトレーシングが必要かどうかに
応じて、まずなされる(ステップ106)。もしそのよ
うであれば、読み取りアクセス・トレースポイントが作
られ、さらに指定されたインスタンス変数に関するイン
タセプト・メッセージに論理的に位置するようにして適
当なクラスにインストールされる。図2はインスタンス
変数54が位置しているオブジェクト46内に読み取り
アクセス・トレースポイント・メソッド56が位置して
いるようにして説明するためにものである。プログラム
40ないの指定されたインスタンス変数54のすべて読
み取りアクセスを読み取りアクセス・トレースポイント
・メソッド56へ送られるメッセージに置き換える(ス
テップ110)。したがって、デバッギングする間のプ
ログラム40の実行中に、インスタンス変数54を読み
取るすべての試みは、読み取りアクセス・トレース・ポ
イント・メソッド56を介して行われよう。
【0032】ステップ106で、あるいはステップ11
0を完了した後で読み取りアクセスに関連する、要求さ
れたトレーシングが存在しないと判断された場合、処理
はステップ112へ進む。このステップ112では、開
発者は指定されたインスタンス変数の書き込みアクセス
を要求してトレーシングに影響を及ぼす。もしそのよう
であれば、指定されたインスタンス変数に関連する書き
込みアクセストレース・ポイント・メソッド58が生成
され、オブジェクト46(またはオブジェクト46に関
連する適当なオブジェクトまたはクラス)に加えられる
(ステップ114)。次に、プログラム40における指
定されたインスタンス変数のすべての書き込みアクセス
が書き込みアクセス・トレースポイント・メソッド58
に送られたメッセージに置き換えられる(ステップ11
6)。バッギングの間のプログラム40の実行中に、指
定されたインスタンス変数54へ書き込みする試みのす
べてが書き込みアクセス・メソッド58を経由するであ
ろう。
【0033】指定されたインスタンス変数54の書き込
みアクセスに関連したトレーシングの要求がないとステ
ップ112で判断された場合、あるいはステップ116
で書き込みアクセス・メソッドのインストレーションが
完了した後、処理はステップ104に戻る。ステップ1
04で、トレーシングをセットアップするための追加の
指定インスタンス変数が存在すると判断された場合、そ
れらのインスタンス変数の一つが選択され、選択された
インスタンス変数に関連してステップ106〜116が
繰り返される。ステップ104において、設定すべき追
加のトレースポイントがないと最終判断された場合、セ
ットアップ・プロセスが終了する。
【0034】いくつかのプログラムでは、与えられたイ
ンスタンス変数の読み取りおよび書き込みアクセスが既
にアクセス・メソッドを経由していてもよい。そのよう
な場合、上記のようにして生成される新規のメソッド、
および既存の読み取りまたはアクセス・メソッドの指定
されたデータ構成要素へ送られるメッセージが新しく生
成されたアクセス・メソッドに言及して適切に修正され
るであろう。
【0035】好ましい実施態様では、プログラム40内
のメソッドの一つが指定されたインスタンス変数54の
読み取りまたは書き込みを試みるたびに、開発者が入力
するトレース機能パラメータにもとづいて、トレーシン
グが開始または終了するかどうかを判断する論理が読み
取りおよび書き込みアクセス・トレースポイント・メソ
ッド56、58に含まれる。この読み取りおよび書き込
みアクセス・トレースポイント・メソッド56、58
は、開発者が入力したトレース機能パラメータを適切に
実行させる論理を含む。このトレースポイント・アクセ
ス・メソッド56、58はトレース・メッセージをトレ
ース・マネージャ60へ送り、指定されたパラメータに
もとづいてトレーシングを開始させる。あるいは、該パ
ラメータに関連した論理は、処理を行うためにトレース
・マネージャ60へメッセージを単純に送るアクセス・
メソッド56、58とともに、トレース・マネージャ6
0および(または)デバッガ62に保持してもよい。
【0036】デバッギング中におけるオブジェクト指向
プログラムおよびデバッギング・ツール62の実行に関
連する論理を、図6を参照しながら以下詳細に説明す
る。デバッギングの間、デバッギングを受けているオブ
ジェクト指向アプリケーション内のメソッドをデバッギ
ング・ツール62の制御下で実行し、実際の使用に近似
させてオブジェクト指向プログラム40を実行する。各
々のメソッドの実行(ステップ200)に伴い、実行さ
れているメソッドが読み取りまたは書き込みトレースポ
イント・アクセス・メソッドのいずれかの一つかどうか
を決定する(ステップ202)。そうではない場合、プ
ロセスは正常に進み、さらにメソッドが完了すると実行
される次のメソッドの決定および実行が行われる(ステ
ップ204、200)。しかし、ステップ202におい
て、実行されているメソッドがトレースポイント・アク
セス・メソッドの一つであると判断された場合、トレー
ス・マネージャ60およびデバッガ62とともにアクセ
ス・メソッドに含まれた論理に基づいて、以下のように
進行する。以下のプロセスはアクセス・メソッドの実行
によって行われる。実行されているメソッドがアクセス
・メソッドではない場合、トレーシングのための以下の
プロセスは行われない。このことは行されているメソッ
ドがアクセス・メソッドである状況下でのみトレースに
関連してプロセスが行われるので、トレーシングに関連
するプロセッサ・オーバヘッドが最小限に保たれる。
【0037】ステップ206では、開発者によって設定
されたパラメータにしたがってアクセスの種類および現
在の状態がトレーシングをトリガーするか、もしくはさ
もなければトレーシングに影響を与えるかをアクセス・
メソッド(またはトレース・マネージャ60)の論理が
判断する。もしそうではないと判断された場合、アクセ
ス・メソッドは指定インスタンス変数54への適当なア
クセスを可能とし、該アクセス・メソッドはインスタン
ス変数の記述(格納)あるいはインスタンス変数の読み
取り(応答)を適当に行う(ステップ208)。 さら
に、アクセス・メソッドは非活動状態となり、プログラ
ム全体の実行が次のメソッドの実行によって継続する
(ステップ204、200)。
【0038】しかし、ステップ206でアクセス・メソ
ッドの実行中に試みられているアクセスの種類がトレー
シングに影響を及ぼすように設定されていると判断され
た場合、および(または)アクセスに関連した状態がト
レーシングに影響を及ぼすのに十分であると判断された
場合、プロセスはステップ20へ進み、指定されたパラ
メータにもとづいてトレーシングが影響を受ける。例え
ば、トレーシングが開始されるか、もしくはトレーシン
グが終了することも可能である。このことは、適当なメ
ッセージをトレース・マネージャ60へ送るアクセス・
メソッドによって達成される。このアクセス・メソッド
は、既知の方法にもとづいてデバッギング・ツールとと
もにトレース機能を実行する。
【0039】ステップ210において、アクセスの種類
が異なるとそれに応じてトレーシングのトリガーに異な
る影響が与えられるようにしてもよい。また、指定イン
スタンス変数54に含まれる値を読み取るアクセスがト
レーシングをトリガーし、一方で指定インスタンス変数
54へ値を書き込むアクセスがトリガーされないように
してもよい。同様に、第1または第5のアクセスがトレ
ーシングをトリガーしないようにする一方で、第10回
目のアクセスがトレーシングをトリガーするようにし、
さらに12回目のアクセスによってトレーシングが終了
するようにしてもよい。このこともまた、開発者によっ
てウィンドウ80を介して設定することができる。上記
のことを実現する論理は、アクセスの計数および決定を
可能とし、トレース・マネージャ60へメッセージを送
り、ユーザ指定パラメータに依存したトレーシングのタ
ーン・オンまたはターン・オフを行うように、アクセス
・メソッド56,58を生成することによって該アクセ
ス・メソッド56,57内に保持することができよう。
あるいは、実行中にトレース・マネージャへメッセー
ジを単に送るアクセス・メソッド56,58によって、
この論理をトレース・マネージャ60に含有させること
ができよう。後者のトレース・メッセージは単にアクセ
スの種類に関係する情報を含むことができ、あるいは代
わりに親メッセージからのオリジナル・メッセージとす
ることもできよう。それによって、指定パラメータを実
現する論理は制御トレーシングに最適なメッセージを解
釈するトレース・マネージャ60に含まれよう。
【0040】アクセス・メソッドが書き込みアクセス・
メソッドである場合、書き込みアクセス・メソッド56
は指定インスタンス変数54内の指定インスタンス変数
54に書き込もうとするメソッドから受けたメッセージ
内に受けた値を書き込む(ステップ212,214)。
アクセス・メソッドが読み取りアクセス・メソッドであ
る場合、該アクセス・メソッドは指定インスタンス変数
54を読み取ろうとしたプログラム40内のメソッドか
らメッセージを受け取るであろう。セット・アップ処理
の間、指定インスタンス変数54に対する参照は、指定
インスタンス変数54を読み取る試みは読み取りアクセ
ス・メソッド58に送られるように、リード・アクセス
・メソッド58に対する参照に置き換えられる。ステッ
プ216により、読み取りアクセス・メソッドは親メソ
ッドに代わって指定インスタンス変数54を読み取る。
【0041】ステップ214または216のいずれかの
後に、指定インスタンス変数54への適当なアクセスに
続いて、読み取りまたは書き込みアクセス・メソッド5
6,57の実行が再びトレーシングに影響を及ぼすよう
にしてもよい。図5のボックス90を介して開発者によ
って設定されたパラメータに依存して、トレーシングが
開始、終了、または設定条件に依存して、あるいは設定
条件の発生に対して復元されてもよい(ステップ21
8)。ステップ218はステップ210に関連する記載
と同様な方法で実行されるもので、適当な論理はアクセ
ス・メソッド56,58に含まれ(または代わりに、ト
レース・マネージャ60)、また適当なメッセージがト
レース・マネージャ60に送られてトレーシングに対し
て適当な影響を及ぼす。
【0042】アクセス・メソッドの実行が完了すると、
プログラム40のプロセスは次のメソッドによって継続
する(ステップ204、200)。
【0043】注目すべきことは、機能を他の方法でもっ
て実現する。Smalltalkでは、Smallta
lkバーチャル・マシーンに対する修正によってよりい
っそう容易に機能の実行を行うことができ、プログラム
を検索する必要性を不要にするとともに、各インスタン
ス変数を生成されたアクセス・メソッドへ送られたメッ
セージによって置き換える。
【0044】主発明を実施する上で必要とされる知識ま
たは技術は当業者に十分知れたものである。本発明の一
実施形態例が記載された一方で、種々の変更および変形
例は本発明の精神および範囲から逸脱することなく可能
である。
【0045】まとめとして、本発明の構成に関して以下
の事項を開示する。 (1)オブジェクト指向プログラムのデータ構成要素に
対するアクセスに基づく、前記オブジェクト指向プログ
ラムのデバッギング中にトレース情報を収集することを
可能とするデータ処理環境でのプロセッサ上での実行の
ためのコンピュータ読み取り可能コードであって、どの
データ構成要素に対するアクセスがトレース情報の収集
を開始するのに必要であるかに関連する前記オブジェク
ト指向プログラムのデータ構成要素を、ユーザが指定す
ることを可能とする第1のサブプロセスと、指定された
データ構成要素へ送られるメッセージを送ることによっ
てトリガーされたトレース情報の収集を開始する第2の
サブプロセスとを備えることを特徴とするコンピュータ
読み取り可能コード。 (2)前記第1のサププロセスは、前記指定されたデー
タ構成要素にアクセスすることに基づいた前記トレース
情報の回収を制御するパラメータを、さらにユーザが指
定できるようにすることを特徴とする上記(1)に記載
のコンピュータ読み取り可能コード。 (3)前記パラメータの一つは、どのトレースされた情
報の収集が終了するかに対する事像であり、さらに前記
終了の事像の発生に対するトレース情報の回収を終わら
せる第3のサブプロセスを備えることを特徴とする上記
(2)に記載のコンピュータ読み取り可能コード。 (4)前記第1のサブプロセスは、前記指定されたデー
タ構成要素に対する少なくとも一つのアクセス・メソッ
ドを生成することと、前記オブジェクト指向プログラム
のメソッドにある前記指定されたデータ構成要素に対す
る直接参照のすべてを、前記アクセス・メソッドに送ら
れるメッセージに置き換えることとを、さらに含むこと
を特徴とする上記(1)に記載のコンピュータ読み取り
可能コード。 (5)前記指定されたデータ構成要素は、オブジェクト
指向プログラムのオブジェクトのインスタンス変数であ
ることを特徴とする上記(1)に記載のコンピュータ読
み取り可能コード。 (6)前記アクセス・メソッドは、トレース情報の収集
を制御することを特徴とする上記(4)に記載のコンピ
ュータ読み取り可能コード。 (7)前記第1のサブプロセスは、読み取りトレースポ
イント・アクセス・メソッドおよび書き込みアクセス・
トレースポイントを生成し、さらに前記オブジェクト指
向プログラムによって発生した前記指定されたデータ構
成要素に対する読み取りの試みのすべては、読み取りト
レースポイント・アクセス・メソッドに送 られ、また前記オブジェクト指向プログラムによって発
生した前記指定されたデータ構成要素に対する書き込み
の試みのすべては、書き込みトレースポイント・アクセ
ス・メソッドに送られることを特徴とする上記(1)に
記載のコンピュータ読み取り可能コード。 (8)前記アクセス・メソッドは、前記指定されたデー
タ構成要素にアクセスするメッセージを受け取った後に
前記トレース情報の収集を開始させることを特徴とする
上記(4)に記載のコンピュータ読み取り可能コード。 (9)アクセス・メッセージを受け取った後に要求され
たアクセス機能を実行する前記アクセス・メソッドを生
成する第4のサブプロセスと、前記アクセス・メソッド
が前記要求されたアクセス機能を実行した後に、トレー
ス・データの収集を修正する第5のサブプロセスとを、
さらに備えることを特徴とする上記(8)に記載のコン
ピュータ読み取り可能コード。 (10)少なくともプロセッサとメモリとが含まれるコ
ンピュータ環境下で、デバッギングを受けているオブジ
ェクト指向プログラムのデータ構成要素へのアクセスに
基づいて収集されるべきトレース・データを生ずるシス
テムであって、前記データ構成要素へのアクセスの試み
がトレース情報の収集を開始するために要求される前記
オブジェクト指向プログラムの少なくとも一つのデータ
構成要素を指定する手段と、指定された前記データ構成
要素がアクセスされた場合に、トレース・データの収集
をトリガーする手段とを備えたことを特徴とするシステ
ム。 (11)トレーシング・パラメータを指定する手段を、
さらに有することを特徴とする上記(10)に記載のシ
ステム。 (12)デバッギングしているオブジェクト指向プログ
ラムのデータ構成要素がアクセスされた場合のトレース
・データ収集方法であって、アクセスの試みがトレーシ
ングに影響を及ぼす前記オブジェクト指向プログラムの
データ構成要素を指定する段階と、指定されたデータ構
成要素に対するアクセスの試みがデバッギング中に送ら
れる少なくとも一つのアクセス・メソッドを生成する段
階と、前記アクセス・メソッドが前記指定されたデータ
構成要素に対するアクセスの試みを受けた場合にトレー
ス・データの収集をトリガーする段階とを有することを
特徴とするトレース・データ収集方法。 (13)前記少なくとも一つのアクセス・メソッドを生
成する段階は、前記指定されたデータ構成要素を要求す
るすべての読み取りアクセスと、前記指定されたデータ
構成要素を要求するすべての書き込みアクセスとを生成
することを特徴とする上記(12)に記載のトレース・
データ収集方法。(14)前記アクセス・メソッドが前
記アクセスの試みを受けた後、前記指定さ れたデータ構成要素にアクセスする段階と、前記指定さ
れたデータ構成要素がアクセスされた後に前記トレース
・データの収集を修正する段階とを、さらに有すること
を特徴とする上記(12)に記載のトレース・データ収
集方法。
【図面の簡単な説明】
【図1】本発明が適用されるハードウエア環境の概略的
構成を示すブロック図である。
【図2】本発明を利用する一方で、デバッグされている
プログラムの実行中におけるデータの論理フローを概略
的に説明する模式的構成図である。
【図3】本発明にもとづいて、データ構成要素のトレー
スポイントを設定することに関連する論理段階を説明す
るためのフローチャートである。
【図4】デバッグされるオブジェクト指向プログラムの
特定のデータ構成要素に対して開発者がテストポイント
を設定することが可能なデバッギング・ツールまたはル
ーチンに使用されるウィンドウを説明するための模式図
である。
【図5】開発者が特定のトレースポイント・パラメータ
を設定することが可能となるデバッギング・ツールまた
はルーチンに使用されるウィンドウを説明するための模
式図である。
【図6】オブジェクト指向プログラムのデータ構成要素
へのアクセスに基づいたトレース機能をトリガーする論
理段階を説明するためのフローチャートである。
【符号の説明】
10 ワークステーション 12 プロセッサ 14 バス 16 ユーザ・インタフェース・アダプタ 18 キーボード 20 マウス 22 インタフェース装置 24 ディスプレイ装置 26 ディスプレイ・アダプタ 28 メモリ 30 通信チャンネル 40 プログラム 42 メモリ 44 オブジェクト 46 オブジェクト 48 メソッド 50 データ部分 52 インスタンス変数 54 インスタンス変数 56 アクセス・メソッド 58 アクセス・メソッド 60 トレース・マネージャ 62 デバッガ 70 ウィンドウ 72 リスト 74 ボックス 80 ウィンドウ 82 ボックス 84 ボックス 86 ボックス 88 ボックス

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】オブジェクト指向プログラムのデータ構成
    要素に対するアクセスに基づく、前記オブジェクト指向
    プログラムのデバッギング中にトレース情報を収集する
    ことを可能とするデータ処理環境でのプロセッサ上での
    実行のためのコンピュータ読み取り可能コードであっ
    て、 どのデータ構成要素に対するアクセスがトレース情報の
    収集を開始するのに必要であるかに関連する前記オブジ
    ェクト指向プログラムのデータ構成要素を、ユーザが指
    定することを可能とする第1のサブプロセスと、 指定されたデータ構成要素へ送られるメッセージを送る
    ことによってトリガーされたトレース情報の収集を開始
    する第2のサブプロセスとを備えることを特徴とするコ
    ンピュータ読み取り可能コード。
  2. 【請求項2】前記第1のサププロセスは、前記指定され
    たデータ構成要素にアクセスすることに基づいた前記ト
    レース情報の回収を制御するパラメータを、さらにユー
    ザが指定できるようにすることを特徴とする請求項1に
    記載のコンピュータ読み取り可能コード。
  3. 【請求項3】前記パラメータの一つは、どのトレースさ
    れた情報の収集が終了するかに対する事像であり、さら
    に前記終了の事像の発生に対するトレース情報の回収を
    終わらせる第3のサブプロセスを備えることを特徴とす
    る請求項2に記載のコンピュータ読み取り可能コード。
  4. 【請求項4】前記第1のサブプロセスは、前記指定され
    たデータ構成要素に対する少なくとも一つのアクセス・
    メソッドを生成することと、前記オブジェクト指向プロ
    グラムのメソッドにある前記指定されたデータ構成要素
    に対する直接参照のすべてを、前記アクセス・メソッド
    に送られるメッセージに置き換えることとを、さらに含
    むことを特徴とする請求項1に記載のコンピュータ読み
    取り可能コード。
  5. 【請求項5】前記指定されたデータ構成要素は、オブジ
    ェクト指向プログラムのオブジェクトのインスタンス変
    数であることを特徴とする請求項1に記載のコンピュー
    タ読み取り可能コード。
  6. 【請求項6】前記アクセス・メソッドは、トレース情報
    の収集を制御することを特徴とする請求項4に記載のコ
    ンピュータ読み取り可能コード。
  7. 【請求項7】前記第1のサブプロセスは、読み取りトレ
    ースポイント・アクセス・メソッドおよび書き込みアク
    セス・トレースポイントを生成し、さらに前記オブジェ
    クト指向プログラムによって発生した前記指定されたデ
    ータ構成要素に対する読み取りの試みのすべては、読み
    取りトレースポイント・アクセス・メソッドに送られ、
    また前記オブジェクト指向プログラムによって発生した
    前記指定されたデータ構成要素に対する書き込みの試み
    のすべては、書き込みトレースポイント・アクセス・メ
    ソッドに送られることを特徴とする請求項1に記載のコ
    ンピュータ読み取り可能コード。
  8. 【請求項8】前記アクセス・メソッドは、前記指定され
    たデータ構成要素にアクセスするメッセージを受け取っ
    た後に前記トレース情報の収集を開始させることを特徴
    とする請求項4に記載のコンピュータ読み取り可能コー
    ド。
  9. 【請求項9】アクセス・メッセージを受け取った後に要
    求されたアクセス機能を実行する前記アクセス・メソッ
    ドを生成する第4のサブプロセスと、 前記アクセス・メソッドが前記要求されたアクセス機能
    を実行した後に、トレース・データの収集を修正する第
    5のサブプロセスとを、さらに備えることを特徴とする
    請求項8に記載のコンピュータ読み取り可能コード。
  10. 【請求項10】少なくともプロセッサとメモリとが含ま
    れるコンピュータ環境下で、デバッギングを受けている
    オブジェクト指向プログラムのデータ構成要素へのアク
    セスに基づいて収集されるべきトレース・データを生ず
    るシステムであって、 前記データ構成要素へのアクセスの試みがトレース情報
    の収集を開始するために要求される前記オブジェクト指
    向プログラムの少なくとも一つのデータ構成要素を指定
    する手段と、 指定された前記データ構成要素がアクセスされた場合
    に、トレース・データの収集をトリガーする手段とを備
    えたことを特徴とするシステム。
  11. 【請求項11】トレーシング・パラメータを指定する手
    段を、さらに有することを特徴とする請求項10に記載
    のシステム。
  12. 【請求項12】デバッギングしているオブジェクト指向
    プログラムのデータ構成要素がアクセスされた場合のト
    レース・データ収集方法であって、 アクセスの試みがトレーシングに影響を及ぼす前記オブ
    ジェクト指向プログラムのデータ構成要素を指定する段
    階と、 指定されたデータ構成要素に対するアクセスの試みがデ
    バッギング中に送られる少なくとも一つのアクセス・メ
    ソッドを生成する段階と、 前記アクセス・メソッドが前記指定されたデータ構成要
    素に対するアクセスの試みを受けた場合にトレース・デ
    ータの収集をトリガーする段階とを有することを特徴と
    するトレース・データ収集方法。
  13. 【請求項13】前記少なくとも一つのアクセス・メソッ
    ドを生成する段階は、前記指定されたデータ構成要素を
    要求するすべての読み取りアクセスと、前記指定された
    データ構成要素を要求するすべての書き込みアクセスと
    を生成することを特徴とする請求項12に記載のトレー
    ス・データ収集方法。
  14. 【請求項14】前記アクセス・メソッドが前記アクセス
    の試みを受けた後、前記指定されたデータ構成要素にア
    クセスする段階と、 前記指定されたデータ構成要素がアクセスされた後に前
    記トレース・データの収集を修正する段階とを、さらに
    有することを特徴とする請求項12に記載のトレース・
    データ収集方法。
JP9106126A 1996-05-01 1997-04-23 トレース・データ収集方法およびコンピュータ読み取り可能コード Pending JPH1083326A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/640613 1996-05-01
US08/640,613 US5896536A (en) 1996-05-01 1996-05-01 Data triggered trace support for debugging object oriented programs

Publications (1)

Publication Number Publication Date
JPH1083326A true JPH1083326A (ja) 1998-03-31

Family

ID=24568966

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9106126A Pending JPH1083326A (ja) 1996-05-01 1997-04-23 トレース・データ収集方法およびコンピュータ読み取り可能コード

Country Status (3)

Country Link
US (1) US5896536A (ja)
JP (1) JPH1083326A (ja)
GB (1) GB9706558D0 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6349406B1 (en) 1997-12-12 2002-02-19 International Business Machines Coporation Method and system for compensating for instrumentation overhead in trace data by computing average minimum event times
JP2002108651A (ja) * 2000-09-27 2002-04-12 Hitachi Software Eng Co Ltd オブジェクト指向開発用デバッグ支援装置
US6507805B1 (en) 1997-12-12 2003-01-14 International Business Machines Corporation Method and system for compensating for instrumentation overhead in trace data by detecting minimum event times
US6539339B1 (en) 1997-12-12 2003-03-25 International Business Machines Corporation Method and system for maintaining thread-relative metrics for trace data adjusted for thread switches
US6546548B1 (en) 1997-12-12 2003-04-08 International Business Machines Corporation Method and system for compensating for output overhead in trace data using initial calibration information
US6560773B1 (en) 1997-12-12 2003-05-06 International Business Machines Corporation Method and system for memory leak detection in an object-oriented environment during real-time trace processing
US6598012B1 (en) 1999-10-07 2003-07-22 International Business Machines Corporation Method and system for compensating for output overhead in trace date using trace record information
US6751789B1 (en) 1997-12-12 2004-06-15 International Business Machines Corporation Method and system for periodic trace sampling for real-time generation of segments of call stack trees augmented with call stack position determination
US6922828B1 (en) 1997-12-12 2005-07-26 International Business Machines Corporation Method and system for detecting common bytecode sequences
US7284238B2 (en) * 2002-12-18 2007-10-16 International Business Machines Corporation Multithread tracing method and apparatus
JP2008293138A (ja) * 2007-05-22 2008-12-04 Fuji Electric Assets Management Co Ltd ソフトウェア開発支援プログラム、ソフトウェア開発支援方法

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5987251A (en) * 1997-09-03 1999-11-16 Mci Communications Corporation Automated document checking tool for checking sufficiency of documentation of program instructions
US6047124A (en) * 1997-10-31 2000-04-04 Sun Microsystems, Inc. System and method for tracing device drivers using a computer
US6754891B1 (en) 1998-08-31 2004-06-22 Red Hat, Inc. Debugger system using tracepoints for computer software
US6769116B1 (en) * 1999-10-21 2004-07-27 Oracle International Corporation Diagnostic technique for debugging memory corruption
US6668369B1 (en) 1999-12-29 2003-12-23 International Business Machines Corporation Software debugging tool for displaying dynamically written software code
US6912571B1 (en) 2000-02-22 2005-06-28 Frank David Serena Method of replacing content
US6634020B1 (en) * 2000-03-24 2003-10-14 International Business Machines Corporation Uninitialized memory watch
GB2365553B (en) * 2000-05-13 2004-07-14 Ibm Trace information in a virtual machine
US6968540B2 (en) * 2000-10-25 2005-11-22 Opnet Technologies Inc. Software instrumentation method and apparatus
US6795836B2 (en) * 2000-12-29 2004-09-21 International Business Machines Corporation Accurately determining an object's lifetime
US7685569B2 (en) * 2001-03-01 2010-03-23 International Business Machines Corporation Navigation in computer software applications developed in a procedural language
CA2347647A1 (en) * 2001-05-15 2002-11-15 Ibm Canada Limited-Ibm Canada Limitee Storing and restoring snapshots of a computer process
AU2002329611A1 (en) * 2001-07-20 2003-03-03 Altaworks Corporation System and method for adaptive threshold determination for performance metrics
US7219034B2 (en) 2001-09-13 2007-05-15 Opnet Technologies, Inc. System and methods for display of time-series data distribution
US7392505B2 (en) * 2001-11-09 2008-06-24 Microsoft Corporation Task tracing in a distributed computing environment
US6983454B2 (en) * 2002-03-29 2006-01-03 International Business Machines Corporation Extended “run to” function
US7165190B1 (en) * 2002-07-29 2007-01-16 Oracle International Corporation Method and mechanism for managing traces within a computer system
US8418145B2 (en) 2002-11-07 2013-04-09 Ca, Inc. Simple method optimization
US7194664B1 (en) * 2003-09-08 2007-03-20 Poon Fung Method for tracing application execution path in a distributed data processing system
US7328429B2 (en) * 2003-11-13 2008-02-05 Intel Corporation Instruction operand tracing for software debug
US7716652B2 (en) * 2004-03-30 2010-05-11 Symantec Corporation System and methods for tracing transactions
JP2005346414A (ja) * 2004-06-03 2005-12-15 Fujitsu Ltd トレース処理プログラム、方法及び装置
US7287139B2 (en) 2004-07-23 2007-10-23 International Business Machines Corporation Maintenance of persistent data using bitmaps
US20060101415A1 (en) * 2004-11-01 2006-05-11 Evans Mark S Service logic program tracing
DE102005058164A1 (de) * 2004-12-06 2006-06-29 Siemens Medical Solutions Health Services Corp. Betriebsüberwachungssytem für eine ausführbare Anwendung
US7774760B2 (en) * 2005-12-23 2010-08-10 Microsoft Corporation Tracing errors in software
US8037458B2 (en) * 2006-09-29 2011-10-11 Sap Ag Method and system for providing a common structure for trace data
US7979850B2 (en) * 2006-09-29 2011-07-12 Sap Ag Method and system for generating a common trace data format
US8028200B2 (en) * 2006-09-29 2011-09-27 Sap Ag Tracing operations in multiple computer systems
US7954011B2 (en) * 2006-09-29 2011-05-31 Sap Ag Enabling tracing operations in clusters of servers
US7941789B2 (en) * 2006-09-29 2011-05-10 Sap Ag Common performance trace mechanism
US20080155339A1 (en) * 2006-10-25 2008-06-26 Gary S Lowe Automated tracing
US20090222797A1 (en) * 2008-02-29 2009-09-03 Infineon Technologies Ag Apparatus and method for providing a trigger
US8196116B2 (en) * 2009-03-31 2012-06-05 International Business Systems Corporation Tracing objects in object-oriented programming model
GB2471482A (en) * 2009-06-30 2011-01-05 Nokia Corp Secure method of tracing software
FR2969335B1 (fr) * 2010-12-17 2013-07-05 Oberthur Technologies Module materiel de securite et procede de traitement dans un tel module
US8600915B2 (en) 2011-12-19 2013-12-03 Go Daddy Operating Company, LLC Systems for monitoring computer resources
US8719196B2 (en) 2011-12-19 2014-05-06 Go Daddy Operating Company, LLC Methods for monitoring computer resources using a first and second matrix, and a feature relationship tree
US8935675B1 (en) * 2013-09-25 2015-01-13 Google Inc. Statistical sampling of event monitoring triggers under overhead constraints

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6393050A (ja) * 1986-10-08 1988-04-23 Hitachi Ltd デ−タフロ−・トレ−ス装置
JPH01201740A (ja) * 1988-02-08 1989-08-14 Matsushita Electric Ind Co Ltd マイクロプロセッサトレース装置
JPH01277940A (ja) * 1988-04-28 1989-11-08 Pfu Ltd 条件付トレース方式
JPH02127736A (ja) * 1988-11-07 1990-05-16 Nec Corp トレース情報出力制御方式
JPH04348436A (ja) * 1990-10-10 1992-12-03 Fuji Xerox Co Ltd 関数名選択方式
JPH05143392A (ja) * 1991-11-22 1993-06-11 Nec Corp テスト用プログラム生成方式
JPH05265838A (ja) * 1992-03-16 1993-10-15 Hitachi Ltd オブジェクト指向データベースシステム及びそのバージョン管理方法
JPH06168111A (ja) * 1992-11-30 1994-06-14 Fuji Facom Corp デバッグ文の自動作成方式
JPH06195241A (ja) * 1992-10-09 1994-07-15 Sun Microsyst Inc 実時間監視・表示方法及びそれを利用したコンピュータシステム
JPH06266579A (ja) * 1993-03-15 1994-09-22 Hitachi Ltd オブジェクト指向プログラムのデバッグ装置
JPH07121399A (ja) * 1993-10-25 1995-05-12 Matsushita Electric Ind Co Ltd オブジェクト指向プログラムのデバッグシステム
JPH07334221A (ja) * 1994-06-07 1995-12-22 Sony Corp 自由曲面加工データ作成方法及び自由曲面加工データ作成装置
JPH07334211A (ja) * 1994-06-08 1995-12-22 Yaskawa Electric Corp プログラマブルコントローラのデータトレース方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4885717A (en) * 1986-09-25 1989-12-05 Tektronix, Inc. System for graphically representing operation of object-oriented programs
US5093914A (en) * 1989-12-15 1992-03-03 At&T Bell Laboratories Method of controlling the execution of object-oriented programs
US5408650A (en) * 1993-06-29 1995-04-18 Digital Equipment Corporation Memory analysis system for dynamically displaying memory allocation and de-allocation events associated with an application program

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6393050A (ja) * 1986-10-08 1988-04-23 Hitachi Ltd デ−タフロ−・トレ−ス装置
JPH01201740A (ja) * 1988-02-08 1989-08-14 Matsushita Electric Ind Co Ltd マイクロプロセッサトレース装置
JPH01277940A (ja) * 1988-04-28 1989-11-08 Pfu Ltd 条件付トレース方式
JPH02127736A (ja) * 1988-11-07 1990-05-16 Nec Corp トレース情報出力制御方式
JPH04348436A (ja) * 1990-10-10 1992-12-03 Fuji Xerox Co Ltd 関数名選択方式
JPH05143392A (ja) * 1991-11-22 1993-06-11 Nec Corp テスト用プログラム生成方式
JPH05265838A (ja) * 1992-03-16 1993-10-15 Hitachi Ltd オブジェクト指向データベースシステム及びそのバージョン管理方法
JPH06195241A (ja) * 1992-10-09 1994-07-15 Sun Microsyst Inc 実時間監視・表示方法及びそれを利用したコンピュータシステム
JPH06168111A (ja) * 1992-11-30 1994-06-14 Fuji Facom Corp デバッグ文の自動作成方式
JPH06266579A (ja) * 1993-03-15 1994-09-22 Hitachi Ltd オブジェクト指向プログラムのデバッグ装置
JPH07121399A (ja) * 1993-10-25 1995-05-12 Matsushita Electric Ind Co Ltd オブジェクト指向プログラムのデバッグシステム
JPH07334221A (ja) * 1994-06-07 1995-12-22 Sony Corp 自由曲面加工データ作成方法及び自由曲面加工データ作成装置
JPH07334211A (ja) * 1994-06-08 1995-12-22 Yaskawa Electric Corp プログラマブルコントローラのデータトレース方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6349406B1 (en) 1997-12-12 2002-02-19 International Business Machines Coporation Method and system for compensating for instrumentation overhead in trace data by computing average minimum event times
US6507805B1 (en) 1997-12-12 2003-01-14 International Business Machines Corporation Method and system for compensating for instrumentation overhead in trace data by detecting minimum event times
US6539339B1 (en) 1997-12-12 2003-03-25 International Business Machines Corporation Method and system for maintaining thread-relative metrics for trace data adjusted for thread switches
US6546548B1 (en) 1997-12-12 2003-04-08 International Business Machines Corporation Method and system for compensating for output overhead in trace data using initial calibration information
US6560773B1 (en) 1997-12-12 2003-05-06 International Business Machines Corporation Method and system for memory leak detection in an object-oriented environment during real-time trace processing
US6751789B1 (en) 1997-12-12 2004-06-15 International Business Machines Corporation Method and system for periodic trace sampling for real-time generation of segments of call stack trees augmented with call stack position determination
US6922828B1 (en) 1997-12-12 2005-07-26 International Business Machines Corporation Method and system for detecting common bytecode sequences
US6598012B1 (en) 1999-10-07 2003-07-22 International Business Machines Corporation Method and system for compensating for output overhead in trace date using trace record information
JP2002108651A (ja) * 2000-09-27 2002-04-12 Hitachi Software Eng Co Ltd オブジェクト指向開発用デバッグ支援装置
US7284238B2 (en) * 2002-12-18 2007-10-16 International Business Machines Corporation Multithread tracing method and apparatus
JP2008293138A (ja) * 2007-05-22 2008-12-04 Fuji Electric Assets Management Co Ltd ソフトウェア開発支援プログラム、ソフトウェア開発支援方法

Also Published As

Publication number Publication date
GB9706558D0 (en) 1997-05-21
US5896536A (en) 1999-04-20

Similar Documents

Publication Publication Date Title
JPH1083326A (ja) トレース・データ収集方法およびコンピュータ読み取り可能コード
US5870606A (en) Data triggered trace technique for debugging software programs
US7185320B2 (en) System and method for processing breakpoint events in a child process generated by a parent process
US7415699B2 (en) Method and apparatus for controlling execution of a child process generated by a modified parent process
US6026362A (en) Tool and method for diagnosing and correcting errors in a computer program
US7849450B1 (en) Devices, methods and computer program products for reverse execution of a simulation
US6820256B2 (en) System and method for whole-system program analysis
US5513315A (en) System and method for automatic testing of computer software
US5611043A (en) Debugger system and method for controlling child processes
US7716643B2 (en) Methods and apparatus for software profiling
US6981243B1 (en) Method and apparatus to debug a program from a predetermined starting point
US8336032B2 (en) Implementing enhanced template debug
US20020174416A1 (en) Storing and restoring snapshots of a computer process
US7178135B2 (en) Scope-based breakpoint selection and operation
JPH07105044A (ja) コンピュータプログラムの実行をシュミレーションする方法及びシステム
JPH05134830A (ja) データ処理システムにおけるリアル・タイム・システム源のモニタ方法とモニタ装置
US20040006760A1 (en) Generating and using profile information automatically in an integrated development environment
US6526567B1 (en) System and method for optimizing a device driver by incorporating debugging and tracing
US20080141226A1 (en) System and method for controlling trace points utilizing source code directory structures
US20040111707A1 (en) Debugger for multiple processors and multiple debugging types
US20060168568A1 (en) Method, system and computer program product for testing computer programs
US20080127118A1 (en) Method and system for dynamic patching of software
EP3769222B1 (en) Testing kernel mode computer code by executing the computer code in user mode
US6971046B1 (en) System and method for performing input/output diagnostics
US20040168157A1 (en) System and method for creating a process invocation tree

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040106

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040322

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040325

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040604

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040914

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20041025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050201

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050412

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050415

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20051007