JP2002534736A - オンラインでデバッグ及び追跡を行う装置及び方法 - Google Patents

オンラインでデバッグ及び追跡を行う装置及び方法

Info

Publication number
JP2002534736A
JP2002534736A JP2000592736A JP2000592736A JP2002534736A JP 2002534736 A JP2002534736 A JP 2002534736A JP 2000592736 A JP2000592736 A JP 2000592736A JP 2000592736 A JP2000592736 A JP 2000592736A JP 2002534736 A JP2002534736 A JP 2002534736A
Authority
JP
Japan
Prior art keywords
target machine
machine
tracking point
data
host
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
JP2000592736A
Other languages
English (en)
Inventor
エリ シャガム
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.)
EMC Corp
Original Assignee
EMC 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 EMC Corp filed Critical EMC Corp
Publication of JP2002534736A publication Critical patent/JP2002534736A/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)
  • Electrical Discharge Machining, Electrochemical Machining, And Combined Machining (AREA)
  • Train Traffic Observation, Control, And Security (AREA)

Abstract

(57)【要約】 本発明は、目標マシンにおいて実行されるデバッグ用ソフトウエアの方法及び装置に関する。追跡点位置及びホストマシンに返却される変数を形成するデバッグ設定スクリプトは、ホストマシンにおいて作り出される。この方法は、追跡点位置及び変数を目標マシンに送信し、目標マシンにおいては、そこで実行されるスタブ・プログラムが、追跡点にトラップを挿入することにより目標マシンのソフトウエア・プログラムの変更を達成する。追跡点が当てられた場合、データは、変数値を確認するためにスタブ・プログラムを使用して収集され、取得された変数データは、目標マシンの目標マシン・バッファ・メモリに記憶される。収集されたデータは、ホストマシンの要請により、又は、所定時刻の終わりに、又は、パス・カウントに到達した時、又は、目標マシンが設定した時刻に、目標システムの作動を停止又は中断することなく、ホストマシンに送信される。

Description

