JavaScript デバッガの実行

JavaScript コードが検出されると、JavaScript デバッガが自動的に実行されます。デバッガの制御は、Domino Designer デバッグインターフェースから行います。

始める前に

サーバーがデバッグモード用にセットアップされている場合は、JavaScript コードを実行する前に、 デバッグ構成が接続されていることを確認してください。デバッグ構成が接続されていない場合の結果は不明です。

手順

  1. 必要に応じて、debugger ステートメントを JavaScript コードに挿入します。 デバッグモードでは、このステートメントによって実行が停止します (ブレークポイントと同じです)。非デバッグモードでは、このステートメントに効果はありません。
    注: IBM® Domino 9.0 Social Edition またはそれ以上がインストールされたサーバーで実行されるコード内の debuggerステートメントのみを使用してください。 debugger ステートメントは Domino の前のバージョンでは動作せず、問題が発生する可能性があります。
  2. JavaScript コードが含まれた XPage を開くかプリビューし、このコードを実行させる設計要素をアクティブにします。 [サーバーサイド JavaScript の最初の行で停止] が有効な場合は、 最初の JavaScript セクションの先頭でコードが停止します。そうでない場合は、最初のブレークポイントでコードが停止します。何も設定されていない場合は、停止せずにコードが実行されます。
  3. Eclipse デバッグインターフェースに移動します。 以下のビューには、停止した時点でのランタイムの状態が反映されます。
    • デバッグビューには、現在のスタックフレーム (Java™ スタックを含む) が表示されます。
    • エディタビューには、実行中のコードが表示されます。左側の矢印は、現在の行を指しています。コードは編集可能ですが、そのコードを有効にするには、対象の設計要素を再びアクティブにする必要があります。
    • 変数ビューには、現在のコードに含まれる変数の名前と現在の値が表示されます。
  4. デバッグコントロールを使用して、実行を続けます。 [再開] ツールバーボタンをクリックして実行を再開し、次のブレークポイントで停止します。別のアクションを実行するには、[ステップイン][ステップオーバー] などのツールバーボタンをクリックします。
  5. 以下のようにして、XPages ソースエディタでブレークポイントの設定と管理を行います。
    1. コードの行の左の列内をダブルクリックして、ブレークポイントを設定します。 列内に青い円が表示されます。 このコード行が実行可能であることを確認してください。そうでない場合、ブレークポイントは効力を持ちません。
    2. ブレークポイントが含まれている、コードの行の左の列内をダブルクリックして、ブレークポイントをクリアします。
    3. ブレークポイントが含まれている、コードの行の左の列内を右クリックして、ブレークポイントの設定、クリア、有効化、無効化、ブレークポイントのプロパティの調整を行います。
    4. ブレークポイントを条件付きにするには、そのブレークポイントが含まれている、コードの行の左の列内を右クリックし、[ブレークポイント・プロパティー] を選択します。 [...のプロパティ] ダイアログで、[条件の有効化] を選択し、true または false を返すスクリプトを入力します。検証は行われないため、 正しい JavaScript を指定するように注意してください。

以下のコードは、ボタンに対するサーバーサイドの click イベント用のコードです。
var s = "hello world";
var n = 0;
デバッガ (debugger)
while (n < 3) {
	n++;
	debugger
}
var db = session.getCurrentDatabase();
var title = db.getTitle();
デバッガ (debugger)
requestScope.status = "All done"
デバッグモードでの実行シーケンスは以下のとおりです。
  1. ランタイムサーバー上で、該当する XPage を開き、JavaScript コードを開始するボタンをクリックします。 デバッガが最初の debugger ステートメントで停止します。変数 s の値は hello world です。変数 n の値は 0 です。
  2. [再開] ツールバーボタンをクリックします。 デバッガが 2 番目の debugger ステートメントで停止します。変数 n の値は 1 です。
  3. [再開] ツールバーボタンをクリックします。 デバッガが 2 番目の debugger ステートメントで再び停止します。変数 n の値は 2 です。
  4. [再開] ツールバーボタンをクリックします。 デバッガが 2 番目の debugger ステートメントで再び停止します。変数 n の値は 3 です。
  5. [再開] ツールバーボタンをクリックします。 デバッガが 3 番目の debugger ステートメントで停止します。変数 dbtitle が定義されています。 変数 db は、展開可能なオブジェクトです。
  6. [再開] ツールバーボタンをクリックします。 コードが完了し、デバッガが終了します。
以下の図は、最後の debugger ステートメントで実行が停止しているときの Eclipse デバッグインターフェースを示しています。
スタックフレーム、エディタ、変数、アウトラインが表示された Eclipse デバッグ構成