モニター・ウィンドウ
モニター・ウィンドウでは、デバッグ中のプログラムのアクティブなモニターに関する情報を表示します。このウィンドウに表示される列は、「ツール」
「設定」 - 「デバッガ」 - モニター・ページで、またはモニター・ウィンドウを右クリックすると表示されるポップアップ・メニュー・オプションから「設定」を選択し、有効にした列設定によって決まります。ポップアップ・メニュー・オプションについては後述します。
モニターは、マルチスレッドJavaプログラムの同期化に使用され、各モニターはデバッグ中のプログラムのヒープに存在するオブジェクトに関連付けられます。モニターは次の場合にアクティブになります。
-
スレッドがモニターを所有している場合。同期化文またはメソッドの入力により、スレッドがモニターの所有者になります。各モニターを、同時に複数のスレッドが所有することはできません。
-
スレッドがモニターを待機している場合。スレッドは、オブジェクトの待機メソッドをコールして、モニターを待機します。
-
スレッドがモニターでブロックされている場合。別のスレッドがすでに所有しているモニターの所有権を獲得しようすると、スレッドはブロックされます。
注意:
-
モニター情報を提供しないJava Virtual Machineもあります。たとえば、HotSpot VMでは、モニター情報は提供されません。HotSpot VMを使用している場合、モニター・ウィンドウには、デバッグ中のプログラム内のモニターに関する情報は提供されません。
-
モニター・ウィンドウは、PL/SQLをデバッグする場合には適用されません。
モニター・ウィンドウのサブウィンドウ
モニター・ウィンドウの表示を選択すると、次のようないくつかのサブウィンドウが表示されます。
モニター
所有スレッド
待機スレッド
ブロックされたスレッド
モニター・サブウィンドウには、デバッグ中のプログラムで、モニターがアクティブになっているオブジェクトがすべて表示されます。
このウィンドウに表示される列は、「ツール」
「設定」 - 「デバッガ」 - モニター・ページで、またはモニター・ウィンドウを右クリックすると表示されるポップアップ・メニュー・オプションから「設定」を選択し、有効にした列設定によって決まります。
モニター・ウィンドウのポップアップ・メニュー・オプションについては後述します。
所有スレッド・サブウィンドウには、モニター・サブウィンドウで選択したモニターを所有するスレッドが表示されます。
名前: スレッドの名前が表示されます。ステータス:
所有スレッドの現在のステータスが表示されます。
-
ブロックされました。
-
スレッドが別のオブジェクトのモニターでブロックされています。
-
ブロックされました。(デッドロック済)
-
スレッドが別のオブジェクトのモニターでブロックされ、このスレッドに関するモニター・ブロック・サイクルによりデッドロックが発生しています。
-
待機中
-
スレッドが別のオブジェクトのモニターを待機しています。
-
スリープ中
-
Thread.sleepメソッドをコールしたため、このスレッドはスリープ中です。
-
実行可能
-
このスレッドはブロックされておらず、また待機中でもスリープ中でもありません。
-
不明
-
このスレッドのステータスは不明です。
待機スレッド・サブウィンドウには、モニター・サブウィンドウで選択したモニターを待機しているスレッドが表示されます。
-
名前
-
スレッドの名前を表示します。
-
ステータス
-
-
待機中
-
スレッドは待機中です。
-
ブロックされたスレッド・サブウィンドウには、モニター・サブウィンドウで選択したモニターでブロックされているスレッドが表示されます。
-
名前
-
スレッドの名前を表示します。
-
ステータス
-
-
ブロックされました。
-
このスレッドはブロックされています。
-
ブロックされました。(デッドロック済)
-
スレッドがブロックされ、このスレッドに関するモニター・ブロック・サイクルによりデッドロックが発生しています。
モニター・ウィンドウから次のポップアップ・メニュー・オプションを選択して、モニター・ウィンドウで現在選択されている項目に適用できます。モニター・ウィンドウを右クリックすると、次のポップアップ・メニュー・オプションが表示されます。
-
全値の表示
-
モーダル・ダイアログ・ボックスの複数行テキスト・フィールドに値全体を表示します。String、byte配列、char配列、short配列、int配列およびlong配列に使用できます。
-
範囲の調整
-
ノードを開いたときに表示する選択配列の要素数を制御します。配列にのみ使用できます。
-
値の切替え
-
(ブールにのみ適用。)ブール・データ項目の値を変更します。値が
true
の場合、このオプションを選択するとfalse
に変更されます。値がfalse
の場合、このオプションを選択するとtrue
に変更されます。
-
値の変更
-
「値の変更」ダイアログを表示します。このダイアログでは、選択したデータ項目の値を変更できます。
-
<オブジェクトの型>のソースを表示
-
選択したデータ項目の型がクラスの場合のみ使用できます。配列またはプリミティブ型の場合は使用できません。ソース・エディタにクラスのソース・コードを表示します。
-
注意: 「宣言済の型」列が表示され、宣言された型が実際の型と異なる場合、ポップアップ・メニューには、実際の型と宣言された型に対する2つの「ソースに移動」オプションが表示されます。
-
フィルタの使用
-
「フィルタの編集」ダイアログで設定したクラス・フィルタを、「フィルタ対象クラス」リストから削除せずに有効または無効にできます。
-
<オブジェクトの型>のフィルタの編集
-
特定のクラスに対する「フィルタの編集」ダイアログに直接移動し、オブジェクトを開いたときに表示されるフィールドと表示されないフィールドを制御するフィルタを設定できます。
-
フィルタの編集
-
「フィルタの編集」ダイアログに直接移動し、オブジェクトを開いたときに表示されるフィールドと表示されないフィールドを制御するフィルタを設定できます。
-
すべて折りたたむ
-
すべてのブランチを縮小し、ブランチの下にあるデータを非表示にします。
-
注意: モニター・ウィンドウのポップアップ・メニューには、「すべて展開」オプションはありません。これは、完全なツリーには非常に多くのブランチが含まれる場合があり、またデータ項目に循環参照が含まれていると、ブランチを拡張したときにデバッガが無限ループに入る可能性があるためです。
-
設定
-
「設定」ダイアログ - 「デバッガ」 - 「モニター」ページを表示します。ここで、モニター・ウィンドウに表示する列および他の表示オプションを選択できます。
-
エクスポート
-
現在のモニター・サブウィンドウの内容をテキスト・ファイルに保存します。
-
テキスト・ファイルにエクスポートする場合は、
.html
拡張子または .htm
拡張子を付けずに名前を入力します。出力ファイルでは、列の間にタブが、行の間に新しい行が挿入されます。
-
HTMLファイルにエクスポートする場合は、
.html
拡張子または.htm
拡張子(大/小文字の区別なし)を付けて名前を入力します。出力ファイルは、列を使用して編成された表になります。
所有スレッド、待機スレッド、ブロックされたスレッドのポップアップ・メニュー・オプション
次のポップアップ・メニュー・オプションは、所有スレッド、待機スレッド、ブロックされたスレッドの各サブウィンドウに適用されます。
-
スレッドのソースを表示
-
ソース・エディタに選択したスレッドの実行ポイントの場所を表示します。
-
設定
-
「設定」ダイアログのデバッガ・ページを表示します。ここで、列および他の表示オプションを選択できます。
-
エクスポート
-
選択したサブウィンドウの現在の内容をテキスト・ファイルに保存します。
-
テキスト・ファイルにエクスポートする場合は、
.html
拡張子または .htm
拡張子を付けずに名前を入力します。出力ファイルでは、列の間にタブが、行の間に新しい行が挿入されます。
-
HTMLファイルにエクスポートする場合は、
.html
拡張子または.htm
拡張子(大/小文字の区別なし)を付けて名前を入力します。出力ファイルは、列を使用して編成された表になります。
関連項目
-
スレッド・ウィンドウの使用方法
-
デバッガ・ウィンドウの作業環境の設定
-
プロジェクトを実行用に設定
Copyright © 1997, 2006, Oracle. All rights reserved.