【発明の詳細な説明】
【0001】 (技術分野) 本発明は、一般にソース・コードのデバッグ方法及び装置に関し、特に、デバ
ッグ・ツールを用いて設定された追跡点を使用するソフトウエア・プログラムの
デバッグ方法に関する。
【0002】 (背景技術) コンピュータ・プログラムが益々複雑になるにつれて、プログラムは、その本
来の意図された性能及び作動を妨害するエラーすなわち「バグ」を包含する可能
性が高まることになる。そこでプログラムは、そのプログラムにおけるエラーの
所在を探し出し、修正を行う過程であるデバッグをされることになる。複雑なプ
ログラムにおいて、デバッグを行う過程は極めて困難であるに違いなく、その結
果、ソフトウエアをデバッグする1つのアプローチとしては、コード内の場所場
所において区切り点挿入を使用することである。そうすると、ソース・コード・
プログラムの実行は、区切り点に遭遇する度に停止し、プログラマがその区切り
点におけるプログラムの特定の変数の状態、従って、その区切り点でのプログラ
ムの挙動を観察することを可能にする。
【0003】 特定のアプリケーションにおいて、区切り点でプログラムを停止させることは
、システムに対して極めて阻害的であり得る。従って、例えばEMCシンメトリ
クス・シリーズ製品などの大きな共有データ記憶サブシステムにおいてプログラ
ムを停止させることは、事実上、全てのデータ読み取り、書き込み、及び、キャ
ッシング処理を停止させる。この時点で、データの流れが約数分程度又はそれ以
上に亘って阻害される可能性があるのみならず、例えば別の外部サブシステムが
次に回復モードに入ってくる可能性があるため、システムの挙動、従ってエラー
解析もシステムの停止によって完全に覆い隠される可能性がある。
【0004】 後々の解析用に、シンメトリクス装置内バッファメモリに追跡イベントに関す
るデータを記憶することが知られてきた。このアプローチは、必要に応じて、後
々の検査及び解析用に同時にデータ収集を行うが、システム割り込みを行わない
という利点を有する。そのようなシステムは、一般に、ユーザがシステムのソフ
トウエア及び追跡点を動的に改める又は変更する、又は、プログラムが続いてい
る時、同時発生的にシステム・ソフトウエアを解析することを可能にしない。
【0005】 この結果、本発明に従ってデバッグを行うシステム・ツール及び方法を提供す
ることができ、例えば大きな共有データ記憶システムにおいてソフトウエア・プ
ログラムが作動したままオンラインで即座のそして確実な対話を可能にする。更
に、本発明の方法及び装置は、システムのデバッグを行うオンラインのアクセス
を都合良く準備する一方で、同時にソース・コードの作動で生じる如何なるエラ
ーをも覆い隠すように実質的にシステム作動を阻害することがない。
【0006】 (発明の開示) 本発明は、目標のマシン上で実行されるオンライン・デバッグ・ソフトウエア
の方法及び装置に関する。この方法は、追跡点位置(番地)及びそれら追跡点に
おいて収集されるデータ及び変数をホストマシンにおけるソフトウエアに形成す
る段階、追跡点位置及び変数を、例えばデバッグ・スクリプトの形で目標マシン
に送信する段階、デバッグ・スクリプトを実行するために目標マシンにスタブ・
プログラムを保持する段階、追跡点に到達した時にホストマシンのデバッグ・ス
クリプトによって識別される変数を表すデータ及び変数を所定の追跡点において
スタブ・プログラムを使用して収集する段階、及び、ホストマシンからの要求に
応じて、収集されたデータをオンラインで目標マシンの作動に著しい割り込みや
停止させたりすることなく送信する段階を特徴とする。特定の実施形態において
、目標マシンはディスク駆動機構制御装置である。
【0007】 他の態様において、本発明は、元来コンパイラの記号表からの数式の形でホス
トマシンのデバッグ・スクリプトによって指定され、追跡点に到達して通過する
時にデータが収集される各変数の位置を、数式の値を求めて目標マシンにおいて
判断する段階を特徴とする。別の態様において、追跡点は、ホストマシンにおい
て自動的に設定されてもよく、変数は、ホストマシンにおいて自動的に識別され
る。 別の態様において、本発明によると収集されたデータは、記憶のために目標マ
シンのバッファに仕向けられ、バッファが溢れた場合、データがバッファを循環
して古いデータを消去し、それを新しいデータと入れ替える。このようにして、
データの最新フレームのみがバッファに保たれる。
【0008】 別の態様において、本発明の装置は、目標マシンにおいて実行されるデバッグ
用ソフトウエア(スタブ)を準備し、ホストマシンと、追跡点位置及びソフトウ
エアによって収集される変数をホストマシンにおいて形成する構成要素と、目標
マシンに追跡点位置及び変数を送信する回路と、目標マシンにおいてスタブ・プ
ログラムを実行する回路と、ホストマシン上のユーザによって選択された変数を
表すデータをスタブ・プログラムを使用して収集する回路とを含む。追跡点に到
達した時、回路は、目標マシンの作動を停止させることなく、収集されたデータ
をオンラインでホストマシンに送信する。
【0009】 本発明の更に別の態様において、装置は、目標マシンで実行されるソフトウエ
アのデバッグをホストコンピュータから行う、コンピュータが実装された装置で
ある。本発明は、目標マシン及びホストコンピュータの両方においてソフトウエ
ア媒体を準備し、追跡点位置及び目標マシンのソフトウエアによって収集される
変数をホストコンピュータにおいて形成する段階と、追跡点位置及び変数を目標
マシンに送信する段階と、目標マシンにおいてスタブ・プログラムを実行する段
階と、追跡点に到達して通過した時に、例えばホストコンピュータのユーザによ
って選択された変数を表すデータをスタブ・プログラムを使用して収集する段階
と、目標マシンの作動を停止させることなく、収集されたデータをオンラインで
ホストコンピュータに供給する段階とを実行する。 本発明の方法及び装置は、従って、目標マシンの作動妨害を最小限度に抑えつ
つ、目標コンピュータ又は駆動機構制御装置のデバッグを都合良く可能にする。 本発明の他の形態及び利点は、本発明の以下の説明を図面と共に検討すること
により、当業者には明らかになるであろう。
【0010】 (発明を実施するための最良の形態) 図1を参照すると、本発明は、少なくとも1つ及びおそらくは複数のホスト1
2a、12b、...、12nがEMCシンメトリクスのディスク・アレー・メ
モリ・システムなどのメモリ・モジュール・システム14に接続されるコンピュ
ータ・システムに関する。メモリ・モジュール14は、ホストコンピュータと、
例えばディスク駆動機構16a、16b、...、16kなどの複数の大量記憶
装置との間のインタフェースとしての役目を果たす。ホストによって書き込まれ
た、又は、ディスク駆動機構構成要素によって読み出されたデータは、かなりの
能力を有する2方向通信経路としての役目を果たすメモリ・モジュール・システ
ムを通過する。例えば、あるシステムでは、ホストからのデータは、ディスク記
憶装置の全て又は幾つかに亘って一様にストライプされ、また、別のシステムで
は、ホストからのデータは、ディスク駆動機構16上にRAID(遠隔アクセス
対話式デバッギングプログラム)プロトコルに従って記憶される。本発明の更に
別の実施形態において、特定のホストからのデータの全ては、データ及びホスト
の性質及びソース次第で、1つのディスク駆動機構、又は、同じ又は別のディス
ク駆動機構の異なる論理容量に記憶できる。ホストコンピュータはまた、1つ又
はそれ以上のディスク駆動機構ユニットからデータを読み取ることができる。
【0011】 例えば、回復不能なソフトウエア・エラー、処理量の減少、又は、新しくイン
ストールされたソフトウエアの「バグ」などのシステムの性能を損なう問題が起
きる場合、その問題は、ホスト、メモリ・モジュール、ディスク駆動機構構成要
素、又は、それらの組合せのいずれかに起きる可能性がある。問題を解析して修
正するためには、顧客コンピュータ(又は、複数のコンピュータ)又は制御装置
の作動を下げないことが必要であり、もしそうなれば、それらがオフライン状態
に置かれ、恐らくは顧客の業務能力を顕著に損なうことになる。本発明によれば
、従って、例えばソフトウエアのバグが疑われる場合、又は、システム作動の選
択されたイベント時刻においてシステム・パラメータを読み出すために、追跡点
がソフトウエアに挿入され、顧客システムにおける如何なる実質的な性能低下を
も強いることなくデータが収集される。次に、以下に説明されるように、データ
は、システム作動に対して実質的に低下、停止、又は、それ以外に干渉を与える
ことなく、解析用に遠隔操作的に収集することができる。
【0012】 図2を参照すると、本発明による特定の実施形態において、ディスク制御装置
は、全てのデータ及び指令がそれを通って流れる大域メモリ32に接続される複
数のチャネル・ディレクタ30(SCSIプロトコルに従って作動する場合、最
も頻繁にはSCSIアダプタと呼ばれる)を持つように形成される。この大域メ
モリ32は、ディスク駆動機構16に接続する複数のディスク・ディレクタ34
(同様に、通常はSCSIアダプタ)に接続される。本発明のこの特定の実施形
態によれば、各チャネル・ディレクタは、SCSIプロトコルを使用してチャネ
ル36及び38を通して作動する。各チャネル・ディレクタ30は、バス36を
通して1つ又はそれ以上のホストコンピュータに接続できる(一般的に、ポート
40につき1つのホスト入出力制御装置)。図示された実施形態において、監視
及び解析されることになるのは、ソフトウエアの作動である。
【0013】 ここで図3を参照すると、概略的表現において、ホストマシン400は、一般
的に目標マシン402から遠く離れた場所に設置される。ホスト400及び目標
402は、モデム404及び406、及び、通信リンク408を通して通信する
。ホストマシンは、ソースファイル414、及び、目標マシンで実行されるプロ
グラムに対するコンパイルされた記号表416及びバイナリ実行可能ファイル4
18を包含する記憶装置412へのアクセスを有するソース・レベル・デバッガ
410を含む。一般に、記憶装置412は、異なる目標マシンで実行される様々
なバージョンのプログラムに対して多くのそのようなファイルの収集を包含する
。バイナリファイルは、目標マシンにおけるバイナリ実行可能プログラムファイ
ルと同一である。
【0014】 ソース・レベル・デバッガは、ユーザ又は自動追跡点プログラムのうちのいず
れかの制御の下で、追跡点が目標マシンで実行される実行可能プログラムに挿入
されることになる番地のほか、変数に対する番地(又は、そのような番地を決め
るための数式)を記号表416を使用して識別する。そのデータは、通信リンク
408を通して目標マシンに送信される。スタブ・プログラムは、目標マシンに
おいてそのデータを使用して追跡点番地でトラップを挿入し、それにより、各追
跡点で必要データが収集されて追跡バッファ420に記憶される。スタブ・プロ
グラム422は、その作動プログラムの一部として目標マシンに含まれる。従っ
て、通常の作動においては、プログラムがコンパイルされ、リンクされ、バイナ
リの実行可能形式で目標マシンにロードされる一方で、バイナリファイル418
及び記号ファイル416に記憶される。ユーザ又はシステムは、次に、追跡点及
び収集されるデータを形成し、その設定情報を目標マシンに送信する。次に、追
跡点に当たる度に適切なデータが収集され、追跡プログラムは、以下に説明され
るように終了される。次に、追跡バッファに収集されたデータの全て又は一部に
ついて、「事後」解析が実行される。
【0015】 ここで図4を参照すると、作動に際して、ソース・レベル・デバッグ・プログ
ラムは、一般に目標マシンの場所から遠く離れているホストコンピュータにおい
て開始される。このことは、98で示されている。デバッグ・プログラムは、ユ
ーザの制御の下、ソース・コード・ウインドウを開く。ホストコンピュータにお
いて、それは画面上のウインドウであり、それによってデバッグ情報が作りださ
れる。このことは、段階100で示されている。ユーザは、次に、ここでは制御
装置システム14である目標マシンで実行されるプログラムを識別し、デバッガ
は、デバッガが目標マシンで実行されているのと同じバージョンのプログラムを
有することを確認する。このことは、101で示されている。ユーザは、デバッ
グされるプログラムに一連の追跡点を自動又は手動のいずれかにより設定する。
このことは、段階102で示されている。追跡点の手動設定は、一般的にプログ
ラムのソース・コード・レベルで実行される。ユーザは、各追跡点と共に変数を
手動又は自動のいずれかで識別し、そのためのデータは、追跡点が到達すなわち
「当たる」度に収集される。追跡点を自動で設定する場合、本明細書においてそ
の内容が参照文献として援用されている1998年4月29日提出で現在出願中
の「ソース・コード・デバッグ用ツールの応用」という名称の米国特許出願番号
第09/069、608号に説明されているものなどの方法を使用できる。一旦
デバッグの設定がユーザによって完了されると、ホストは、目標マシンに存在す
る実行可能コードにより追跡点の位置を目標マシンに送信する。伝送されたデー
タの書式は、数式が送信されることを可能にし、目標とする変数の位置をそこか
ら目標マシンにおいて導き出すことができる。このことは、103で示されてい
る。一般に、番地や式は、プログラムの実行可能コードを作り出す際にコンパイ
ラによって普通に作成及び記憶される記号表に見出される変数から派生している
。記号表は、ホストマシンで手に入れることができる。この番地及び式の情報は
、スタブ・プログラムによりそこでの作動に使用するために104において目標
マシンに伝送される(デバッグ設定データとして)。目標及びホストシステムは
、例えばインターネットを通して、モデム又は高速通信バスによって接続できる
。目標マシンにおいて、いわゆる「スタブ」は、105においてデバッグ設定デ
ータを実行するために作動し、デバッグされるソフトウエアの作動の間に関連デ
ータを収集する。この点で、スタブ・プログラムは、ホストシステムによって識
別された追跡点番地でトラップを挿入し、「トラップ」に到達される、すなわち
当たる度に必要データを収集する。
【0016】 目標マシンでデバッグされるプログラムが進行するにつれ、スタブは、コード
を捕獲するために各追跡点番地で作動し、必要データを収集する。このことは、
110で示されている。追跡点が当てられた場合、スタブは、ホストによって供
給された式の値を求めることにより目標からデータを獲得するために作動し(変
数の物理的な番地は、時々刻々変わる可能性がある)、獲得されたデータを目標
バッファに記憶する。このことは、112で示されている。目標バッファが満杯
になった場合、図示された本発明の実施形態においては、古い以前に収集された
データが上書きされるようにバッファが循環する。 スタブは、従って、例えそれが数値又は表式レベルで指定されても、デバッグ
設定で指定される変数データを収集するように作動する。すなわち、スタブは、
本発明の好ましい実施形態の書式の逆ポリッシュ表記で作業する表式エバリュエ
ータを有し、それは、スタブが変数又は収集される変数の番地を、例え変数の番
地が時々刻々プログラムにおいて変化し得るとしても、決めることを可能にする
【0017】 一旦、全てのプログラム変数が収集されたか、追跡点に対するパス・カウント
が到達されたか、又は、ホスト又は目標システムによって指定された時間が経過
した場合、又は、ユーザが発生させたアクセス指令が目標システムによって受領
された時、収集及び記憶されたデータは、目標マシン又は監視されたプログラム
の作動を実質的に中断することなく、すなわち、目標マシンが作動を継続しなが
ら、ホストマシンによって指定されるように全部又は一部をオフ・ロードするこ
とができる。特定の態様においては、追跡点に対するパス・カウントが到達され
る場合、データ収集が自動的に中断することになり、データは、自動的に又はホ
ストにおけるユーザの制御の下で、ホストに利用可能にされることになる。例え
ば、パス・カウントが1の場合、特定の追跡点が最初に到達された時にデータが
収集されることになり、検査及び解析用としてホストに即座に利用可能にするこ
とができる。収集されたデータが追加のデータが収集されている間にホストに返
却することができることも、同様に明白であるはずである。このことは、段階1
20で示されている。オフ・ロードする過程は、段階130で示されるように、
ホストによって実行及び制御することができる。特定の実施形態において、ホス
トは、限定され明確に規定されたデータのダウンロードを得るために、目標に探
索照会を送信する。
【0018】 追跡点が到達される度にプログラムが捕獲され、適切な変数が収集及び記憶さ
れることに注目することは重要である。このことは、例えば1ミリ秒程度を要す
る。これは、例えば区切り点に遭遇するや否や監視されているプログラムの停止
を引き起こし、ユーザ入力を待ち続けて1分、10分、又は、それ以上の中断を
必要とする可能性のあるシステムと比較すると顕著な改善である。結果として、
目標マシンの作動は、追跡点が実装されていないマシンのそれにより緊密に類似
する。勿論、目標マシンのソフトウエアのバージョンは、ホストコンピュータが
知っているものと同一でなければならない。 本発明の開示された好ましい実施形態における追加例、削除例、及び、他の変
更例は当業者にとって明らかであろうし、また、添付請求項の技術内容に包含さ
れる。
【図面の簡単な説明】
【図1】 本発明が特定の用途を有するシステムを示す一般的なブロック図である。
【図2】 本発明による典型的な環境を更に詳細に示すブロック図である。
【図3】 本発明による通常の作動を示す概略ブロック図である。
【図4】 本発明による1つの実施形態の作動を示す流れ図である。

