JP4901075B2 - コンピュータ読取可能な媒体、方法及びコンピューティングデバイス - Google Patents
コンピュータ読取可能な媒体、方法及びコンピューティングデバイス Download PDFInfo
- Publication number
- JP4901075B2 JP4901075B2 JP2004125956A JP2004125956A JP4901075B2 JP 4901075 B2 JP4901075 B2 JP 4901075B2 JP 2004125956 A JP2004125956 A JP 2004125956A JP 2004125956 A JP2004125956 A JP 2004125956A JP 4901075 B2 JP4901075 B2 JP 4901075B2
- Authority
- JP
- Japan
- Prior art keywords
- debug
- code
- probe
- processing function
- calling
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
-
- 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/3624—Software debugging by performing operations on the source code, e.g. via a compiler
Description
上述した通常のデバッグ技法の制限に対処するため、デバッグ動作中に関心のないコードを自動的にスキップするジャストマイコード(JMC)デバッグのシステムおよび方法を説明する。説明において、関心のないコードとは、どのような理由であれ、その時にプログラマのデバッグの努力を生じさせないと思われるコード(たとえば、プログラマが記述したものでないコード、既にデバッグされたコードなど)のことである。「関心のあるコード」とは、デバッグ動作中にプログラマにとって関心のあるものなので、関心のないコードから類推(corollary)される。
図面を参照すると、等しい符号は等しい要素を指しており、本発明は適切なコンピューティング環境で実施されるものとして図示されている。必ずしも必要ではないが、パーソナルコンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の全般的な文脈で本発明を説明する。プログラムモジュールには、全般的に特定のタスクを実行するか、または特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。
if(*pFlag){call JMC_Probe}
ここで、pFlagは、対応するフラグ222へのコンパイル時定数ポインタである(「*」は、アドレスが、関連するフラグ222の値を得るために実行時に参照先の値を取得することを示す)。プローブ224の「JMC_Probe」部分は、JMC_Probe関数226への呼出しである。ポインタ間接指定の使用によって、pFlagsがそれに関して挿入された複数のプログラミング構造からのpFlagsはすべて、同一のフラグ222を指示することができる。
JMCステップインである場合、デバッグサービス214によって、すべてのJMC_probe224がアクティブ化され、ステップインを行っているメソッドへの呼出しの後にブレークポイントが置かれる(JMC_Probeによって挿入されるブレークポイントではない)。JMCプローブ224は、すべての関心のあるコードの先頭にあり、プローブがアクティブ化されているので、呼出しによって最終的に「関心のある」コードが(おそらくは、最終的に「関心のある」コードを呼び出す関心のない/フレームワークコードの呼出しによって間接的に)呼び出される場合、スレッドは、アクティブ化されたプローブに到達し、このプローブによって、TriggerMethodEntry230が呼び出され、スレッドが停止されてステップは関心のあるコード内で完了する。呼出しによって、関心のあるコードが呼び出されない場合には、スレッドは、ステップイントゥが行われるメソッドの呼出しの後に挿入されたブレークポイント(すなわち、JMC_Probeによって挿入されたブレークポイント234でないブレークポイント)に到達し、JMCステップイン動作は完了する。このようにして、プロセス202は、JMCステップインが開始される時とそれが終了する時の間にフルスピードで(すなわち、中間ブレークポイントオペコードによって割り込まれることなく)動作する。
図3に、JMCデバッグの例示の手順300を示す。説明を目的として、手続き動作は、図1および2のプログラムモジュールおよびデータの特徴に関し説明される。ブロック302において、デバッガ206(図2)により、関心のあるコンピュータプログラムプログラミング構造(たとえば、オブジェクトメソッドおよび/または静的関数)が識別される。一実施形態では、これは、一態様としてのユーザ入力インターフェース144(図1)へユーザ入力を行うことによって達成される。たとえば、ユーザはデバッグサービスによりダイアログボックスに表示される複数のメソッドの特定の1つを(たとえば、ポインティングデバイス、キーボード、音声アクティベーテッドテクニックなどにより)選択することができ、またはユーザは、コマンドラインインターフェースおよび/またはその他のものにプログラミング構造の名前を入力することができる。ユーザ入力は、関心のあるコードリスト/ID212(図2)に保存され、リスト/ID212がランタイムコンパイラ220(図2)によって読み取られ、該当するプログラミング構造(すなわち関心のあるコード)が識別される。
本明細書に記載のシステムおよび方法によって、JMCデバッグがもたらされる。システムおよび方法は、構造的特徴および方法論的動作に固有の言語で説明されたが、請求項で定義される主題は、必ずしも説明した特定の特徴または動作に制限されない。むしろ、特定の特徴および動作は、請求される主題を実施する例示的な形態として開示される。
204 プライマリコンパイラ
206 デバッグプログラム(「デバッガ」)
208 共有ランタイムコンポーネント(「ランタイム」)
210 ネイティブコード
212 関心のあるコードのリスト
214 デバッグサービス
216 デバッグAPI
220 JITコンパイラ
222 フラグ
224 デバッグプローブ
226 JMC_Probe関数
228 JMCステッピングコマンド
230 TriggerMethodEntry
232 他のデータ
234 ブレークポイント
Claims (29)
- デバッグに関するコンピュータプログラム命令を含むコンピュータ読取可能な媒体であって、前記コンピュータプログラム命令はプロセッサにより実行可能であり、
ユーザ入力によって生成されたコードを含むプログラムコードのリストを生成するステップであって、前記リストとアセンブリとを比較することにより、ユーザ入力によって生成されたコード部分とユーザ入力によって生成されていないコード部分とが区別される、ステップと、
ネイティブコードに、デバッグ処理関数への呼出し及びコンパイル時定数ポインタを含むプログラムコードであるデバッグプローブとグローバル変数であるフラグとを挿入するステップであって、前記デバッグプローブは、前記コンパイル時定数ポインタにより、コンパイル時における前記デバッグプローブと関連付けられたフラグを参照し、前記フラグが0でない値を示す場合にデバッグ処理関数を呼び出すことが記述され、前記デバッグプローブ及び前記フラグは、前記ネイティブコードを生成するためのコンピュータプログラムコンパイル動作中に挿入される、ステップと、
前記ネイティブコードをプロセスとして実行するステップであって、前記プロセスは、ステッピング動作を実行する1つまたは複数の実行のスレッドを含み、前記実行のスレッドが前記プロセスを介してステッピング動作を実行中に前記デバッグ処理関数を呼び出しているデバッグプローブに到達すると、当該到達したデバッグプローブに関連するコード部分の命令ポインタが前記リストに示されている場合に、前記実行のスレッドを停止する、ステップと
を実行するためのコンピュータプログラム命令を含むことを特徴とするコンピュータ読取可能な媒体。 - 前記ネイティブコードは、クラスメソッドおよび/または静的関数であることを特徴とする請求項1に記載のコンピュータ読取可能な媒体。
- 前記ステッピング動作は、デバッガによるステップインコマンド、ステップアウトコマンド、およびステップオーバコマンドの発行を含むことを特徴とする請求項1に記載のコンピュータ読取可能な媒体。
- 前記デバッグ処理関数を呼び出しているデバッグプローブに到達することに応答して、前記デバッグ処理関数を呼び出しているデバッグプローブに対応する前記コンパイル時定数ポインタの参照先の値を取得するステップと、
前記デバッグ処理関数を呼び出しているデバッグプローブの後のコードの行で前記スレッドを停止させるステップと、
を実行するためのコンピュータプログラム命令をさらに含むことを特徴とする請求項1に記載のコンピュータ読取可能な媒体。 - 前記デバッグ処理関数を呼び出しているデバッグプローブに到達することに応答して、前記デバッグ処理関数を呼び出しているデバッグプローブに対応する前記コンパイル時定数ポインタの参照先の値を取得するステップと、
前記デバッグ処理関数を呼び出しているデバッグプローブの後のコードの行で前記スレッドを停止するステップと、
前記デバッグプローブの各々に関連付けられたフラグの値を0にするステップと
を実行するためのコンピュータプログラム命令をさらに含むことを特徴とする請求項1に記載のコンピュータ読取可能な媒体。 - 前記デバッグ処理関数を呼び出しているデバッグプローブに到達することに応答して、前記デバッグ処理関数を呼び出しているデバッグプローブに対応する前記コンパイル時定数ポインタの参照先の値を取得するステップと、
前記スレッドによりステップインが行なわれているコード部分への呼出しの直後のコードの行にブレークポイントを置くステップと
を実行するためのコンピュータプログラム命令をさらに含むことを特徴とする請求項1に記載のコンピュータ読取可能な媒体。 - 前記デバッグ処理関数を呼び出しているデバッグプローブに到達することに応答して、前記デバッグ処理関数を呼び出しているデバッグプローブに対応する前記コンパイル時定数ポインタの参照先の値を取得するステップと、
前記到達したデバッグプローブに関連するコード部分への第1スタックフレームの戻りアドレスを識別するステップと、
前記戻りアドレスにブレークポイントを置くステップと
を実行するためのコンピュータプログラム命令をさらに含むことを特徴とする請求項1に記載のコンピュータ読取可能な媒体。 - 前記ネイティブコードの特定の1つとして前記ユーザ入力によって生成されたコードを識別するためのコンピュータプログラム命令をさらに含むことを特徴とする請求項1に記載のコンピュータ読取可能な媒体。
- 前記ネイティブコードは、ユーザインターフェース、コマンドライン、および/または構成ファイルデータ入力を介して識別されることを特徴とする請求項8に記載のコンピュータ読取可能な媒体。
- デバッグの方法であって、
ユーザ入力によって生成されたコードを含むプログラムコードのリストを生成するステップであって、前記リストとアセンブリとを比較することにより、ユーザ入力によって生成されたコード部分とユーザ入力によって生成されていないコード部分とが区別される、ステップと、
ネイティブコードに、デバッグ処理関数への呼出し及びコンパイル時定数ポインタを含むプログラムコードであるデバッグプローブとグローバル変数であるフラグとを挿入するステップであって、前記デバッグプローブは、前記コンパイル時定数ポインタにより、コンパイル時における前記デバッグプローブと関連付けられたフラグを参照し、前記フラグが0でない値を示す場合にデバッグ処理関数を呼び出すことが記述され、前記デバッグプローブ及び前記フラグは、前記ネイティブコードを生成するためのコンピュータプログラムコンパイル動作中に挿入される、ステップと、
前記ネイティブコードをプロセスとして実行するステップであって、前記プロセスは、ステッピング動作を実行する1つまたは複数の実行のスレッドを含み、前記実行のスレッドが前記プロセスを介してステッピング動作を実行中に前記デバッグ処理関数を呼び出しているデバッグプローブに到達すると、当該到達したデバッグプローブに関連するコード部分の命令ポインタが前記リストに示されている場合に、前記実行のスレッドを停止する、ステップと
を備え、ステッピング動作は、ステップイン動作、ステップアウト動作、またはステップオーバ動作を含むことを特徴とする方法。 - 前記ネイティブコードは、それぞれクラスメソッドおよび/または静的関数であることを特徴とする請求項10に記載の方法。
- 前記デバッグ処理関数を呼び出しているデバッグプローブに到達することに応答して、前記デバッグ処理関数を呼び出しているデバッグプローブに対応する前記コンパイル時定数ポインタの参照先の値を取得するステップと、
前記デバッグ処理関数を呼び出しているデバッグプローブの後のコードの行で前記スレッドを停止させるステップと、
を含むことを特徴とする請求項10に記載の方法。 - 前記デバッグ処理関数を呼び出しているデバッグプローブに到達することに応答して、前記デバッグ処理関数を呼び出しているデバッグプローブに対応する前記コンパイル時定数ポインタの参照先の値を取得するステップと、
前記デバッグ処理関数を呼び出しているデバッグプローブの後のコードの行で前記スレッドを停止させるステップと、
前記デバッグプローブの各々に関連付けられたフラグの値を0にするステップと
をさらに備えたことを特徴とする請求項10に記載の方法。 - 前記デバッグ処理関数を呼び出しているデバッグプローブに到達することに応答して、前記デバッグ処理関数を呼び出しているデバッグプローブに対応する前記コンパイル時定数ポインタの参照先の値を取得するステップと、
前記スレッドによりステップインが行なわれているコード部分への呼出しの直後のコードの行にブレークポイントを置くステップと
をさらに備えたことを特徴とする請求項10に記載の方法。 - 前記デバッグ処理関数を呼び出しているデバッグプローブに到達することに応答して、前記デバッグ処理関数を呼び出しているデバッグプローブに対応する前記コンパイル時定数ポインタの参照先の値を取得するステップと、
前記到達したデバッグプローブに関連するコード部分への第1スタックフレームの戻りアドレスを識別するステップと、
前記戻りアドレスにブレークポイントを置くステップと
をさらに備えたことを特徴とする請求項10に記載の方法。 - 前記ユーザ入力によって生成されたコードを、前記ネイティブコードの所定の1つと識別するステップをさらに備えたことを特徴とする請求項11に記載の方法。
- デバッグ用のコンピューティングデバイスであって
プロセッサと、
前記プロセッサに結合されたメモリであって、
ユーザ入力によって生成されたコードを含むプログラムコードのリストを生成するステップであって、前記リストとアセンブリとを比較することにより、ユーザ入力によって生成されたコード部分とユーザ入力によって生成されていないコード部分とが区別される、ステップと、
ネイティブコードに、デバッグ処理関数への呼出し及びコンパイル時定数ポインタを含むプログラムコードであるデバッグプローブとグローバル変数であるフラグとを挿入するステップであって、前記デバッグプローブは、前記コンパイル時定数ポインタにより、コンパイル時における前記デバッグプローブと関連付けられたフラグを参照し、前記フラグが0でない値を示す場合にデバッグ処理関数を呼び出すことが記述され、前記デバッグプローブ及び前記フラグは、前記ネイティブコードを生成するためのコンピュータプログラムコンパイル動作中に挿入される、ステップと、
前記ネイティブコードをプロセスとして実行するステップであって、前記プロセスは、ステッピング動作を実行する1つまたは複数の実行のスレッドを含み、前記実行のスレッドが前記プロセスを介してステッピング動作を実行中に前記デバッグ処理関数を呼び出しているデバッグプローブに到達すると、当該到達したデバッグプローブに関連するコード部分の命令ポインタが前記リストに示されている場合に、前記実行のスレッドを停止する、ステップと
を実行するための命令を含む前記プロセッサによって実行可能なコンピュータプログラム命令を含むメモリと
を備えたことを特徴とするコンピューティングデバイス。 - ステッピング動作は、デバッガによるステップインコマンド、ステップアウトコマンド、およびステップオーバコマンドの発行を含むことを特徴とする請求項17に記載のコンピューティングデバイス。
- 前記デバッグ処理関数を呼び出しているデバッグプローブに到達することに応答して、前記デバッグ処理関数を呼び出しているデバッグプローブに対応する前記コンパイル時定数ポインタの参照先の値を取得するステップと、
前記デバッグ処理関数を呼び出しているデバッグプローブの後のコードの行で前記スレッドを停止させるステップと
を実行するための命令をさらに含むことを特徴とする請求項17に記載のコンピューティングデバイス。 - 前記デバッグ処理関数を呼び出しているデバッグプローブに到達することに応答して、前記デバッグ処理関数を呼び出しているデバッグプローブに対応する前記コンパイル時定数ポインタの参照先の値を取得するステップと、
前記デバッグ処理関数を呼び出しているデバッグプローブの後のコードの行で前記スレッドを停止させるステップと、
前記デバッグプローブの各々に関連付けられたフラグの値を0にするステップと
を実行するための命令をさらに含むことを特徴とする請求項17に記載のコンピューティングデバイス。 - 前記デバッグ処理関数を呼び出しているデバッグプローブに到達することに応答して、前記デバッグ処理関数を呼び出しているデバッグプローブに対応する前記コンパイル時定数ポインタの参照先の値を取得するステップと、
前記スレッドによりステップインが行なわれているコード部分への呼出しの直後のコードの行にブレークポイントを置くステップと
を実行するための命令をさらに含むことを特徴とする請求項17に記載のコンピューティングデバイス。 - 前記デバッグ処理関数を呼び出しているデバッグプローブに到達することに応答して、前記デバッグ処理関数を呼び出しているデバッグプローブに対応する前記コンパイル時定数ポインタの参照先の値を取得するステップと、
前記到達したデバッグプローブに関連するコード部分への第1スタックフレームの戻りアドレスを識別ステップと、
前記戻りアドレスにブレークポイントを置くステップと
を実行するための命令をさらに含むことを特徴とする請求項17に記載のコンピューティングデバイス。 - 前記ユーザ入力によって生成されたコードを、前記プログラミング構造の所定の1つと識別するステップを実行するための命令をさらに含むことを特徴とする請求項17に記載のコンピューティングデバイス。
- デバッグ用のコンピューティングデバイスであって、
ユーザ入力によって生成されたコードを含むプログラムコードのリストを生成する手段であって、前記リストとアセンブリとを比較することにより、ユーザ入力によって生成されたコード部分とユーザ入力によって生成されていないコード部分とが区別される、手段と、
ネイティブコードに、デバッグ処理関数への呼出し及びコンパイル時定数ポインタを含むプログラムコードであるデバッグプローブとグローバル変数であるフラグとを挿入する手段であって、前記デバッグプローブは、前記コンパイル時定数ポインタにより、コンパイル時における前記デバッグプローブと関連付けられたフラグを参照し、前記フラグが0でない値を示す場合にデバッグ処理関数を呼び出すことが記述され、前記デバッグプローブ及び前記フラグは、前記ネイティブコードを生成するためのコンピュータプログラムコンパイル動作中に挿入され、前記ネイティブコードは、クラスメソッドおよび/または静的関数を含む手段と、
前記ネイティブコードをプロセスとして実行する手段であって、前記プロセスは、ステッピング動作を実行する1つまたは複数の実行のスレッドを含み、前記実行のスレッドが前記プロセスを介してステッピング動作を実行中に前記デバッグ処理関数を呼び出しているデバッグプローブに到達すると、当該到達したデバッグプローブに関連するコード部分の命令ポインタが前記リストに示されている場合に、前記実行のスレッドを停止する手段と
を備えたことを特徴とするコンピューティングデバイス。 - ステッピング動作は、ステップイン動作、ステップアウト動作、またはステップオーバ動作を含むことを特徴とする請求項24に記載のコンピューティングデバイス。
- 前記デバッグ処理関数を呼び出しているデバッグプローブの後のコードの行で前記スレッドを停止させる手段と
をさらに備えたことを特徴とする請求項24に記載のコンピューティングデバイス。 - 前記スレッドによりステップインが行なわれているコード部分への呼出しの直後のコードの行で前記スレッドを停止させる手段と
をさらに備えたことを特徴とする請求項24に記載のコンピューティングデバイス。 - 前記到達したデバッグプローブに関連するコード部分への第1スタックフレームの戻りアドレスを識別する手段と、
前記戻りアドレスで前記スレッドを停止させる手段と
をさらに備えたことを特徴とする請求項24に記載のコンピューティングデバイス。 - 前記ユーザ入力によって生成されたコードを、前記ネイティブコードの所定の1つと識別する手段をさらに備えたことを特徴とする請求項24に記載のコンピューティングデバイス。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/419,384 US7401323B2 (en) | 2003-04-21 | 2003-04-21 | Just-My-Code debugging |
US10/419,384 | 2003-04-21 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004326789A JP2004326789A (ja) | 2004-11-18 |
JP2004326789A5 JP2004326789A5 (ja) | 2007-05-10 |
JP4901075B2 true JP4901075B2 (ja) | 2012-03-21 |
Family
ID=32990322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004125956A Expired - Fee Related JP4901075B2 (ja) | 2003-04-21 | 2004-04-21 | コンピュータ読取可能な媒体、方法及びコンピューティングデバイス |
Country Status (5)
Country | Link |
---|---|
US (1) | US7401323B2 (ja) |
EP (1) | EP1475714B1 (ja) |
JP (1) | JP4901075B2 (ja) |
KR (1) | KR100996807B1 (ja) |
CN (1) | CN100430904C (ja) |
Families Citing this family (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7143407B2 (en) * | 2001-07-26 | 2006-11-28 | Kyocera Wireless Corp. | System and method for executing wireless communications device dynamic instruction sets |
US7493615B2 (en) * | 2003-05-01 | 2009-02-17 | Sun Microsystems, Inc. | Apparatus and method for synchronizing multiple threads in an out-of-order microprocessor |
US20050071820A1 (en) * | 2003-09-25 | 2005-03-31 | International Business Machines Corporation | Using a debugging framework to enforce best practices in program development |
US20050120272A1 (en) * | 2003-11-13 | 2005-06-02 | Smith Zachary S. | Systems and methods for determining bug ownership |
US7647586B2 (en) * | 2004-08-13 | 2010-01-12 | Sun Microsystems, Inc. | System and method for providing exceptional flow control in protected code through watchpoints |
US7882492B2 (en) * | 2004-09-17 | 2011-02-01 | Oracle America, Inc. | Intelligent computer program debugger, and system and method for implementing the same |
US7457671B2 (en) * | 2004-09-30 | 2008-11-25 | Rockwell Automation Technologies, Inc. | Systems and methods that facilitate management of add-on instruction generation, selection, and/or monitoring during execution |
US7493604B2 (en) * | 2004-10-21 | 2009-02-17 | Microsoft Corporation | Conditional compilation of intermediate language code based on current environment |
CN100345120C (zh) * | 2004-12-24 | 2007-10-24 | 华为技术有限公司 | 一种利用编解码输出信息的方法 |
US20060161896A1 (en) * | 2005-01-14 | 2006-07-20 | International Business Machines Corporation | Performing debug requests that are within the debug domain of a class loader |
US7698691B2 (en) | 2005-09-20 | 2010-04-13 | Microsoft Corporation | Server application state |
US20070074168A1 (en) * | 2005-09-29 | 2007-03-29 | International Business Machines Corporation | Automated step type determination |
US20070078538A1 (en) * | 2005-09-30 | 2007-04-05 | Omron Corporation | Debug device |
US20070168972A1 (en) * | 2005-11-30 | 2007-07-19 | International Business Machines Corporation | Debugging a computer program |
US7774761B2 (en) * | 2005-12-27 | 2010-08-10 | International Business Machines Corporation | Use of memory watch points and a debugger to improve analysis of runtime memory access errors |
CN100485636C (zh) * | 2006-04-24 | 2009-05-06 | 华为技术有限公司 | 一种基于模型驱动进行电信级业务开发的调试方法及装置 |
US7716646B2 (en) * | 2006-05-11 | 2010-05-11 | Rekha Kaushik | Loading a chain of processors from an XML file |
US8225286B2 (en) * | 2006-05-23 | 2012-07-17 | Microsoft Corporation | Debugging interpreted input |
US20080083012A1 (en) * | 2006-06-26 | 2008-04-03 | Dachuan Yu | Program instrumentation method and apparatus for constraining the behavior of embedded script in documents |
US8429613B2 (en) | 2006-10-31 | 2013-04-23 | Microsoft Corporation | Stepping and application state viewing between points |
US7926036B2 (en) * | 2007-04-26 | 2011-04-12 | Microsoft Corporation | Technologies for code failure proneness estimation |
US8355706B2 (en) * | 2007-07-20 | 2013-01-15 | Broadcom Corporation | Method and system for utilizing context data tags to catalog data in wireless system |
US7882495B2 (en) * | 2007-06-14 | 2011-02-01 | Microsoft Corporation | Bounded program failure analysis and correction |
US8291381B2 (en) * | 2007-09-27 | 2012-10-16 | Microsoft Corporation | Call stack parsing in multiple runtime environments |
US8191074B2 (en) | 2007-11-15 | 2012-05-29 | Ericsson Ab | Method and apparatus for automatic debugging technique |
US20090132666A1 (en) * | 2007-11-15 | 2009-05-21 | Shahriar Rahman | Method and apparatus for implementing a network based debugging protocol |
CN101482845B (zh) * | 2008-01-08 | 2011-08-10 | 国际商业机器公司 | 一种调用即时调试器的方法和系统 |
US8141056B2 (en) * | 2008-04-03 | 2012-03-20 | International Business Machines Corporation | Just-in-time dynamic instrumentation |
US8196107B2 (en) * | 2008-06-19 | 2012-06-05 | Microsoft Corporation | Simulating stepping through interpreted code |
US8683439B2 (en) * | 2008-08-21 | 2014-03-25 | International Business Machines Corporation | System and process for debugging object-oriented programming code leveraging preprocessors |
US8752020B2 (en) * | 2008-08-21 | 2014-06-10 | International Business Machines Corporation | System and process for debugging object-oriented programming code leveraging runtime metadata |
CN101739333B (zh) * | 2008-11-25 | 2013-10-16 | 国际商业机器公司 | 应用程序的调试方法、调试工具及调试装置 |
US9632909B2 (en) * | 2008-12-16 | 2017-04-25 | Microsoft Technology Licensing, Llc | Transforming user script code for debugging |
US8732663B2 (en) * | 2010-02-24 | 2014-05-20 | Salesforce.Com, Inc. | System, method and computer program product for providing automated testing by utilizing a preconfigured point of entry in a test or by converting a test to a predefined format |
US20110321017A1 (en) * | 2010-06-29 | 2011-12-29 | International Business Machines Corporation | Computer code debugging method and apparatus providing exception breakpoints |
EP2477116A1 (en) * | 2011-01-13 | 2012-07-18 | Software AG | Method and system for debugging a job running on a legacy system |
US8756572B2 (en) | 2011-03-22 | 2014-06-17 | Microsoft Corporation | Debugger-set identifying breakpoints after coroutine yield points |
US8661413B2 (en) * | 2011-04-13 | 2014-02-25 | International Business Machines Corporation | Impact indication of thread-specific events in a non-stop debugging environment |
US8893090B2 (en) | 2011-04-15 | 2014-11-18 | Microsoft Corporation | Stepping out of an asynchronous method into its continuation in a debugger |
US8918767B2 (en) | 2011-06-16 | 2014-12-23 | Microsoft Corporation | Pattern-based compilation of asynchronous consumption |
US9009678B2 (en) * | 2011-06-28 | 2015-04-14 | International Business Machines Corporation | Software debugging with execution match determinations |
JP5785474B2 (ja) * | 2011-10-27 | 2015-09-30 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | プログラムのデバッグ方法、デバッグ装置、およびデバッグ支援gui |
US8776025B2 (en) * | 2011-11-04 | 2014-07-08 | International Business Machines Corporation | Integrated debugger and code coverage tool |
US9087153B2 (en) | 2011-11-04 | 2015-07-21 | International Business Machines Corporation | Code coverage framework |
EP2608057A1 (en) | 2011-12-23 | 2013-06-26 | Software AG | Computer-implemented system for analyzing an instance of a process |
US10664384B2 (en) * | 2013-03-15 | 2020-05-26 | Microsoft Technology Licensing, Llc | Javascript debugging using just my code |
US9274931B2 (en) * | 2013-05-06 | 2016-03-01 | International Business Machines Corporation | Inserting implicit sequence points into computer program code to support debug operations |
US10127138B2 (en) * | 2013-06-06 | 2018-11-13 | Microsoft Technology Licensing, Llc. | Debugging native code by transitioning from execution in native mode to execution in interpreted mode |
US9146834B2 (en) * | 2013-08-22 | 2015-09-29 | Oracle International Corporation | Targeted cloud-based debugging |
US9424163B2 (en) | 2014-01-15 | 2016-08-23 | Microsoft Technology Licensing, Llc | Exception and debugging behaviors for JavaScript debugging using just my code |
US9239774B2 (en) | 2014-01-15 | 2016-01-19 | Microsoft Technology Licensing, Llc | Classification of JavaScript code for debugging using just my code |
US10275234B2 (en) * | 2015-05-28 | 2019-04-30 | Sap Se | Selective bypass of code flows in software program |
US10579498B2 (en) * | 2016-07-31 | 2020-03-03 | Microsoft Technology Licensing, Llc. | Debugging tool for a JIT compiler |
US10162731B2 (en) | 2017-01-23 | 2018-12-25 | International Business Machines Corporation | Conditional breakpoint on call stack during debugging at runtime |
US10169197B2 (en) * | 2017-01-24 | 2019-01-01 | International Business Machines Corporation | Temporary breakpoints during debug process |
US10120656B1 (en) | 2017-11-07 | 2018-11-06 | Bank Of America Corporation | Robotic process automation system for functional evaluation and improvement of back end instructional constructs |
US10713145B2 (en) * | 2018-01-05 | 2020-07-14 | International Business Machines Corporation | Automated debugging with combined static and dynamic analysis |
US11436830B2 (en) | 2020-03-11 | 2022-09-06 | Bank Of America Corporation | Cognitive robotic process automation architecture |
US11294793B1 (en) * | 2020-10-23 | 2022-04-05 | UiPath Inc. | Robotic process automation (RPA) debugging systems and methods |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2653411B2 (ja) * | 1992-02-19 | 1997-09-17 | 工業技術院長 | ブレークポイント設定方法 |
JPH0822401A (ja) * | 1994-07-07 | 1996-01-23 | Hitachi Ltd | プログラム実行中断方法およびデバッギング装置 |
JPH09146776A (ja) * | 1995-11-22 | 1997-06-06 | Hitachi Ltd | オブジェクト生成方法、及びデバッグ方法 |
JPH11194959A (ja) * | 1997-12-26 | 1999-07-21 | Nec Corp | コンパイル方法もしくはコンパイルプログラムを記録したコンピュータ読みとり可能な記憶媒体 |
US6249907B1 (en) * | 1998-03-24 | 2001-06-19 | International Business Machines Corporation | Method system and article of manufacture for debugging a computer program by encoding user specified breakpoint types at multiple locations in the computer program |
JP3130884B2 (ja) * | 1998-12-17 | 2001-01-31 | 日本電気アイシーマイコンシステム株式会社 | デバッグ装置およびデバッグ方法 |
JP2001060161A (ja) * | 1999-08-24 | 2001-03-06 | Nec Ic Microcomput Syst Ltd | デバッグ装置、方法及び記録媒体 |
US6681384B1 (en) * | 1999-12-23 | 2004-01-20 | International Business Machines Corporation | Multi-threaded break-point |
US6826746B2 (en) | 2001-03-08 | 2004-11-30 | International Business Machines Corporation | Debugger probe for object oriented programming |
US6931631B2 (en) * | 2001-06-27 | 2005-08-16 | International Business Machines Corporation | Low impact breakpoint for multi-user debugging |
US7134115B2 (en) * | 2002-02-07 | 2006-11-07 | Matsushita Electric Industrial Co., Ltd. | Apparatus, method, and program for breakpoint setting |
US20040123279A1 (en) * | 2002-12-18 | 2004-06-24 | International Business Machines Corporation | Method and system for auto-instrumenting java applications through probe injection |
US20040230955A1 (en) * | 2003-02-26 | 2004-11-18 | Bea Systems, Inc. | System for multi-language debugging |
-
2003
- 2003-04-21 US US10/419,384 patent/US7401323B2/en not_active Expired - Fee Related
-
2004
- 2004-03-24 EP EP04007107.8A patent/EP1475714B1/en not_active Expired - Lifetime
- 2004-04-20 KR KR1020040026969A patent/KR100996807B1/ko active IP Right Grant
- 2004-04-21 JP JP2004125956A patent/JP4901075B2/ja not_active Expired - Fee Related
- 2004-04-21 CN CNB2004100351610A patent/CN100430904C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7401323B2 (en) | 2008-07-15 |
EP1475714B1 (en) | 2016-11-16 |
KR100996807B1 (ko) | 2010-11-25 |
JP2004326789A (ja) | 2004-11-18 |
EP1475714A3 (en) | 2008-07-16 |
US20040210876A1 (en) | 2004-10-21 |
EP1475714A2 (en) | 2004-11-10 |
CN1540517A (zh) | 2004-10-27 |
KR20040091560A (ko) | 2004-10-28 |
CN100430904C (zh) | 2008-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4901075B2 (ja) | コンピュータ読取可能な媒体、方法及びコンピューティングデバイス | |
US7761855B2 (en) | Computer program product and system for altering execution flow of a computer program | |
US8423969B2 (en) | Inheritance breakpoints for use in debugging object-oriented computer programs | |
EP2359247B1 (en) | Transforming user script code for debugging | |
EP2724235B1 (en) | N-way runtime interoperative debugging | |
US10540262B2 (en) | Using edit and continue to dynamically set and unset optimizations in source code while debugging | |
US6874140B1 (en) | Debug annotations | |
US8527961B2 (en) | Expression-level debugging without format changes | |
US20040205720A1 (en) | Augmenting debuggers | |
US20090199163A1 (en) | Debugger assistance for locating values at runtime | |
US8261243B2 (en) | Selective execution of trace mechanisms for applications having different bit structures | |
JP2000181725A (ja) | 実行可能なコ―ドを改変し、追加機能を付与するための方法およびシステム | |
US9489286B2 (en) | Method and system for computer assisted hot-tracing mechanism | |
US7694289B2 (en) | Method for embedding object codes in source codes | |
JP2004164554A (ja) | プログラム実行監視装置および方法 | |
US20090320007A1 (en) | Local metadata for external components | |
US8533683B2 (en) | Stack walking enhancements using sensorpoints | |
US20080127118A1 (en) | Method and system for dynamic patching of software | |
Bouraqadi et al. | Test-driven development for generated portable Javascript apps | |
US20070250814A1 (en) | Debugging in an operating system with multiple subsystems | |
US8104019B2 (en) | Debugging in an operating system with multiple subsystems | |
Lee et al. | Debugging mixed‐environment programs with Blink | |
JPH11110256A (ja) | プログラムデバッグ装置、プログラムデバッグ方法及びその方法を記録したコンピュータ読取り可能な記録媒体 | |
JP2007004516A (ja) | 組込みシステムのプログラムデバッグ方法 | |
Clark | Transparently integrating debugging and dynamic binary instrumentation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070320 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070320 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100608 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100908 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110128 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110428 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110509 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110714 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20111220 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111227 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4901075 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150113 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |