JavaScript デバッガのユーザーズガイド
NetBeans の JavaScript デバッガは、JavaScript コードの検査、監視、および編集のプロセスを支援する一連のツールです。このデバッガを使用すると、エラーを特定したり、ステップ実行して任意の時点でのアプリケーションの状態を確認したりできます。必要に応じて使用できる多数のデバッグウィンドウは、変数や式の値、スレッド、セッション、ブレークポイントなどを調べるための直感的なインタフェースとなります。
NetBeans の JavaScript デバッガは、Firefox と Internet Explorer のどちらを使用する場合も操作は同じです。FireFox のデバッガサポートは Firebug に基づき、Internet Explorer のデバッガサポートはアクティブスクリプトデバッガフレームワークに基づいています。
目次

このドキュメントに従うには、次のソフトウェアとリソースが必要です。
| NetBeans IDE |
Java、PHP、または Ruby、version 6.5 |
| Java Development Kit (JDK) |
version 5 以降 |
| Firefox または IE 用の NetBeans 拡張機能 (自動インストール) |
version 0.6 |
Firefox 用の Firebug アドオン (自動インストール)
または
IE 用のアクティブスクリプトデバッガフレームワーク |
version 1.2
v1.0a |
注
- Firebug アドオンと NetBeans 拡張機能は IDE に付属しています。デバッガをはじめて実行するときに、これらのアドオンと拡張機能が存在するかどうかが確認され、ない場合はブラウザにインストールされます。Internet Explorer を使用している場合は、アクティブスクリプトデバッガフレームワークのダウンロードとインストールを求めるメッセージが表示されます。
- NetBeans の JavaScript デバッガは、Internet Explorer versions 6 と 7、Firefox version 2.0.0.x と 3 と互換性があります。
- Internet Explorer ユーザーの場合、デバッガは Windows XP SP2 と Vista でサポートされています。
デバッガの有効化と無効化
デフォルトでは、JavaScript デバッガは IDE で無効になっています。デバッガのはじめての起動のとき、ブラウザ用にデバッガを有効にできるダイアログが表示されます。
デバッガは、「プロジェクトプロパティー」ウィンドウでいつでも有効または無効にできます。
- 「プロジェクト」ウィンドウでプロジェクトを右クリックし、「プロパティー」を選択します。
- 「プロジェクトプロパティー」ダイアログで「デバッグ」カテゴリを選択します。
- 「
Web アプリケーションをデバッグ (クライアント側 JavaScript)」オプションを切り替えます。
- 使用するブラウザを選択します (Firefox または Internet Explorer)。

- 「了解」をクリックしてウィンドウを閉じます。
注: サーバー側とクライアント側のデバッガは同時に実行できます。デバッグセッションは「セッション」ウィンドウを使用して切り替えることができます。両方のセッションを実行している場合にこれらのセッションを終了するには、実行しているセッションの数だけ、
の「デバッガセッションを終了」( 「デバッガセッションを終了」ボタン ) ボタンをクリックする必要があります。
デバッガのはじめての起動
デバッガをはじめて実行するとき、IDE では、適切なリソースと拡張機能がブラウザにインストールされているかどうかが確認されます。
デバッガの実行
デバッガセッションは、プロジェクトまたは個別のファイルに対して開始できます。インターネット接続があれば、デバッガの実行対象として任意のオンライン URL を指定して、一般に公開されている JavaScript リソースを検査することもできます。
プロジェクトのデバッグ
JavaScript デバッガはプロジェクト全体に対して実行できます。
- 「プロジェクト」ウィンドウでプロジェクトノードを右クリックし、「デバッグ」を選択します。デバッガが中断されていない場合は、index ファイルがエディタに表示されます。
注: デバッグ対象のプロジェクトが主プロジェクトに設定されている場合は、IDE のメインメニューから「デバッグ」>「主プロジェクトをデバッグ」を選択するか、メインツールバーの「プロジェクトをデバッグ」アイコン (
) を選択することもできます。プロジェクトを主プロジェクトに設定するには、対象のプロジェクトを右クリックし、「主プロジェクトとして設定」を選択します。
ファイルのデバッグ
デバッガは、HTML ファイルや JSP ファイルなどの個別のファイルに対して実行できます。
- 「プロジェクト」ウィンドウでファイルを右クリックし、「ファイルをデバッグ」を選択します。IDE のメインメニューから「デバッグ」>「ファイルをデバッグ」を選択することもできます。デバッガが中断されていない場合は、デバッグ対象のファイルがエディタに表示されます。
外部ソースのデバッグ
インターネットに接続している場合は、外部 URL に対してデバッガを実行できます。これにより、一般に公開されているページに含まれる JavaScript コードを表示して調べることが可能になります。
- IDE のメインメニューから「デバッグ」>「デバッガを接続」を選択します。
- 「デバッガを接続」ダイアログで、「デバッガ」ドロップダウンリストから「Web ページデバッガ (JavaScript)」を選択します。
- デバッガの実行対象となるページの URL を入力し、「了解」をクリックします。

外部ソースをデバッグするときは、「ソース」ウィンドウを使うと、使用中のすべてのリソースの URL パスを確認できます。エディタとツールバーを使用して、コードをステップ実行して 1 行ずつ確認することもできます。
ツールバーとエディタの操作
エディタではファイルの内容を表示できます。したがって、デバッグ中にエディタとデバッガツールバーを組み合わせて使用することで、実行中にコードをステップ実行して、ファイルの内容がブラウザ内の動作にどのように影響しているのかを確認できます。
注: ASP、JSP、PHP、Ruby などのサーバー側のスクリプト作成テクノロジによって生成されるページは、読み取り専用形式で描画されます (ファイルがエディタで開いたときにタブに [r/o] と表示されます)。クライアントのブラウザに表示される内容は、サーバー側のスクリプトによって動的に作成されます。IDE のエディタでは、ブラウザのキャッシュの内容に基づいてこれらのファイルが表示されます。
デバッガツールバーの使用
デバッグセッションを実行すると、エディタの上にデバッガツールバーが表示されます。特定の条件下でデバッガを中断するように設定してあるかどうかに応じて、ツールバーはアクティブ状態または中断状態で表示されます。デバッグの設定は「オプション」ウィンドウで指定できます。「デバッガの設定」を参照してください。
| アクティブ状態: |
|
| デバッグセッションがアクティブです。デバッグウィンドウにはブラウザに読み込まれたファイルとスクリプトの状態に基づくデータが含まれます。「一時停止」をクリックすると、次の JavaScript 呼び出しでデバッガを中断できます。 |
| 中断状態: |
|
デバッグセッションが中断されています。ファイル内の特定のポイントで実行が停止すると、エディタでは、該当する行の背景が緑色になり、左マージンに緑色の矢印バッジ ( ) が表示されます。ツールバーを使用してコードをステップ実行できます。 |
ツールバーでは次のアクションを実行できます。
デバッガセッションを終了 ( ) |
デバッグセッションを終了 |
一時停止 ( ) |
デバッグセッションを中断 |
再開 ( ) |
デバッグセッションを再開 |
ステップオーバー ( ) |
実行文をステップオーバー |
ステップイン ( ) |
関数呼び出しにステップイン |
ステップアウト ( ) |
現在の関数呼び出しからステップアウト |
カーソルまで実行 ( ) |
カーソル位置まで実行 |
注: 1 行に複数の JavaScript 文があるとき、Internet Explorer で「ステップオーバー」を選択すると、同じ行内の次の文に進みます。FireFox では、デバッガは行にあるすべての文を実行してから、その次の行に進みます。
ブレークポイントの設定
デバッガの実行を停止する位置を指定するには、ファイル内にブレークポイントを設定します。ブレークポイントは HTML ファイルと JavaScript ファイルに設定できます。また、ブラウザのキャッシュでアクセスされる読み取り専用 ([r/o]) ファイルの JavaScript コード内にもブレークポイントを設定できます。
ブレークポイントを設定するには、エディタで、ブレークポイントを設定する行の左マージンをクリックします。
ブレークポイントを削除するには、ブレークポイントバッジ (
) をクリックします。
ブレークポイントは一時的に無効にすることもできます。無効にするには、ブレークポイントバッジを右クリックし、「ブレークポイント」>「✓ 有効」を選択します。これにより、ブレークポイントが無効状態に切り替わり、左マージンにグレーのバッジ (
) が表示されます。
デバッグの実行中にブレークポイントに到達すると、デバッガはそこで実行を停止するので、デバッグウィンドウで変数を確認し、ブレークポイントに続くコードをステップ実行できます。
ブレークポイントは、ヒットカウントまたは条件式、あるいはその両方を設定してカスタマイズすることもできます。この場合、デバッガは、ヒットカウントに到達したときや、条件式が真に評価されたときにだけ、ブレークポイントで実行を停止します。ブレークポイントのカスタマイズ方法については、このあとの「「ブレークポイント」ウィンドウ」でも説明します。ブレークポイントをカスタマイズするには、エディタの左マージンにあるブレークポイントバッジを右クリックし、「ブレークポイント」(または「無効なブレークポイント」) >「プロパティー」を選択します。
ツールチップの確認
デバッグセッション中にデバッガが中断されているときは、エディタ内で JavaScript 識別子の上にマウスポインタを置いてツールチップを表示できます。選択した呼び出しスタックフレーム内で識別子が有効である場合は、その値が表示されます。JavaScript の式を選択することもできます。この場合は式の値がツールチップに表示されます。
デバッガウィンドウの確認
IDE には、JavaScript デバッガの中心的な機能を形成する多数のウィンドウが用意されています。デバッグセッションを実行するときは、デバッガウィンドウで、コードをステップ実行しながら変数と式の値を追跡したり、実行中のスレッドの呼び出しスタックを確認したり、ソース URL を確認したり、また複数のデバッグセッションを同時に実行している場合はセッション間を切り替えたりできます。
すべてのデバッガウィンドウは IDE の「ウィンドウ」>「デバッグ」メニューからアクセスできます。デバッグセッションがアクティブになったら、デバッガウィンドウの使用を開始できます。
「セッション」ウィンドウ
「セッション」ウィンドウには、現在アクティブなデバッグセッションが表示されます。JavaScript のデバッグセッションを開始すると、「セッション」ウィンドウに JavaScript デバッガのエントリが表示されます。
NetBeans IDE では、複数のデバッガセッションを同時に実行することもできます。たとえば、Java に基づくプロジェクトでクライアント側とサーバー側のデバッガを有効にした場合、「セッション」ウィンドウに一覧表示された 2 つのセッションを特定できます。
現在のセッション、つまりデバッガツールバーを使用して制御できるセッションは、ほかのアイコンよりも目立つアイコン (
) で示されます。複数のセッション間を切り替えるには、現在のセッションにするセッションをダブルクリックするか、右クリックして「現在に設定」を選択します。
また、右クリックポップアップウィンドウでは、セッションを終了したり (右クリックして「完了」を選択)、現在のスレッドのデバッグとセッション内のすべてのスレッドのデバッグとを切り替えたり (右クリックして「スコープ」>「すべてのスレッドをデバッグ」または「現在のスレッドをデバッグ」) できます。
「局所変数」ウィンドウ
デバッガが中断されているとき、「局所変数」ウィンドウには、選択した呼び出しスタックフレームの現在の window オブジェクトの局所変数が表示されます。次の 2 つの最上位ノードが表示されます。
scope: 現在のフレームの関数呼び出しのスコープ。一覧表示されるプロパティーはすべて、現在のスコープでフェッチできる変数を表しています。
this: 現在のフレームの this キーワードの値。一覧表示されるプロパティーはすべて、this への現在の参照を表しています。
scope と this は、JavaScript 構文に属する用語なので、「局所変数」ウィンドウを使用するうえで正しく理解するようにしてください。理解を深めるため、this と scope に関する記事を参照してください。
「scope」ノードは常に展開されています。選択した呼び出しスタックフレームに関連付けられている関数呼び出しの局所変数とパラメータ以外に、次のノードも表示されます。
arguments: 宣言された仮パラメータに対する実引数
arguments.length: 関数に渡された実引数の数
arguments.callee.length: 関数の署名で宣言された、予期される引数の数
parent scope: 現在の関数呼び出しのスコープの外部にあるスコープに関する情報
コードをステップ実行しているときに一部の局所変数の値が変わることがあります。このような局所変数は「局所変数」ウィンドウにボールドで表示されます。
「値」列の中を直接クリックして、変数の値を手動で変更することもできます。
注
- IE では、アクティブスクリプトデバッガの API に制限があるため、変数の型を判別できない場合があります。このような場合、「局所変数」ウィンドウで表示される変数は、総称型の
{Object} を示します。
- 「
parent scope」ノードは、IE ユーザーの「局所変数」ウィンドウには表示されません。
「ウォッチポイント」ウィンドウ
「ウォッチポイント」ウィンドウでは、コードをステップ実行しながら特定の式の値を追跡できます。
ウォッチポイントを追加するには、「ウォッチポイント」ウィンドウ内またはエディタ内を右クリックし、ポップアップメニューから「新規ウォッチポイント」を選択します。ウォッチポイントを削除するには、右クリックしてポップアップメニューから「削除」を選択します。
エディタでは、ウォッチポイントを作成する式を先に強調表示してから右クリックして「新規ウォッチポイント」を選択します。強調表示した式がダイアログのテキストフィールドに自動的に追加されます。
「ウォッチポイント」ウィンドウには、任意の JavaScript 式を追加できます。選択した呼び出しスタックフレーム内のウォッチ表現がデバッガによって評価され、評価に成功すると、式の値が表示されます。表現には、「局所変数」ウィンドウに一覧表示される変数や、評価が可能でデバッグセッションに関連する値が得られる任意の JavaScript 式が含まれます。
「呼び出しスタック」ウィンドウ
「呼び出しスタック」ウィンドウには、実行中に行われた一連の呼び出しが一覧表示されます。デバッガが中断されているとき、「呼び出しスタック」ウィンドウには、一連の関数呼び出し、つまり呼び出しスタックが表示されます。最初の中断では、最上位のスタックフレームが自動的に選択されます。
呼び出しスタックフレームをダブルクリックして選択したら、「局所変数」ウィンドウと「ウォッチポイント」ウィンドウでフレームの変数や式の値を確認できます。
「呼び出しスタック」ウィンドウには、次の 2 つの列があります。
- 名前: 呼び出された関数の名前
- 解決される場所: 関数が呼び出された場所を示す URL (ファイル名と行番号を含む)
「呼び出しスタック」ウィンドウ内を右クリックし、「ソースへ移動」を選択することで、呼び出し元に直接移動することもできます。
エディタでは、呼び出しスタックフレームの場所を含むファイルが表示され、呼び出しをトリガーした行にカーソルが置かれます。エディタは呼び出しスタックフレームの強調表示機能も備えています。呼び出しスタック内の前のフレームは、左マージンに紫色のバッジ (
) が表示され、背景が薄紫色になります。
「スレッド」ウィンドウ
「スレッド」ウィンドウには、デバッグセッション中に存在するページのウィンドウとフレームが一覧表示されます。JavaScript では、ウィンドウまたはフレームはそれぞれ実行コンテキストを表します。したがって、複数のフレームを含むファイルに対してデバッガを実行すると、「スレッド」ウィンドウにはページの構造が表示され、各フレームが別個のスレッドとして一覧表示されます。また、「スレッド」ウィンドウには、各ウィンドウとフレームの現在の状態に関する詳細や中断の理由も表示されます。
ほかのデバッグウィンドウと同様に、「ソースへ移動」オプションを使用すると、選択項目の「名前」列に表示されているパスまたは URL に直接移動できます。ウィンドウまたはフレームを右クリックし、ポップアップメニューから「ソースへ移動」を選択します。
「ソース」ウィンドウ
「ソース」ウィンドウには、デバッグセッション用に読み込まれたすべてのファイルとスクリプトが表示されます。ファイルとスクリプトは、ブラウザによって読み込まれた順序で一覧表示されます。プロジェクトに含まれる JavaScript ファイルの場合、デバッガには、使用しているコンピュータでのファイルのパスが表示されます。リモートリソースの場合は、ファイルの URL が表示されます。ほかのデバッグウィンドウと同様に、「ソースへ移動」オプションを使用すると、選択項目に表示されているパスに直接移動できます。ソースファイルを右クリックし、ポップアップメニューから「ソースへ移動」を選択します。ファイルがエディタに表示されます。
ローカルファイルを操作している場合、「ソース」ウィンドウでは、実際のソースファイルと、ブラウザのキャッシュに含まれる描画対象ソースファイルとが区別されます。「クライアントソースへ移動」を選択することで、ブラウザのキャッシュに含まれるファイルを表示できます。ファイルは読み取り専用形式でエディタに表示されます。
「ブレークポイント」ウィンドウ
「ブレークポイント」ウィンドウを使用すると、IDE 内で設定したすべてのブレークポイントを表示できます。
「ブレークポイント」ウィンドウでは、「有効」列の下にあるオプションを切り替えることで、個々のブレークポイントを有効または無効にすることができます。また、ブレークポイントを右クリックして「カスタマイズ」を選択することで、ブレークポイントをカスタマイズできます。ブレークポイントカスタマイザを使用すると、ヒットカウントまたは条件式、あるいはその両方を設定できます。
ヒットカウントに条件を設定すれば、ヒットカウントが指定の数値に等しいとき、指定の数値以上のとき、または指定の数値の倍数のときにデバッガを停止させることができます。
条件式を指定した場合、デバッガは、式が true に評価されたときにだけブレークポイントで停止します。同様に、条件式とヒットカウント条件の両方を指定した場合は、両方の条件が true に評価されたときにだけブレークポイントが確認されます。! (条件) を使用すると、否定条件を設定できます。カスタマイズしたブレークポイントには、「ブレークポイント」ウィンドウおよびエディタの左マージンにバッジ
が表示されます。
デバッガの設定
NetBeans IDE では、JavaScript デバッガの設定機能が提供されます。「オプション」ウィンドウの「JavaScript」区画にあるオプションを使用すると、デバッガの動作を調整できます。「オプション」ウィンドウを開くには、メインメニューから「ツール」>「オプション」(Mac の場合は「NetBeans」>「環境設定」) を選択します。次に、「その他」>「JavaScript」を選択します。
デバッガオプションには次のようなものがあります。
- デバッガキーワードで中断: JavaScript コードに
debugger; 文を挿入してデバッガを中断させます。
- エラー時に中断: JavaScript エラーが検出されたときにデバッガを中断させます。
- 例外時に中断: JavaScript 例外が検出されたときにデバッガを中断させます。Internet Explorer の場合、デバッガはブレークポイントの場合と同様に中断しますが、ステータスが
EXCEPTION になります。例外の実際のメッセージは、現在のデバッグセッションのコンソールに表示されます。Firefox の場合、例外は「局所変数」ウィンドウに一覧表示され、「値」列の下に詳しい出力メッセージが表示されます。
- 先頭行で中断: デバッグセッションに含まれるファイルの先頭行でデバッガを中断させます。IE の場合、デバッガは実行時に最初に実行される JavaScript 文で停止します。FireFox の場合、JavaScript コードの先頭行で停止します。
- 定数を表示: 「局所変数」ウィンドウに定数とその値を表示するかどうかを指定します。有効にすると、ウィンドウが定数値でいっぱいになる場合があります。
- 関数を表示: 「局所変数」ウィンドウの「値」列に関数を一覧表示するかどうかを指定します。有効にすると、ウィンドウが関数でいっぱいになる場合があります。
- クエリー文字列を無視: ブレークポイントの URL クエリー文字列を無視するかどうかを指定します。有効にすると、たとえば、
http://www.foo.com 内の行にブレークポイントが設定してあるとき、要求された URL が http://www.foo.com?search=34 の場合にデバッガは中断されます。このオプションは、クエリー文字列を動的に追加する場合に便利です。
関連項目
netbeans.org での Ajax および Java テクノロジについての詳細は、次のリソースを参照してください。