Claims (27)

    【特許請求の範囲】
  1. 【請求項1】 目標マシンにおいて実行されるソフトウエアをデバッグする
    方法であって、 ホストマシンにおいて、前記ソフトウエアによって取得される追跡点位置及び
    変数を形成する段階と、 前記追跡点位置及び変数を前記目標マシンに送信する段階と、 スタブ・プログラムを前記目標マシンで実行する段階と、 追跡点に到達した場合、前記スタブ・プログラムを使用して、前記ホストマシ
    ンにより選択された前記変数を表すデータを収集する段階と、 前記目標マシンの作動を停止することなく、前記収集されたデータをオンライ
    ンで前記ホストマシンに送信する段階と、 を含むことを特徴とする方法。
  2. 【請求項2】 各追跡点に対して、データが収集される各変数の位置を前記
    目標マシンにおいて決める段階を更に含むことを特徴とする請求項1に記載の方
    法。
  3. 【請求項3】 前記識別されたデータを収集してそれを記憶バッファに配送
    するために、前記目標マシンにおいて前記スタブ・プログラムを使用する段階を
    更に含むことを特徴とする請求項2に記載の方法。
  4. 【請求項4】 前記ホストマシンにおいて前記追跡点を自動的に選択する段
    階と、 前記ホストマシンにおいて前記変数を自動的に識別する段階と、 を更に含むことを特徴とする請求項1に記載の方法。
  5. 【請求項5】 前記追跡点において前記目標マシンの前記ソフトウエア・コ
    ードにトラップを達成する段階を更に含むことを特徴とする請求項1に記載の方
    法。
  6. 【請求項6】 前記目標マシン及びホストマシンのうちの1つにより設定さ
    れた停止時刻まで前記目標マシンにおいてデータを収集する段階を更に含むこと
    を特徴とする請求項1に記載の方法。
  7. 【請求項7】 追跡点が所定回数だけ遭遇される場合、前記データ収集段階
    を終了する段階を更に含むことを特徴とする請求項1に記載の方法。
  8. 【請求項8】 前記収集されたデータを目標マシン・バッファに記憶する段
    階と、 前記目標マシン・バッファが満杯の場合、前記バッファを循環させる段階と、
    を更に含むことを特徴とする請求項6に記載の方法。
  9. 【請求項9】 ディスク駆動機構制御装置において実行されるソフトウエア
    をデバッグする方法であって、 ホストマシンにおいて、前記ソフトウエアによって取得される追跡点位置及び
    変数を形成する段階と、 前記追跡点位置及び変数を前記ディスク駆動機構制御装置に送信する段階と、 スタブ・プログラムを前記ディスク駆動機構制御装置で実行する段階と、 追跡点に到達した場合、前記スタブ・プログラムを使用して、前記ホストマシ
    ンにより選択された前記変数を表すデータを収集する段階と、 前記ディスク駆動機構制御装置の作動を停止することなく、前記収集されたデ
    ータをオンラインで前記ホストマシンに供給する段階と、 を含むことを特徴とする方法。
  10. 【請求項10】 前記ディスク駆動機構制御装置がその通常の読み取り及び
    書き込み作動を実行する一方で、前記追跡点において前記ディスク駆動機構制御
    装置の前記ソフトウエア・コードにトラップを達成する段階を更に含むことを特
    徴とする請求項9に記載の方法。
  11. 【請求項11】 前記供給段階は、前記ディスク駆動機構制御装置の作動を
    中断することなく、前記収集されたデータを前記ホストマシンに供給する段階を
    含むことを更に特徴とする請求項10に記載の方法。
  12. 【請求項12】 追跡点が所定回数だけ遭遇された場合、前記データ収集段
    階を終了する段階を更に含むことを特徴とする請求項9に記載の方法。
  13. 【請求項13】 目標マシンにおいて実行されるソフトウエアをデバッグす
    る装置であって、 ホストマシンにおいて、前記ソフトウエアによって取得される追跡点位置及び
    変数を形成する手段と、 前記追跡点位置及び変数を前記目標マシンに送信する手段と、 スタブ・プログラムを前記目標マシンで実行する手段と、 追跡点に到達した場合、前記スタブ・プログラムを使用して、前記ホストマシ
    ンにより選択された前記変数を表すデータを収集する手段と、 前記目標マシンの作動を停止することなく、前記収集されたデータをオンライ
    ンで前記ホストマシンに送信する手段と、 を含むことを特徴とする装置。
  14. 【請求項14】 各追跡点の遭遇に対して、データが収集される各変数の位
    置を前記目標マシンにおいて決める手段を更に含むことを特徴とする請求項13
    に記載の装置。
  15. 【請求項15】 前記ホストマシンにおいて前記追跡点を自動的に選択する
    手段と、 前記ホストマシンにおいて前記変数を自動的に識別する手段と、 を更に含むことを特徴とする請求項13に記載の装置。
  16. 【請求項16】 前記追跡点において前記目標マシンの前記ソフトウエア・
    コードにトラップを達成する手段を更に含むことを特徴とする請求項13に記載
    の装置。
  17. 【請求項17】 前記目標マシン及びホストマシンのうちの1つにより設定
    された停止時刻まで前記目標マシンにおいてデータを収集する手段を更に含むこ
    とを特徴とする請求項13に記載の装置。
  18. 【請求項18】 前記目標マシン及びホストマシンのうちの1つにより設定
    された停止時刻まで前記目標マシンにおいてデータを収集する手段を更に含むこ
    とを特徴とする請求項17に記載の装置。
  19. 【請求項19】 目標マシン・バッファと、 前記収集されたデータを目標マシン・バッファに記憶する手段と、 前記目標マシン・バッファが満杯の場合、前記バッファを循環させる手段と、
    を更に含むことを特徴とする請求項17に記載の装置。
  20. 【請求項20】 目標マシンにおいて実行されるソフトウエアをホストコン
    ピュータからデバッグするコンピュータが実装された装置であって、 磁気媒体に記憶されたソフトウエア・プログラムを含み、 ホストコンピュータにおいて、前記ソフトウエアによって取得される追跡点位
    置及び変数を形成する段階と、 前記追跡点位置及び変数を前記目標マシンに送信する段階と、 スタブ・プログラムを前記目標マシンで実行する段階と、 追跡点を通過した場合、前記スタブ・プログラムを使用して、前記ホストコン
    ピュータにより選択された前記変数を表すデータを収集する段階と、 前記目標マシンの作動を停止することなく、前記収集されたデータをオンライ
    ンで前記ホストコンピュータに送信する段階と、 を必要とすることを特徴とする装置。
  21. 【請求項21】 各追跡点に対して、データが収集される各変数の位置を前
    記目標マシンにおいて決める段階を含むソフトウエアを更に持つことを特徴とす
    る請求項19に記載の装置。
  22. 【請求項22】 前記識別されたデータを収集してそれを記憶バッファに配
    送するために、前記目標マシンにおいて前記スタブ・プログラムを使用する段階
    を含むソフトウエアを更に持つことを特徴とする請求項20に記載の装置。
  23. 【請求項23】 前記ホストコンピュータにおいて前記追跡点を自動的に選
    択する段階と、 前記ホストコンピュータにおいて前記変数を自動的に識別する段階と、 を含むソフトウエアを更に持つことを特徴とする請求項19に記載の装置。
  24. 【請求項24】 前記追跡点において前記目標マシンの前記ソフトウエア・
    コードにトラップを達成する段階を含むソフトウエアを更に持つことを特徴とす
    る請求項19に記載の装置。
  25. 【請求項25】 前記目標マシン及びホストコンピュータのうちの1つによ
    り設定された停止時刻まで前記目標マシンにおいてデータを収集する段階を含む
    ソフトウエアを更に持つことを特徴とする請求項19に記載の装置。
  26. 【請求項26】 前記収集されたデータを目標マシン・バッファに記憶する
    段階と、 前記目標マシン・バッファが満杯の場合、前記バッファを循環させる段階と、 を含むソフトウエアを更に持つことを特徴とする請求項24に記載の装置。
  27. 【請求項27】 追跡点が所定回数だけ遭遇される場合、前記データ収集段
    階を終了する段階を更に含むことを特徴とする請求項19に記載の方法。
