(57)【要約】【課題】ソースコードをデバッギングするためのデバッグ・ツアー用の新規かつ非自明な方法、システムおよびコンピュータ・プログラムを提供する。【解決手段】本発明のデバッガ・データ・プロセシング・システムは、ホスト・コンピューティング・プラットフォーム２１０において実行するデバッガ２３０と、該デバッガに結合されたデバッグ・ツアー・マネジャ３００とを含む。前記デバッグ・ツアー・マネジャは、ソースコード２４０の前のデバッギング・セッション中に確立された命令されたセットのブレークポイント２５０、２６０からなるデバッグ・ツアー２７０をロードし、前記デバッグ・ツアー中の前記ブレークポイントを、別個にロードされたソースコード２４０に適用し、かつ前記ソースコードを実行するとともに前記デバッガ内部の前記命令されたセットにより規定された命令において前記適用されたブレークポイントを呼び出すようにイネーブルされたプログラム・コードを含む。【選択図】図２
2014146358.tif 000002
【特許請求の範囲】
【請求項１】
ホスト・コンピューティング・プラットフォームにおいて実行するデバッガと、
該デバッガに結合されたデバッグ・ツアー・マネジャであって、
ソースコードから、前のデバッギング・セッション中に確立された、或る規定された順序のブレークポイントのセットを集合させることによって、前記ソースコードからは別個にストアされている、デバッグ・ツアーを確立し、
ソースコードの、次のデバッギング・セッション中に確立された、順序付けられた順序のブレークポイントのセットを含む、前記デバッグ・ツアーをロードし、
前記ロードされたデバッグ・ツアーから前記ブレークポイントのセットを取り出し、
前記デバッグ・ツアー・マネジャによって、前記ブレークポイントのセットを、前記ロードされたデバック・ツアーから、別個にロードされたソースコードに適用し、
前記デバッガ内部の前記既定された順序により提供される順序で適用されるブレークポイントを備えた前記別個にロードされたソースコードを実行し、
前記ソースコードの実行中に前記デバッグ・ツアーを可視化する、
ようにイネーブルされたプログラム・コードを含む、
前記デバッグ・ツアー・マネジャとを含み、
前記ブレークポイントのセットはチェックポイントおよびウエイポイントのインスタンスを含み、前記チェックポイントは、条件が満たされてしまうまでソースコードの実行が許可されないブレークポイントであり、前記ウエイポイントは、予め特定された条件が満たされてしまうまではデバッグ・ツアーの継続が中断されるブレークポイントであり、前記チェックポイントおよび前記ブレークポイントの各々は、チェックポイントおよびウエイポイントのインスタンスが前記デバッグ・ツアーに集合させられるのを許容する特性を含む、
デバッガ・データ・プロセシング・システム。
【請求項２】
前記インスタンスの各々が、ソースコードのライン、システム・イベント、アプリケーション・イベント、スタック・パターン、およびタイマーのうちのいずれかに基づくトリガーを含む、請求項１に記載のシステム。
【請求項３】
ソースコードの、前のデバッギング・セッション中に確立された、或る規定された順序のブレークポイントのセットを集合させることによって、前記ソースコードからは別個にストアされている、デバッグ・ツアーを確立するステップと、
ソースコードの、次のデバッギング・セッション中に、前記デバッグ・ツアーをロードするステップと、
前記ロードされたデバッグ・ツアーから前記ブレークポイントのセットを取り出すステップと、
前記デバッグ・ツアー・マネジャによって、前記ブレークポイントのセットを、前記ロードされたデバック・ツアーから、別個にロードされたソースコードに適用するステップと、
前記別個にロードされたソースコードを実行して、前記規定された順序により提供される順序で前記ブレークポイントのセットを呼び出すステップと
前記ソースコードの実行中に前記デバッグ・ツアーを可視化するステップと、
を含み、
前記ブレークポイントのセットはチェックポイントおよびウエイポイントのインスタンスを含み、前記チェックポイントは、条件が満たされてしまうまでソースコードの実行が許可されないブレークポイントであり、前記ウエイポイントは、予め特定された条件が満たされてしまうまではデバッグ・ツアーの継続が中断されるブレークポイントであり、前記チェックポイントおよび前記ブレークポイントの各々は、チェックポイントおよびウエイポイントのインスタンスが前記デバッグ・ツアーに集合させられるのを許容する特性を含む、
デバッギング方法。
【請求項４】
前記デバッグ・ツアー中の前記ブレークポイントのセットを、前記別個にロードされたソースコードに適用するステップが、前記デバッグ・ツアー中の前記ブレークポイントのセットを、前記別個にロードされたソースコードに、前記別個にロードされたソースコード中の位置を含むトリガーに関連して適用するステップを含む、請求項３に記載のデバッギング方法。
【請求項５】
前記デバッグ・ツアー中の前記ブレークポイントのセットを、前記別個にロードされたソースコードに適用するステップが、前記デバッグ・ツアー中の前記ブレークポイントのセットを、前記別個にロードされたソースコードに、システムもしくはアプリケーションのイベントを含むトリガーに関連して適用するステップを含む、請求項３に記載のデバッギング方法。
【請求項６】
前記デバッグ・ツアー中の前記ブレークポイントのセットを、前記別個にロードされたソースコードに適用するステップが、前記デバッグ・ツアー中の前記ブレークポイントのセットを、前記別個にロードされたソースコードに、スタック・パターンを含むトリガーに関連して適用するステップを含む、請求項３に記載のデバッギング方法。
【請求項７】
前記別個にロードされたソースコードを実行して、前記規定された順序により提供される順序で前記ブレークポイントのセットを呼び出すステップが、前記別個にロードされたソースコードを実行するとともに、前記適用されたウエイポイントを呼び出し、かつ期待されたコードのパスから逸れが生じる場合にのみ通知をするステップを含む、請求項３に記載のデバッギング方法。
【請求項８】
ソースコードの、前のデバッギング・セッション中に確立された、或る規定された順序のブレークポイントのセットを集合させることによって、前記ソースコードからは別個にストアされている、デバッグ・ツアーを確立するための、コンピュータが実行するプログラム・コードと、
ソースコードの、次のデバッギング・セッション中に、前記デバッグ・ツアーをロードするための、コンピュータが実行するプログラム・コードと、
前記ロードされたデバッグ・ツアーから前記ブレークポイントのセットを取り出すための、コンピュータが実行するプログラム・コードと、
前記デバッグ・ツアー・マネジャによって、前記ブレークポイントのセットを、前記ロードされたデバック・ツアーから、別個にロードされたソースコードに適用するための、コンピュータが実行するプログラム・コードと、
前記別個にロードされたソースコードを実行して、前記規定された順序により提供される順序で前記ブレークポイントのセットを呼び出すための、コンピュータが実行するプログラム・コードとを含み、
前記ブレークポイントのセットはチェックポイントおよびウエイポイントのインスタンスを含み、前記チェックポイントは、条件が満たされてしまうまでソースコードの実行が許可されないブレークポイントであり、前記ウエイポイントは、予め特定された条件が満たされてしまうまではデバッグ・ツアーの継続が中断されるブレークポイントであり、前記チェックポイントおよび前記ブレークポイントの各々は、チェックポイントおよびウエイポイントのインスタンスが前記デバッグ・ツアーに集合させられるのを許容する特性を含む、
デバッギング用のコンピュータ・プログラム。
【請求項９】
前記デバッグ・ツアー中の前記ブレークポイントのセットを、前記別個にロードされたソースコードに適用するための、コンピュータが実行するプログラム・コードが、前記デバッグ・ツアー中の前記ブレークポイントのセットを、前記別個にロードされたソースコードに、前記別個にロードされたソースコード中の位置を含むトリガーに関連して適用するための、コンピュータが実行するプログラム・コードを含む、請求項８に記載のコンピュータ・プログラム。
【請求項１０】
前記デバッグ・ツアー中の前記ブレークポイントのセットを、前記別個にロードされたソースコードに適用する、コンピュータが実行するプログラム・コードが、前記デバッグ・ツアー中の前記ブレークポイントのセットを、前記別個にロードされたソースコードに、システムもしくはアプリケーションのイベントを含むトリガーに関連して適用するための、コンピュータが実行するプログラム・コードを含む、請求項８に記載のコンピュータ・プログラム。
【請求項１１】
前記デバッグ・ツアー中の前記ブレークポイントのセットを、前記別個にロードされたソースコードに適用するための、コンピュータが実行するプログラム・コードが、前記デバッグ・ツアー中の前記ブレークポイントのセットを、前記別個にロードされたソースコードに、スタック・パターンを含むトリガーに関連して適用するための、コンピュータが実行するプログラム・コードを含む、請求項８に記載のコンピュータ・プログラム。
【請求項１２】
前記別個にロードされたソースコードを実行して、前記規定された順序により提供される順序で前記ブレークポイントのセットを呼び出すための、コンピュータが実行するプログラム・コードが、前記別個にロードされたソースコードを実行するとともに、前記適用されたウエイポイントを呼び出し、かつ期待されたコードのパスから逸れが生じる場合にのみ通知を提供する、請求項８に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はソフトウエア開発の分野に関し、特にソフトウエアのデバッギングに関する。
【背景技術】
【０００２】
ソフトウエア開発技法はコンピュータ・プログラムのための機能的な仕様の単なるコーディングを越えて広がっている。今日のソフトウエア開発は、機能的な仕様を実装するアプリケーションのための適切なアーキテクチャを形成するのにつながる機能的仕様でもって開始するライフサイクルに合わせている。このライフサイクルはアプリケーションの物理的なコーディングとともに継続し、そのコードの完全性を確保するための相互作用テストおよびデバッギングのサイクルを含む。最後に、デバッグされたコードの実行は解析されることができ、そのコードの性能を改善するためにそのコードを更に修正することができる。
【０００３】
これまでのデバッギング・プロセスは過去１０年の間殆ど変わって来なかった。一般に、集中した開発環境（ＩＤＥ）により提供されるデバッガは、何行ものソースコード上にそのデバッガがブレークポイントをセットするのを許容する。ソースコードの実行中、その実行は確立したブレークポイントを有する各々の行すなわちラインごとに停止即ちブレークさせることができる。そのソースコードがそのブレークポイントにより与えられる停止状態(stasis)に留まる間に、そのデバッガはそのソースコードが計画通り実行されたか否かを判定するために一般的にメモリおよび変数の値を観察することができる。ある開発者が証言するように、デバッギング中のブレークポイントを革新的に使用することがデバッギング・プロセスの基本的な側面である。
【０００４】
１個もしくは１セットのブレークポイントをセットするという行為（act）はその性質上アドホックなものとして大きく特徴付けられる。だからそのＩＤＥにおけるソースコード上にセットされるブレークポイントの数および特性によってはそのデバッギング・プロセスはデバッギング・セッションからデバッギング・セッションまで変化し得る。特に、或るラインのソースコードに一旦セットされたブレークポイントが、そのブレークポイントをセットする時点でその開発者にとって意味のあるものであっても、後になるとそのブレークポイントがその意味を失ってしまうかもしれない。更にそのデバッガは確立されたブレークポイントの目的をそのときどきのインスタンスで思い起こすことを強いられる。
【０００５】
更にソースコード中の多くのいろいろな場所からソースコード中の同じコードのパスに到達することができる。その結果、そのソースコード中の期待された場所からその確立されたブレークポイントのところに到達するときそのブレークポイントが意味を持つが、その同じ確立されたブレークポイントはそのソースコード中の異なる場所から到達したかどうか紛らわしいことがあり得る。従って、ソースコードを通るそのパスのコンテキスト（context）は、デバッギング・セッション中にソースコード中の個々のブレークポイントをセットするとき完全に失われることがある。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、ソースコードのデバッギングに関する従来技術の欠点に対処するものであり、ソースコードをデバッギングするためのデバッグ・ツアー用の新規かつ非自明な方法、システムおよびコンピュータ・プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明の一実施例では、デバッガ・データ・プロセシング・システムを提供することができる。前記システムは、ホスト・コンピューティング・プラットフォームにおいて実行するデバッガと、該デバッガに結合されたデバッグ・ツアー・マネジャとを含むことができる。前記デバッグ・ツアー・マネジャは、ソースコードの、前のデバッギング・セッション中に確立された、順序付けられたセットのブレークポイントを含むデバッグ・ツアーをロードし、前記デバッグ・ツアー中の前記ブレークポイントを、別個にロードされたソースコードに適用し、かつ前記デバッガ内部の前記順序付けられたセットにより提供される順序で適用される前記ブレークポイントを備えた前記別個にロードされたソースコードを実行するようにイネーブルされたプログラム・コードを含むことができる。
【０００８】
前記のブレークポイントはウエイポイントおよびチェックポイントの両方のインスタンスを含むことができる。前記のインスタンスの各々は、記述を含むことができ、また前記のインスタンスの各々は、別個にロードされたソースコードのライン、システム・イベント、アプリケーション・イベント、スタック・パターンおよびタイマーのいずれかに基づくトリガーを含むことができる。チェックポイントのインスタンスは更に、前記ソースコードの実行の継続の基となる条件を含むこともできる。更に、チェックポイントのインスタンスはまた、中断されたデバッグ・ツアーを継続させる基となる条件を含むこともできる。
【０００９】
本発明の他の実施例では、デバッギング方法を提供することができる。前記方法は、ソースコードの、前のデバッギング・セッション中に確立されたブレークポイントの、順序付けられたセットを含むデバッグ・ツアーをロードするステップと、前記デバッグ・ツアー中の前記ブレークポイントを、別個にロードされたソースコードに適用するステップと、前記別個にロードされたソースコードを実行するとともに、前記適用されたブレークポイントを前記順序付けられたセットにより提供された順序で呼び出すステップとを含む。 前記のソースコードの、前のデバッギング・セッション中に確立されたブレークポイントの、順序付けられたセットを含むデバッグ・ツアーをロードするステップは、ソースコードの、前のデバッギング・セッション中に確立されたウエイポイントおよびチェックポイントの両方の順序付けられたセットを含むデバッグ・ツアーをロードするステップを含むことができる。
【００１０】
本発明の実施例の一つの側面では、前記デバッグ・ツアー中の前記ブレークポイントを、前記別個にロードされたソースコードに適用するステップが、前記デバッグ・ツアー中の前記ブレークポイントを、前記別個にロードされたソースコードに、前記別個にロードされたソースコード中の位置、システムもしくはアプリケーションのイベント、スタック・パターン、またはタイマーのようなトリガーに関連して適用するステップを含むことができる。本発明の実施例の他の側面では、前記別個にロードされたソースコードを実行するとともに、前記順序付けられたセットにより提供される順序で前記ブレークポイントを呼び出すステップが、前記別個にロードされたソースコードを実行するとともに、前記適用されたウエイポイントを呼び出し、かつ期待されたコードのパスから逸れが生じる場合にのみ通知をするステップを含むことができる。
【００１１】
本発明の別の側面が、一部は以下の記述に、また一部はその記述から自明な範囲として開示され、あるいは本発明を実施することによって学習することができるかもしれない。本発明のそれらの側面は、特許請求の範囲に特に指摘されたエレメントおよび組み合わせによって得られ、そして理解されよう。前述の一般的な記述および以下の詳細な記述は両方とも例示であり、説明のためだけのものであって、本発明を制限しないもの、請求項に示すとおりのものと理解されたい。
【図面の簡単な説明】
【００１２】
【図１】ソースコードをデバッグするためのデバッグ・ツアー管理プロセスの図式図である。
【図２】デバッグ・ツアー管理のために構成されたデバッガ・データ処理システムの図式図である。
【図３】ソースコードをデバッグするためのプロセスを説明するフローチャートである。
【発明を実施するための形態】
【００１３】
本明細書と添付図面とは本発明の実施例を示し、その記述とともに本発明の原理を説明するのに役立つ。ここで説明されるその実施例は現在好ましいと考えられているものだが、本発明は図で示したもの同じ構成に限定されるものではないことを理解されたい。
【００１４】
本発明の実施例はソースコードをデバッギングするためのデバッグ・ツアー管理のための方法、システムおよびコンピュータ・プログラムを提供する。本発明の実施例によれば、デバッグ・ツアーとして第１のデバッギング・セッションにおけるデバッグ・ターゲット中の、異なるラインのソースコードのために、順序付けられたセットのブレークポイントが確立され得る。そのブレークポイントのセット、はチェックポイント、ウエイポイントもしくはその両方を含むことができる。その後、そのブレークポイントのセットはデバッグ・ツアーとしてデバッグ・ターゲットとは別個に維持されることができる。その後、そのデバッグ・ツアーは第２のデバッギング・セッションにおいてデバッグ・ターゲットにロードされ、適用されることができる。このようにして、順序付けられたセットのブレークポイントはそのデバッグ環境における問題解決をスピードアップするため再使用するように維持されることができる。
【００１５】
説明図の中で、図１はソースコードをデバッギングするためのデバッグ・ツアー管理プロセスを図式的に示す。図１に示すように、異なるブレークポイント１２０、１３０がソースコード１１０の異なるラインごとに確立され得る。ブレークポイント１２０はチェックポイント１２０およびウエイポイント１３０の両方を含むことができる。各チェックポイント１２０は、条件が満たされてしまうまでソースコード１１０の実行が許可されないブレークポイントになり得る。各ウエイポイント１３０は、対比して言えば、予め特定された条件が満たされてしまうまではデバッグ・ツアー１４０の継続が中断されるブレークポイントになり得る。チェックポイント１２０およびウエイポイント１３０の両方について、チェックポイント１２０およびウエイポイント１３０にデバッグ・ツアー１４０が到達する際、アクションが行われるが、それはロギングおよびレポーティングを含む。
【００１６】
デバッグ・ツアー・マネジャ１６０は、ソースコード１１０とは別個にストアされたデバッグ・ツアー１４０の中に一つのセットの確立されたブレークポイント１２０、１３０を或る規定された順序で集合させることができる。この点で、デバッギング・セッション中のブレークポイントの位置付けのアドホック的な性質（すなわち、その場その場でしか使えない特性）を減らそうという意図でもって、ブレークポイントの再使用が促進されるように、デバッグ・ツアー１４０中のブレークポイント１２０、１３０のその順序付けられたセットが個別に文書化されることができる。その結果、デバッグ・ツアー・マネジャ１６０は、後続の異なるデバッギング・セッションにおけるソースコード１５０に適用できるようにデバッグ・ツアー１４０をロードすることができ、これらのセッションを通じてブレークポイント１２０、１３０の順序付け、特性および意図がデバッガにより認識されることができる。このようにして、そのデバッギング・プロセスはデバッグ・ツアー１４０により特定される順序でのブレークポイント１２０、１３０の再使用を通じ、明確さとともにスピードアップされることができる。
【００１７】
図１に示されるプロセスはデバッガ・データ処理システムに採用されることができる。図２は、デバッグ・ツアー管理のために構成されたデバッガ・データ処理システムの図式的な説明である。このシステムはオペレーティング・システム２２０の実行をサポートするホスト・コンピューティング・プラットフォーム２１０を含むことができる。オペレーティング・システム２２０はデバッガ２３０を含む１個以上のアプリケーションの動作を管理するように構成される。デバッガ２３０は、ソースコード２４０をデバッグするためにブレークポイントの使用を通じてソースコード２４０が徐々に実行され得るような開発環境を提供するようにプログラムされることができる。
【００１８】
デバッギング・プロセスの一部として、ソースコード２４０中の各ブレークポイントのところで、ソースコード２４０の実行を休止することができて、ソースコード２４０の実行から生じるメモリ中のデータ・エレメントの手動での検査を行えるようにするとともに、プログラムの例外を生じるソースコードのラインが識別される。特に、デバッグ・ツアー・マネジャ３００はデバッガ２３０に結合されることができる。デバッグ・ツアー・マネジャ３００はソースコード２４０中にチェックポイント２５０およびウエイポイント２６０の両方のインスタンスを定義しセットするようにイネーブルされたプログラム・コードを含むことができる。デバッグ・ツアー・マネジャ３００のプログラム・コードは更に、デバッグ・ツアー２７０中のソースコード２４０のためのチェックポイント２５０およびウエイポイント２６０のインスタンスを集合させるようにイネーブルされることができる。デバッグ・ツアー・マネジャ３００のプログラム・コードは更に、ソースコード２４０の後続のデバッギング・セッション中に、デバッグ・ツアー２７０をロードするように、かつソースコード２４０中のチェックポイント２５０およびウエイポイント２６０のインスタンスを適用するようにイネーブルされることができる。
【００１９】
ウエイポイント２６０は、ウエイポイント２６０のインスタンスがデバッグ・ツアー２７０の中に集合させられるのを許容する特性を含むブレークポイントであることができる。この特性は、一例を挙げれば、記述および１個以上のタグを含むことができる。その特性は更に、ソースコード位置、スタック・パターン、システム・イベントもしくはアプリケーション・イベントから生じるトリガーを含むことができる。同様に、チェックポイント２５０もまたブレークポイントになることができ、チェックポイント２５０のインスタンスがデバッグ・ツアー２７０中に集合させられるのを許容する特性を含む。その特性はウエイポイント２６０の特性に似ており、更にチェックポイント２５０はタイマーの経過即ち時間切れから生じるトリガーを含むことができる。また、ウエイポイント２６０のインスタンスと異なり、その特性はデバッグ・ツアー２７０の再開が依存する条件を含むことができる。
【００２０】
ソースコード２４０の実行中、ウエイポイント２６０のインスタンスの期待されたセットに遭遇するかもしれない。ウエイポイント２６０のインスタンスに遭遇するたびに、そのインスタンスに関連するアクションが、もしあれば実行され得る。ウエイポイント２６０の遭遇したインスタンスの順序付けがデバッグ・ツアー２７０に開示されたウエイポイント２６０のインスタンスの期待された順序付けと一致する限りは、ウエイポイント２６０のインスタンスに遭遇することを示す必要がないようにするという選択も可能である。例えば、前記適用されたウエイポイントを呼び出し、かつ期待されたコードのパスから逸れが生じる場合にのみ通知をすることもできる。あるいは、その順序付けられたセットにより提供される順序で前記適用されたチェックポイントおよびウエイポイントの両方を呼び出し、かつ期待されたコードのパスから逸れが生じる場合にのみ通知をすることもできる。どのような場合にも、ソースコード２４０の実行中にデバッグ・ツアー２７０の可視化を提供することができる。
【００２１】
デバッグ・ツアー・マネジャ３００の動作を更に説明すると、図３はソースコードをデバッグするためのデバッグ・ツアー管理のためのプロセスを示すフローチャートである。ブロック３０５で始まるが、ソースコードはデバッガにおいてデバッグ・ターゲットとしてロードされることができる。ブロック３１０では、以前に主張されたデバッグ・ツアーがデバッガにおけるデバッグ・ターゲットのためのデバッギング・セッションに適用するようにロードされ得る。ブロック３１５では、デバッグ・ツアーのウエイポイントおよびチェックポイントが取り出され得る。そしてブロック３２０では、その取り出されたウエイポイントおよびチェックポイントがデバッグ・ターゲットに適用され得る。その後、ブロック３２５では、デバッグ・ターゲットがデバッガにおいて実行され得る。
【００２２】
ブロック３３０で、もしソースコードの実行が完了していなければ、ブロック３３５でブレークポイントに遭遇することがあり得る。このブレークポイントはウエイポイントもしくはチェックポイントであり得、ソースコードのラインに関連して、タイマーの経過を通じて、もしくはアプリケーションもしくはシステム・イベントの発生を通じて、またはそのスタックにおいて認識されるパターンを通じて遭遇することがあり得る。判定ブロック３４０では、そのブレークポイントがウエイポイントであるか調べることができる。もしそうであれば、ブロック３４５でそのウエイポイントに関連するアクションが何かあればそれが実行されることができ、そしてそのプロセスはブロック３２５に戻る。そうでない場合、判定ブロック３５０でそのブレークポイントがチェックポイントであるか調べられる。もしそうなら、判定ブロック３５５でそのチェックポイントに関連する条件が合致するかを調べられる。一度条件が合致すればプロセスはブロック３４５に続行し、その関連するアクションがあればそれを実行する。判定ブロック３３０で、その実行が完了すると、ブロック３６０で、そのプロセスは終了することができる。
【００２３】
本発明の実施例は、完全にハードウエアの実施例、完全にソフトウエアの実施例、またはハードウエアおよびソフトウエアの両方のエレメントを含む実施例の形態をとることができる。好適な実施例では、本発明は、ファームウエア、常駐のソフトウエア、マイクロコードなどを含むがそれらに限定されないソフトウエアで実装される。更に、本発明は、コンピュータ利用可能もしくはコンピュータ読み出し可能な媒体からアクセス可能なコンピュータ・プログラム製品またはプログラムそのものの形態をとることができ、コンピュータもしくは任意の命令実行システムによりもしくはそれと関連して使用するためのプログラム・コードを提供する。
【００２４】
ここでの説明の関係上、コンピュータが使用可能もしくはコンピュータが読み出し可能な媒体は、命令を実行するシステム、装置もしくはデバイスによりあるいはそれと関連して使用するためのプログラムを含み、ストアし、通信し、伝播し、もしくは搬送することができる任意の装置であってもよい。その媒体は電子的、磁気的、光学的、電磁気的、赤外線、もしくは半導体のシステム（装置もしくはデバイス）、または伝播媒体であり得る。コンピュータ読み出し可能な媒体は、半導体もしくは固体のメモリ、磁気テープ、取り外し可能なコンピュータ・フロッピー・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、ハード磁気ディスクおよび光ディスクを含む。光ディスクの現在の例はＣＤ−ＲＯＭ（コンパクト・ディスクの読み出し専用メモリ）、ＣＤ−Ｒ／Ｗ（コンパクト・ディスクの読み書きメモリ）およびＤＶＤを含む。
【００２５】
プログラム・コードをストアしたり実行したりするのに適するデータ処理システムは、メモリ・エレメントにシステム・バスを介して直接もしくは間接に結合される少なくとも１個のプロセッサを含む。そのメモリ・エレメントは、プログラム・コード、大容量ストレージおよびキャッシュ・メモリの実際の実行中に用いられるローカル・メモリを含むことができる。そのキャッシュ・メモリは大容量ストレージから実行中にコードを取り出さねばならない回数を少なくするために少なくとも幾つかのプログラム・コードを一時的に記憶する役割がある。入出力装置即ちＩ／Ｏ装置（キーボード、ディスプレイ、ポインティング装置などを含む）がそのシステムに直接にもしくは中間のＩ／Ｏコントローラを介して結合されることができる。そのシステムにはネットワーク・アダプタがまた結合されていてもよい。これによりそのデータ処理システムが他のデータ処理システムに、または中間の私的もしくは公的なネットワークを介して遠隔のプリンタもしくはストレージ装置に結合されるようになるのが可能となる。モデム、ケーブル・モデム、およびイーサーネット・カードは現在利用可能なタイプのネットワーク・アダプタのほんの一部である。
【符号の説明】
【００２６】
１１０  ソースコード
１２０  チェックポイント
１３０  ウエイポイント
１２０、１３０  （総称して）ブレークポイント
１４０  デバッグ・ツアー
１５０  ソースコード
１６０  デバッグ・ツアー・マネジャ
２１０  ホスト・コンピューティング・プラットフォーム
２２０  オペレーティング・システム
２３０  デバッガ
２４０  ソースコード
２５０  チェックポイント
２６０  ウエイポイント
２７０  デバッグ・ツアー
３００  デバッグ・ツアー・マネジャ
【図１】
2014146358.tif 000003
【図２】
2014146358.tif 000004
【図３】
2014146358.tif 000005