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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software 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
Description
ッグ・ツールを用いて設定された追跡点を使用するソフトウエア・プログラムの
デバッグ方法に関する。
来の意図された性能及び作動を妨害するエラーすなわち「バグ」を包含する可能
性が高まることになる。そこでプログラムは、そのプログラムにおけるエラーの
所在を探し出し、修正を行う過程であるデバッグをされることになる。複雑なプ
ログラムにおいて、デバッグを行う過程は極めて困難であるに違いなく、その結
果、ソフトウエアをデバッグする1つのアプローチとしては、コード内の場所場
所において区切り点挿入を使用することである。そうすると、ソース・コード・
プログラムの実行は、区切り点に遭遇する度に停止し、プログラマがその区切り
点におけるプログラムの特定の変数の状態、従って、その区切り点でのプログラ
ムの挙動を観察することを可能にする。
、システムに対して極めて阻害的であり得る。従って、例えばEMCシンメトリ
クス・シリーズ製品などの大きな共有データ記憶サブシステムにおいてプログラ
ムを停止させることは、事実上、全てのデータ読み取り、書き込み、及び、キャ
ッシング処理を停止させる。この時点で、データの流れが約数分程度又はそれ以
上に亘って阻害される可能性があるのみならず、例えば別の外部サブシステムが
次に回復モードに入ってくる可能性があるため、システムの挙動、従ってエラー
解析もシステムの停止によって完全に覆い隠される可能性がある。
るデータを記憶することが知られてきた。このアプローチは、必要に応じて、後
々の検査及び解析用に同時にデータ収集を行うが、システム割り込みを行わない
という利点を有する。そのようなシステムは、一般に、ユーザがシステムのソフ
トウエア及び追跡点を動的に改める又は変更する、又は、プログラムが続いてい
る時、同時発生的にシステム・ソフトウエアを解析することを可能にしない。
ることができ、例えば大きな共有データ記憶システムにおいてソフトウエア・プ
ログラムが作動したままオンラインで即座のそして確実な対話を可能にする。更
に、本発明の方法及び装置は、システムのデバッグを行うオンラインのアクセス
を都合良く準備する一方で、同時にソース・コードの作動で生じる如何なるエラ
ーをも覆い隠すように実質的にシステム作動を阻害することがない。
の方法及び装置に関する。この方法は、追跡点位置(番地)及びそれら追跡点に
おいて収集されるデータ及び変数をホストマシンにおけるソフトウエアに形成す
る段階、追跡点位置及び変数を、例えばデバッグ・スクリプトの形で目標マシン
に送信する段階、デバッグ・スクリプトを実行するために目標マシンにスタブ・
プログラムを保持する段階、追跡点に到達した時にホストマシンのデバッグ・ス
クリプトによって識別される変数を表すデータ及び変数を所定の追跡点において
スタブ・プログラムを使用して収集する段階、及び、ホストマシンからの要求に
応じて、収集されたデータをオンラインで目標マシンの作動に著しい割り込みや
停止させたりすることなく送信する段階を特徴とする。特定の実施形態において
、目標マシンはディスク駆動機構制御装置である。
トマシンのデバッグ・スクリプトによって指定され、追跡点に到達して通過する
時にデータが収集される各変数の位置を、数式の値を求めて目標マシンにおいて
判断する段階を特徴とする。別の態様において、追跡点は、ホストマシンにおい
て自動的に設定されてもよく、変数は、ホストマシンにおいて自動的に識別され
る。 別の態様において、本発明によると収集されたデータは、記憶のために目標マ
シンのバッファに仕向けられ、バッファが溢れた場合、データがバッファを循環
して古いデータを消去し、それを新しいデータと入れ替える。このようにして、
データの最新フレームのみがバッファに保たれる。
用ソフトウエア(スタブ)を準備し、ホストマシンと、追跡点位置及びソフトウ
エアによって収集される変数をホストマシンにおいて形成する構成要素と、目標
マシンに追跡点位置及び変数を送信する回路と、目標マシンにおいてスタブ・プ
ログラムを実行する回路と、ホストマシン上のユーザによって選択された変数を
表すデータをスタブ・プログラムを使用して収集する回路とを含む。追跡点に到
達した時、回路は、目標マシンの作動を停止させることなく、収集されたデータ
をオンラインでホストマシンに送信する。
アのデバッグをホストコンピュータから行う、コンピュータが実装された装置で
ある。本発明は、目標マシン及びホストコンピュータの両方においてソフトウエ
ア媒体を準備し、追跡点位置及び目標マシンのソフトウエアによって収集される
変数をホストコンピュータにおいて形成する段階と、追跡点位置及び変数を目標
マシンに送信する段階と、目標マシンにおいてスタブ・プログラムを実行する段
階と、追跡点に到達して通過した時に、例えばホストコンピュータのユーザによ
って選択された変数を表すデータをスタブ・プログラムを使用して収集する段階
と、目標マシンの作動を停止させることなく、収集されたデータをオンラインで
ホストコンピュータに供給する段階とを実行する。 本発明の方法及び装置は、従って、目標マシンの作動妨害を最小限度に抑えつ
つ、目標コンピュータ又は駆動機構制御装置のデバッグを都合良く可能にする。 本発明の他の形態及び利点は、本発明の以下の説明を図面と共に検討すること
により、当業者には明らかになるであろう。
2a、12b、...、12nがEMCシンメトリクスのディスク・アレー・メ
モリ・システムなどのメモリ・モジュール・システム14に接続されるコンピュ
ータ・システムに関する。メモリ・モジュール14は、ホストコンピュータと、
例えばディスク駆動機構16a、16b、...、16kなどの複数の大量記憶
装置との間のインタフェースとしての役目を果たす。ホストによって書き込まれ
た、又は、ディスク駆動機構構成要素によって読み出されたデータは、かなりの
能力を有する2方向通信経路としての役目を果たすメモリ・モジュール・システ
ムを通過する。例えば、あるシステムでは、ホストからのデータは、ディスク記
憶装置の全て又は幾つかに亘って一様にストライプされ、また、別のシステムで
は、ホストからのデータは、ディスク駆動機構16上にRAID(遠隔アクセス
対話式デバッギングプログラム)プロトコルに従って記憶される。本発明の更に
別の実施形態において、特定のホストからのデータの全ては、データ及びホスト
の性質及びソース次第で、1つのディスク駆動機構、又は、同じ又は別のディス
ク駆動機構の異なる論理容量に記憶できる。ホストコンピュータはまた、1つ又
はそれ以上のディスク駆動機構ユニットからデータを読み取ることができる。
ストールされたソフトウエアの「バグ」などのシステムの性能を損なう問題が起
きる場合、その問題は、ホスト、メモリ・モジュール、ディスク駆動機構構成要
素、又は、それらの組合せのいずれかに起きる可能性がある。問題を解析して修
正するためには、顧客コンピュータ(又は、複数のコンピュータ)又は制御装置
の作動を下げないことが必要であり、もしそうなれば、それらがオフライン状態
に置かれ、恐らくは顧客の業務能力を顕著に損なうことになる。本発明によれば
、従って、例えばソフトウエアのバグが疑われる場合、又は、システム作動の選
択されたイベント時刻においてシステム・パラメータを読み出すために、追跡点
がソフトウエアに挿入され、顧客システムにおける如何なる実質的な性能低下を
も強いることなくデータが収集される。次に、以下に説明されるように、データ
は、システム作動に対して実質的に低下、停止、又は、それ以外に干渉を与える
ことなく、解析用に遠隔操作的に収集することができる。
は、全てのデータ及び指令がそれを通って流れる大域メモリ32に接続される複
数のチャネル・ディレクタ30(SCSIプロトコルに従って作動する場合、最
も頻繁にはSCSIアダプタと呼ばれる)を持つように形成される。この大域メ
モリ32は、ディスク駆動機構16に接続する複数のディスク・ディレクタ34
(同様に、通常はSCSIアダプタ)に接続される。本発明のこの特定の実施形
態によれば、各チャネル・ディレクタは、SCSIプロトコルを使用してチャネ
ル36及び38を通して作動する。各チャネル・ディレクタ30は、バス36を
通して1つ又はそれ以上のホストコンピュータに接続できる(一般的に、ポート
40につき1つのホスト入出力制御装置)。図示された実施形態において、監視
及び解析されることになるのは、ソフトウエアの作動である。
的に目標マシン402から遠く離れた場所に設置される。ホスト400及び目標
402は、モデム404及び406、及び、通信リンク408を通して通信する
。ホストマシンは、ソースファイル414、及び、目標マシンで実行されるプロ
グラムに対するコンパイルされた記号表416及びバイナリ実行可能ファイル4
18を包含する記憶装置412へのアクセスを有するソース・レベル・デバッガ
410を含む。一般に、記憶装置412は、異なる目標マシンで実行される様々
なバージョンのプログラムに対して多くのそのようなファイルの収集を包含する
。バイナリファイルは、目標マシンにおけるバイナリ実行可能プログラムファイ
ルと同一である。
れかの制御の下で、追跡点が目標マシンで実行される実行可能プログラムに挿入
されることになる番地のほか、変数に対する番地(又は、そのような番地を決め
るための数式)を記号表416を使用して識別する。そのデータは、通信リンク
408を通して目標マシンに送信される。スタブ・プログラムは、目標マシンに
おいてそのデータを使用して追跡点番地でトラップを挿入し、それにより、各追
跡点で必要データが収集されて追跡バッファ420に記憶される。スタブ・プロ
グラム422は、その作動プログラムの一部として目標マシンに含まれる。従っ
て、通常の作動においては、プログラムがコンパイルされ、リンクされ、バイナ
リの実行可能形式で目標マシンにロードされる一方で、バイナリファイル418
及び記号ファイル416に記憶される。ユーザ又はシステムは、次に、追跡点及
び収集されるデータを形成し、その設定情報を目標マシンに送信する。次に、追
跡点に当たる度に適切なデータが収集され、追跡プログラムは、以下に説明され
るように終了される。次に、追跡バッファに収集されたデータの全て又は一部に
ついて、「事後」解析が実行される。
ラムは、一般に目標マシンの場所から遠く離れているホストコンピュータにおい
て開始される。このことは、98で示されている。デバッグ・プログラムは、ユ
ーザの制御の下、ソース・コード・ウインドウを開く。ホストコンピュータにお
いて、それは画面上のウインドウであり、それによってデバッグ情報が作りださ
れる。このことは、段階100で示されている。ユーザは、次に、ここでは制御
装置システム14である目標マシンで実行されるプログラムを識別し、デバッガ
は、デバッガが目標マシンで実行されているのと同じバージョンのプログラムを
有することを確認する。このことは、101で示されている。ユーザは、デバッ
グされるプログラムに一連の追跡点を自動又は手動のいずれかにより設定する。
このことは、段階102で示されている。追跡点の手動設定は、一般的にプログ
ラムのソース・コード・レベルで実行される。ユーザは、各追跡点と共に変数を
手動又は自動のいずれかで識別し、そのためのデータは、追跡点が到達すなわち
「当たる」度に収集される。追跡点を自動で設定する場合、本明細書においてそ
の内容が参照文献として援用されている1998年4月29日提出で現在出願中
の「ソース・コード・デバッグ用ツールの応用」という名称の米国特許出願番号
第09/069、608号に説明されているものなどの方法を使用できる。一旦
デバッグの設定がユーザによって完了されると、ホストは、目標マシンに存在す
る実行可能コードにより追跡点の位置を目標マシンに送信する。伝送されたデー
タの書式は、数式が送信されることを可能にし、目標とする変数の位置をそこか
ら目標マシンにおいて導き出すことができる。このことは、103で示されてい
る。一般に、番地や式は、プログラムの実行可能コードを作り出す際にコンパイ
ラによって普通に作成及び記憶される記号表に見出される変数から派生している
。記号表は、ホストマシンで手に入れることができる。この番地及び式の情報は
、スタブ・プログラムによりそこでの作動に使用するために104において目標
マシンに伝送される(デバッグ設定データとして)。目標及びホストシステムは
、例えばインターネットを通して、モデム又は高速通信バスによって接続できる
。目標マシンにおいて、いわゆる「スタブ」は、105においてデバッグ設定デ
ータを実行するために作動し、デバッグされるソフトウエアの作動の間に関連デ
ータを収集する。この点で、スタブ・プログラムは、ホストシステムによって識
別された追跡点番地でトラップを挿入し、「トラップ」に到達される、すなわち
当たる度に必要データを収集する。
を捕獲するために各追跡点番地で作動し、必要データを収集する。このことは、
110で示されている。追跡点が当てられた場合、スタブは、ホストによって供
給された式の値を求めることにより目標からデータを獲得するために作動し(変
数の物理的な番地は、時々刻々変わる可能性がある)、獲得されたデータを目標
バッファに記憶する。このことは、112で示されている。目標バッファが満杯
になった場合、図示された本発明の実施形態においては、古い以前に収集された
データが上書きされるようにバッファが循環する。 スタブは、従って、例えそれが数値又は表式レベルで指定されても、デバッグ
設定で指定される変数データを収集するように作動する。すなわち、スタブは、
本発明の好ましい実施形態の書式の逆ポリッシュ表記で作業する表式エバリュエ
ータを有し、それは、スタブが変数又は収集される変数の番地を、例え変数の番
地が時々刻々プログラムにおいて変化し得るとしても、決めることを可能にする
。
が到達されたか、又は、ホスト又は目標システムによって指定された時間が経過
した場合、又は、ユーザが発生させたアクセス指令が目標システムによって受領
された時、収集及び記憶されたデータは、目標マシン又は監視されたプログラム
の作動を実質的に中断することなく、すなわち、目標マシンが作動を継続しなが
ら、ホストマシンによって指定されるように全部又は一部をオフ・ロードするこ
とができる。特定の態様においては、追跡点に対するパス・カウントが到達され
る場合、データ収集が自動的に中断することになり、データは、自動的に又はホ
ストにおけるユーザの制御の下で、ホストに利用可能にされることになる。例え
ば、パス・カウントが1の場合、特定の追跡点が最初に到達された時にデータが
収集されることになり、検査及び解析用としてホストに即座に利用可能にするこ
とができる。収集されたデータが追加のデータが収集されている間にホストに返
却することができることも、同様に明白であるはずである。このことは、段階1
20で示されている。オフ・ロードする過程は、段階130で示されるように、
ホストによって実行及び制御することができる。特定の実施形態において、ホス
トは、限定され明確に規定されたデータのダウンロードを得るために、目標に探
索照会を送信する。
れることに注目することは重要である。このことは、例えば1ミリ秒程度を要す
る。これは、例えば区切り点に遭遇するや否や監視されているプログラムの停止
を引き起こし、ユーザ入力を待ち続けて1分、10分、又は、それ以上の中断を
必要とする可能性のあるシステムと比較すると顕著な改善である。結果として、
目標マシンの作動は、追跡点が実装されていないマシンのそれにより緊密に類似
する。勿論、目標マシンのソフトウエアのバージョンは、ホストコンピュータが
知っているものと同一でなければならない。 本発明の開示された好ましい実施形態における追加例、削除例、及び、他の変
更例は当業者にとって明らかであろうし、また、添付請求項の技術内容に包含さ
れる。
Claims (27)
- 【請求項1】 目標マシンにおいて実行されるソフトウエアをデバッグする
方法であって、 ホストマシンにおいて、前記ソフトウエアによって取得される追跡点位置及び
変数を形成する段階と、 前記追跡点位置及び変数を前記目標マシンに送信する段階と、 スタブ・プログラムを前記目標マシンで実行する段階と、 追跡点に到達した場合、前記スタブ・プログラムを使用して、前記ホストマシ
ンにより選択された前記変数を表すデータを収集する段階と、 前記目標マシンの作動を停止することなく、前記収集されたデータをオンライ
ンで前記ホストマシンに送信する段階と、 を含むことを特徴とする方法。 - 【請求項2】 各追跡点に対して、データが収集される各変数の位置を前記
目標マシンにおいて決める段階を更に含むことを特徴とする請求項1に記載の方
法。 - 【請求項3】 前記識別されたデータを収集してそれを記憶バッファに配送
するために、前記目標マシンにおいて前記スタブ・プログラムを使用する段階を
更に含むことを特徴とする請求項2に記載の方法。 - 【請求項4】 前記ホストマシンにおいて前記追跡点を自動的に選択する段
階と、 前記ホストマシンにおいて前記変数を自動的に識別する段階と、 を更に含むことを特徴とする請求項1に記載の方法。 - 【請求項5】 前記追跡点において前記目標マシンの前記ソフトウエア・コ
ードにトラップを達成する段階を更に含むことを特徴とする請求項1に記載の方
法。 - 【請求項6】 前記目標マシン及びホストマシンのうちの1つにより設定さ
れた停止時刻まで前記目標マシンにおいてデータを収集する段階を更に含むこと
を特徴とする請求項1に記載の方法。 - 【請求項7】 追跡点が所定回数だけ遭遇される場合、前記データ収集段階
を終了する段階を更に含むことを特徴とする請求項1に記載の方法。 - 【請求項8】 前記収集されたデータを目標マシン・バッファに記憶する段
階と、 前記目標マシン・バッファが満杯の場合、前記バッファを循環させる段階と、
を更に含むことを特徴とする請求項6に記載の方法。 - 【請求項9】 ディスク駆動機構制御装置において実行されるソフトウエア
をデバッグする方法であって、 ホストマシンにおいて、前記ソフトウエアによって取得される追跡点位置及び
変数を形成する段階と、 前記追跡点位置及び変数を前記ディスク駆動機構制御装置に送信する段階と、 スタブ・プログラムを前記ディスク駆動機構制御装置で実行する段階と、 追跡点に到達した場合、前記スタブ・プログラムを使用して、前記ホストマシ
ンにより選択された前記変数を表すデータを収集する段階と、 前記ディスク駆動機構制御装置の作動を停止することなく、前記収集されたデ
ータをオンラインで前記ホストマシンに供給する段階と、 を含むことを特徴とする方法。 - 【請求項10】 前記ディスク駆動機構制御装置がその通常の読み取り及び
書き込み作動を実行する一方で、前記追跡点において前記ディスク駆動機構制御
装置の前記ソフトウエア・コードにトラップを達成する段階を更に含むことを特
徴とする請求項9に記載の方法。 - 【請求項11】 前記供給段階は、前記ディスク駆動機構制御装置の作動を
中断することなく、前記収集されたデータを前記ホストマシンに供給する段階を
含むことを更に特徴とする請求項10に記載の方法。 - 【請求項12】 追跡点が所定回数だけ遭遇された場合、前記データ収集段
階を終了する段階を更に含むことを特徴とする請求項9に記載の方法。 - 【請求項13】 目標マシンにおいて実行されるソフトウエアをデバッグす
る装置であって、 ホストマシンにおいて、前記ソフトウエアによって取得される追跡点位置及び
変数を形成する手段と、 前記追跡点位置及び変数を前記目標マシンに送信する手段と、 スタブ・プログラムを前記目標マシンで実行する手段と、 追跡点に到達した場合、前記スタブ・プログラムを使用して、前記ホストマシ
ンにより選択された前記変数を表すデータを収集する手段と、 前記目標マシンの作動を停止することなく、前記収集されたデータをオンライ
ンで前記ホストマシンに送信する手段と、 を含むことを特徴とする装置。 - 【請求項14】 各追跡点の遭遇に対して、データが収集される各変数の位
置を前記目標マシンにおいて決める手段を更に含むことを特徴とする請求項13
に記載の装置。 - 【請求項15】 前記ホストマシンにおいて前記追跡点を自動的に選択する
手段と、 前記ホストマシンにおいて前記変数を自動的に識別する手段と、 を更に含むことを特徴とする請求項13に記載の装置。 - 【請求項16】 前記追跡点において前記目標マシンの前記ソフトウエア・
コードにトラップを達成する手段を更に含むことを特徴とする請求項13に記載
の装置。 - 【請求項17】 前記目標マシン及びホストマシンのうちの1つにより設定
された停止時刻まで前記目標マシンにおいてデータを収集する手段を更に含むこ
とを特徴とする請求項13に記載の装置。 - 【請求項18】 前記目標マシン及びホストマシンのうちの1つにより設定
された停止時刻まで前記目標マシンにおいてデータを収集する手段を更に含むこ
とを特徴とする請求項17に記載の装置。 - 【請求項19】 目標マシン・バッファと、 前記収集されたデータを目標マシン・バッファに記憶する手段と、 前記目標マシン・バッファが満杯の場合、前記バッファを循環させる手段と、
を更に含むことを特徴とする請求項17に記載の装置。 - 【請求項20】 目標マシンにおいて実行されるソフトウエアをホストコン
ピュータからデバッグするコンピュータが実装された装置であって、 磁気媒体に記憶されたソフトウエア・プログラムを含み、 ホストコンピュータにおいて、前記ソフトウエアによって取得される追跡点位
置及び変数を形成する段階と、 前記追跡点位置及び変数を前記目標マシンに送信する段階と、 スタブ・プログラムを前記目標マシンで実行する段階と、 追跡点を通過した場合、前記スタブ・プログラムを使用して、前記ホストコン
ピュータにより選択された前記変数を表すデータを収集する段階と、 前記目標マシンの作動を停止することなく、前記収集されたデータをオンライ
ンで前記ホストコンピュータに送信する段階と、 を必要とすることを特徴とする装置。 - 【請求項21】 各追跡点に対して、データが収集される各変数の位置を前
記目標マシンにおいて決める段階を含むソフトウエアを更に持つことを特徴とす
る請求項19に記載の装置。 - 【請求項22】 前記識別されたデータを収集してそれを記憶バッファに配
送するために、前記目標マシンにおいて前記スタブ・プログラムを使用する段階
を含むソフトウエアを更に持つことを特徴とする請求項20に記載の装置。 - 【請求項23】 前記ホストコンピュータにおいて前記追跡点を自動的に選
択する段階と、 前記ホストコンピュータにおいて前記変数を自動的に識別する段階と、 を含むソフトウエアを更に持つことを特徴とする請求項19に記載の装置。 - 【請求項24】 前記追跡点において前記目標マシンの前記ソフトウエア・
コードにトラップを達成する段階を含むソフトウエアを更に持つことを特徴とす
る請求項19に記載の装置。 - 【請求項25】 前記目標マシン及びホストコンピュータのうちの1つによ
り設定された停止時刻まで前記目標マシンにおいてデータを収集する段階を含む
ソフトウエアを更に持つことを特徴とする請求項19に記載の装置。 - 【請求項26】 前記収集されたデータを目標マシン・バッファに記憶する
段階と、 前記目標マシン・バッファが満杯の場合、前記バッファを循環させる段階と、 を含むソフトウエアを更に持つことを特徴とする請求項24に記載の装置。 - 【請求項27】 追跡点が所定回数だけ遭遇される場合、前記データ収集段
階を終了する段階を更に含むことを特徴とする請求項19に記載の方法。
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)
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)
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)
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)
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 |
-
1999
- 1999-01-04 US US09/224,921 patent/US6311326B1/en not_active Expired - Lifetime
- 1999-12-30 AT AT99967756T patent/ATE273535T1/de not_active IP Right Cessation
- 1999-12-30 WO PCT/US1999/031208 patent/WO2000041078A1/en active IP Right Grant
- 1999-12-30 EP EP99967756A patent/EP1145125B1/en not_active Expired - Lifetime
- 1999-12-30 DE DE69919404T patent/DE69919404T2/de not_active Expired - Lifetime
- 1999-12-30 JP JP2000592736A patent/JP2002534736A/ja active Pending
-
2006
- 2006-09-27 JP JP2006262594A patent/JP2006344249A/ja active Pending
Patent Citations (6)
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)
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 |