ブレークポイントのグループ化について

ブレークポイントのグループ化によって、ブレークポイントのセットを有効にすることができます。デバッガがコードの特定の場所に達したときに、無効になっているブレークポイントまたはブレークポイントのグループを有効にするように指定できます。

たとえば、アプリケーションでNullPointerExceptionがスローされていることがわかっている場合、コードがNullPointerExceptionを検出していても、常に正しく動作するとはかぎりません。まず、例外ブレークポイントを設定して、検出されるかどうかに関係なく、NullPointerExceptionがスローされたときにデバッガを停止するように指定します。デバッグを開始すると、予想以上のNullPointerExceptionsがスローされ、現在対象外のものも含めてNullPointerExceptionsが原因でデバッガが繰り返し停止することがわかります。この状況は、ブレークポイント・グループを作成し、このブレークポイントをグループに追加して、デバッグ中にデバッガがこのブレークポイントで停止しないようにブレークポイント・グループを無効にすることで解決できます。

次に、問題のあるNullPointerExceptionがスローされる直前に実行されるコードにソース・ブレークポイントを作成できます。ソース・ブレークポイントに対して、このブレークポイントが発生したときに、例外ブレークポイントを含むブレークポイント・グループを自動的に有効にする処理を設定できます。

ブレークポイントでブレークポイント・グループを有効にするには、次のようにします。

  1. ブレークポイント・ウィンドウを右クリックし、「新規ブレークポイント」を選択します。
  2. 「新規ブレークポイント」ダイアログで、リストから「ブレークポイント型」を選択します。前述の例では、「例外」を選択します。
  3. ブレークポイントの詳細を指定します。前述の例では、java.lang.NullPointerExceptionと入力します。
  4. 「ブレークポイントのグループ名」フィールドに名前を入力します。たとえば、NPEと入力します。
  5. 「OK」をクリックします。
    ブレークポイント・ウィンドウで、新しくブレークポイント・グループが作成され、NullPointerExceptionブレークポイントがこのグループに含まれていることを確認します。
  6. ブレークポイント・グループを右クリックし、ポップアップ・メニューから「グループを使用不可にする」を選択します。
  7. 次に、調べるNullPointerExceptionの直前に実行されるコード行に、ソース・ブレークポイントを設定します。
  8. ブレークポイント・ウィンドウで、ソース・ブレークポイントを右クリックし、「編集」を選択します。
  9. 「処理」タブで「ブレークポイントのグループの有効化」チェック・ボックスを選択し、ドロップダウン・リストから「NPE」を選択します。
  10. 「OK」をクリックします。

これで、デバッグ時にはNullPointerExceptionブレークポイントは無効になっているため、ソース・ブレークポイントが発生する前にスローされるNullPointerExceptionsでは、デバッガは停止しません。ソース・ブレークポイントが発生すると、NullPointerExceptionブレークポイントが有効となり、次にNullPointerExceptionがスローされるとプログラムは一時停止します。


関連項目

ブレークポイント・グループの管理
ブレークポイント・ウィンドウについて
ソース・ブレークポイントの設定
ブレークポイントの編集
例外ブレークポイントの設定

ブレークポイントの動作の制御