JP2000592736A 1999-01-04 1999-12-30 オンラインでデバッグ及び追跡を行う装置及び方法 Pending JP2002534736A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/224,921 US6311326B1 (en) 1999-01-04 1999-01-04 Online debugging and tracing system and method
US09/224,921 1999-01-04
PCT/US1999/031208 WO2000041078A1 (en) 1999-01-04 1999-12-30 Online debugging and tracing system and method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006262594A Division JP2006344249A (ja) 1999-01-04 2006-09-27 オンラインでデバッグ及び追跡を行う装置及び方法

Publications (1)

Publication Number Publication Date
JP2002534736A true JP2002534736A (ja) 2002-10-15

Family

ID=22842781

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2000592736A Pending JP2002534736A (ja) 1999-01-04 1999-12-30 オンラインでデバッグ及び追跡を行う装置及び方法
JP2006262594A Pending JP2006344249A (ja) 1999-01-04 2006-09-27 オンラインでデバッグ及び追跡を行う装置及び方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2006262594A Pending JP2006344249A (ja) 1999-01-04 2006-09-27 オンラインでデバッグ及び追跡を行う装置及び方法

Country Status (6)

Country Link
US (1) US6311326B1 (ja)
EP (1) EP1145125B1 (ja)
JP (2) JP2002534736A (ja)
AT (1) ATE273535T1 (ja)
DE (1) DE69919404T2 (ja)
WO (1) WO2000041078A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007004793A (ja) * 2005-06-20 2007-01-11 Seagate Technology Llc 組込型処理装置システム用コードカバレッジ測定方法及び装置
JP2009252247A (ja) * 2008-04-07 2009-10-29 Internatl Business Mach Corp <Ibm> デバッガ・データ・プロセシング・システム、デバッギング方法およびコンピュータ・プログラム

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6754891B1 (en) * 1998-08-31 2004-06-22 Red Hat, Inc. Debugger system using tracepoints for computer software
US6606671B1 (en) * 1999-04-19 2003-08-12 Unisys Corporation Method for analyzing input/output operations of a data processing system
US6490690B1 (en) * 1999-07-22 2002-12-03 International Business Machines Corporation Method and apparatus for unix system catastrophic recovery aid
GB0009943D0 (en) * 2000-04-20 2000-06-07 Sgs Thomson Microelectronics Operating a computer system
GB0009941D0 (en) * 2000-04-20 2000-06-07 Sgs Thomson Microelectronics Computer system
GB0009945D0 (en) * 2000-04-20 2000-06-07 Sgs Thomson Microelectronics Debugging device nad method
GB0009939D0 (en) * 2000-04-20 2000-06-07 Sgs Thomson Microelectronics Input/output in embedded systems
US6948095B2 (en) * 2000-04-20 2005-09-20 Stmicroelectronics Limited Methods and apparatus for dynamically loading a file on a target computer system
US6978444B1 (en) * 2000-08-01 2005-12-20 International Business Machines Corporation Computer-implemented method and system for automatically invoking a predetermined debugger command at a desired location of a single thread of a program
US6817014B2 (en) * 2001-04-11 2004-11-09 Hewlett-Packard Development Company, L.P. Analysis of executable program code using compiler-generated function entry points and endpoints with other sources of function entry points and endpoints
US6918110B2 (en) * 2001-04-11 2005-07-12 Hewlett-Packard Development Company, L.P. Dynamic instrumentation of an executable program by means of causing a breakpoint at the entry point of a function and providing instrumentation code
US7181728B1 (en) * 2001-04-30 2007-02-20 Mips Technologies, Inc. User controlled trace records
US7134116B1 (en) 2001-04-30 2006-11-07 Mips Technologies, Inc. External trace synchronization via periodic sampling
CA2347647A1 (en) * 2001-05-15 2002-11-15 Ibm Canada Limited-Ibm Canada Limitee Storing and restoring snapshots of a computer process
US7380239B1 (en) 2001-05-31 2008-05-27 Oracle International Corporation Method and mechanism for diagnosing computer applications using traces
US7376937B1 (en) * 2001-05-31 2008-05-20 Oracle International Corporation Method and mechanism for using a meta-language to define and analyze traces
US6912708B2 (en) 2001-06-28 2005-06-28 Sun Microsystems, Inc. Method and apparatus to facilitate debugging a platform-independent virtual machine
US8473922B2 (en) * 2001-09-19 2013-06-25 Hewlett-Packard Development Company, L.P. Runtime monitoring in component-based systems
US7143394B1 (en) * 2001-12-21 2006-11-28 Emc Corporation Analyzing software behavior
US6941492B1 (en) 2002-02-05 2005-09-06 Emc Corporation Debugging tool for efficient switching between targets in a multi-processor environment
US7134115B2 (en) * 2002-02-07 2006-11-07 Matsushita Electric Industrial Co., Ltd. Apparatus, method, and program for breakpoint setting
CA2383832A1 (en) * 2002-04-24 2003-10-24 Ibm Canada Limited-Ibm Canada Limitee System and method for intelligent trap analysis
US7512954B2 (en) * 2002-07-29 2009-03-31 Oracle International Corporation Method and mechanism for debugging a series of related events within a computer system
US7200588B1 (en) 2002-07-29 2007-04-03 Oracle International Corporation Method and mechanism for analyzing trace data using a database management system
US7165190B1 (en) 2002-07-29 2007-01-16 Oracle International Corporation Method and mechanism for managing traces within a computer system
CA2408457A1 (en) 2002-10-17 2004-04-17 Ibm Canada Limited-Ibm Canada Limitee Collection and detection of differences of values of expressions/variables when debugging a computer process
US20040111706A1 (en) * 2002-12-07 2004-06-10 Mogul Jeffrey Clifford Analysis of latencies in a multi-node system
US20050039169A1 (en) * 2003-08-14 2005-02-17 Yu-Cheng Hsu Integrated source code debugging apparatus method and system
JP2005301640A (ja) * 2004-04-12 2005-10-27 Hitachi Ltd スイッチ装置、記憶制御システム及びトレースデータ取得方法
US8640114B2 (en) * 2006-09-07 2014-01-28 Oracle America, Inc. Method and apparatus for specification and application of a user-specified filter in a data space profiler
US8185868B1 (en) 2004-12-20 2012-05-22 The Mathworks, Inc. System and method for cell-based code editing and publishing
US7817293B2 (en) * 2005-01-07 2010-10-19 Infoprint Solutions Company, Llc Trace and debug tool for high speed printer systems
US8266608B2 (en) * 2005-02-18 2012-09-11 Green Hills Software, Inc. Post-compile instrumentation of object code for generating execution trace data
US9152531B2 (en) * 2005-02-18 2015-10-06 Green Hills Sofware, Inc. Post-compile instrumentation of object code for generating execution trace data
US8813055B2 (en) * 2006-11-08 2014-08-19 Oracle America, Inc. Method and apparatus for associating user-specified data with events in a data space profiler
US8762956B1 (en) * 2007-01-31 2014-06-24 The Mathworks, Inc. Generating a report document from code
US8762951B1 (en) 2007-03-21 2014-06-24 Oracle America, Inc. Apparatus and method for profiling system events in a fine grain multi-threaded multi-core processor
JP5252014B2 (ja) * 2011-03-15 2013-07-31 オムロン株式会社 制御装置、制御システム、ツール装置および収集指示プログラム
CN103778044B (zh) * 2012-10-23 2017-05-17 伊姆西公司 用于系统故障诊断和修复的方法和装置
US9317317B2 (en) 2013-06-12 2016-04-19 International Business Machines Corporation Implementing concurrent device driver maintenance and recovery for an SRIOV adapter in a virtualized system
US9111046B2 (en) 2013-06-12 2015-08-18 International Business Machines Corporation Implementing capacity and user-based resource allocation for a shared adapter in a virtualized system
US9720775B2 (en) 2013-06-12 2017-08-01 International Business Machines Corporation Implementing concurrent adapter firmware update for an SRIOV adapter in a virtualized system
US9304849B2 (en) 2013-06-12 2016-04-05 International Business Machines Corporation Implementing enhanced error handling of a shared adapter in a virtualized system
US9400704B2 (en) 2013-06-12 2016-07-26 Globalfoundries Inc. Implementing distributed debug data collection and analysis for a shared adapter in a virtualized system
US9323620B2 (en) 2013-06-12 2016-04-26 International Business Machines Corporation Implementing shared adapter configuration updates concurrent with maintenance actions in a virtualized system
US8990784B2 (en) 2013-06-28 2015-03-24 International Business Machines Corporation Determining control flow divergence due to variable value difference
US9477579B2 (en) * 2013-08-09 2016-10-25 Freescale Semiconductor, Inc. Embedded software debug system with partial hardware acceleration
US9547581B2 (en) 2013-10-01 2017-01-17 Wipro Limited Systems and methods for fixing software defects in a binary or executable file
TWI615708B (zh) * 2017-03-17 2018-02-21 致伸科技股份有限公司 嵌入式裝置除錯系統及其方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0520122A (ja) * 1991-07-12 1993-01-29 Nippon Telegr & Teleph Corp <Ntt> リモートデバツグ方法
JPH0540658A (ja) * 1991-08-06 1993-02-19 Shikoku Nippon Denki Software Kk 磁気デイスク制御装置
JPH05241891A (ja) * 1992-02-26 1993-09-21 Nec Corp トレーサ回路
JPH09259004A (ja) * 1996-03-27 1997-10-03 Nippon Denki Ido Tsushin Kk デバッグ方法
JPH1011321A (ja) * 1996-06-25 1998-01-16 Saitama Nippon Denki Kk 実行トレース機能付きマイクロプロセッサ
JPH10283222A (ja) * 1997-04-03 1998-10-23 Mitsubishi Electric Corp エミュレータ方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5127103A (en) * 1987-10-14 1992-06-30 North American Philips Corporation Real-time tracing of dynamic local data in high level languages in the presence of process context switches
US5175856A (en) * 1990-06-11 1992-12-29 Supercomputer Systems Limited Partnership Computer with integrated hierarchical representation (ihr) of program wherein ihr file is available for debugging and optimizing during target execution
US5450586A (en) * 1991-08-14 1995-09-12 Hewlett-Packard Company System for analyzing and debugging embedded software through dynamic and interactive use of code markers
DE69317982T2 (de) * 1992-10-09 1998-11-19 Sun Microsystems Inc Verfahren und Anlage zur Realzeitdatensammlung und Anzeigevorrichtung
US6158045A (en) * 1995-11-13 2000-12-05 Object Technology Licensing Corporation Portable debugging services utilizing a client debugger object and a server debugger object with flexible addressing support
US5832205A (en) * 1996-08-20 1998-11-03 Transmeta Corporation Memory controller for a microprocessor for detecting a failure of speculation on the physical nature of a component being addressed
US6199152B1 (en) * 1996-08-22 2001-03-06 Transmeta Corporation Translated memory protection apparatus for an advanced microprocessor
JP3260083B2 (ja) * 1996-09-03 2002-02-25 株式会社東芝 デバッグシステム及びデバッグ方法
US6154856A (en) * 1997-04-08 2000-11-28 Advanced Micro Devices, Inc. Debug interface including state machines for timing synchronization and communication
US6161216A (en) * 1998-04-29 2000-12-12 Emc Corporation Source code debugging tool

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0520122A (ja) * 1991-07-12 1993-01-29 Nippon Telegr & Teleph Corp <Ntt> リモートデバツグ方法
JPH0540658A (ja) * 1991-08-06 1993-02-19 Shikoku Nippon Denki Software Kk 磁気デイスク制御装置
JPH05241891A (ja) * 1992-02-26 1993-09-21 Nec Corp トレーサ回路
JPH09259004A (ja) * 1996-03-27 1997-10-03 Nippon Denki Ido Tsushin Kk デバッグ方法
JPH1011321A (ja) * 1996-06-25 1998-01-16 Saitama Nippon Denki Kk 実行トレース機能付きマイクロプロセッサ
JPH10283222A (ja) * 1997-04-03 1998-10-23 Mitsubishi Electric Corp エミュレータ方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007004793A (ja) * 2005-06-20 2007-01-11 Seagate Technology Llc 組込型処理装置システム用コードカバレッジ測定方法及び装置
JP2009252247A (ja) * 2008-04-07 2009-10-29 Internatl Business Mach Corp <Ibm> デバッガ・データ・プロセシング・システム、デバッギング方法およびコンピュータ・プログラム

Also Published As

Publication number Publication date
DE69919404D1 (de) 2004-09-16
WO2000041078A1 (en) 2000-07-13
US6311326B1 (en) 2001-10-30
ATE273535T1 (de) 2004-08-15
EP1145125A1 (en) 2001-10-17
JP2006344249A (ja) 2006-12-21
EP1145125B1 (en) 2004-08-11
DE69919404T2 (de) 2005-08-04

Similar Documents

Publication Publication Date Title
JP2002534736A (ja) オンラインでデバッグ及び追跡を行う装置及び方法
US7185320B2 (en) System and method for processing breakpoint events in a child process generated by a parent process
US5896536A (en) Data triggered trace support for debugging object oriented programs
US6981248B2 (en) Conditional breakpoint encountered indication
US8572577B2 (en) Monitoring changes to data within a critical section of a threaded program
US6587967B1 (en) Debugger thread monitor
US7707395B2 (en) Data processing system with trace co-processor
US6634020B1 (en) Uninitialized memory watch
US9111033B2 (en) Compiling source code for debugging with user preferred snapshot locations
US7415699B2 (en) Method and apparatus for controlling execution of a child process generated by a modified parent process
US8291379B2 (en) Runtime analysis of a computer program to identify improper memory accesses that cause further problems
US7216336B1 (en) Sequential event monitoring module
US20050268195A1 (en) Apparatus and method for improving emulation speed of high-level languages in on-chip emulation systems
US7802149B2 (en) Navigating trace data
JP2007500401A (ja) ソフトウェアデバッギング用装置とその方法
US6978399B2 (en) Debug thread termination control points
TW201616356A (zh) 偵錯韌體/軟體以產生追蹤資料之系統與方法、記錄媒體及電腦程式產品
US8533683B2 (en) Stack walking enhancements using sensorpoints
US20080127118A1 (en) Method and system for dynamic patching of software
US5737521A (en) Tracer system for analyzing errors in running real-time systems
CN109542341B (zh) 一种读写io监测方法、装置、终端及计算机可读存储介质
CN100386733C (zh) 芯片电子硬件上具有中止执行能力的除错支援单元及方法
US7827540B2 (en) Method for program debugging
CN101237350B (zh) 用于多任务环境单板机的全局变量异常改写定位方法
US6983454B2 (en) Extended “run to” function

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050208

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050428

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051018

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060118

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060418

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060530