Web サービスをデバッグする

WebLogic Workshop の統合デバッガを使用すると、Web サービスをデバッグできます。このデバッガでは、ブレークポイントの設定、コードの行単位の実行、ローカル変数の表示、変数の監視の設定、およびコール スタックと例外情報の表示などができます。

テストと同時にデバッグする

Web サービスのテスト時にデバッガを使用するには、ツールバーの [開始してデバッグ] ボタンをクリックするか、〔F5〕を押します。デバッグを停止するには、ツールバーの [停止] ボタンをクリックします。

デバッガの動作中は、デバッガ プロキシのコマンド ウィンドウ([WebLogic Workshop Debugger])が表示されます。デバッガを使用するためには、このウィンドウが開いていなければなりません。このウィンドウを閉じると、サービスのテスト時にブレークポイントがヒットしなくなります。

Web サービスがデバッガで実行されている間は、クライアントからそのサービスにアクセスすることはできません。

ブレークポイントを切り替える

コードにブレークポイントを設定すると、その行の直前で実行が停止されます。実行が停止されたら、変数値またはコール スタックの調査や他のブレークポイントの設定が行えます。

ブレークポイントを設定または削除するには、ソース ビューで目的の行にカーソルを置きます。ツールバーの [ブレークポイントの切り替え] ボタンをクリックします。〔F9〕を押すか、ソース ビューの左端にある行番号の左側の「溝」をクリックするか、ソース コードの行を右クリックして表示されるコンテキスト メニューの [ブレークポイントを切り替え] を選択してもブレークポイントを切り替えることができます。

プロジェクトのすべてのブレークポイントを一度にクリアするには、ツールバーの [すべてのブレークポイントをクリア] ボタンをクリックするか、〔Ctrl〕+〔Shift〕+〔F9〕を押します。

次の図は、ソース ビューのブレークポイントで実行が停止された状態を示しています。

変数宣言などの実行されない行でブレークポイントを設定すると、そのブレークポイントが無効であるという警告が出力ウィンドウに表示されます。

ブレークポイントをファイルに追加した場合、ビジュアル開発環境でファイルを閉じたときにブレークポイントが失われます。

デバッグ コマンドの使い方

ブレークポイントで実行を停止した後は、以下のいずれかのコマンドを使用してデバッガでのコード実行を継続できます。これらのコマンドはすべて、ツールバーおよび [デバッグ] メニューから利用できます。

複数の文が含まれる行にステップ インした場合、次の行に移行するときにその行のすべての文が実行されます。

デバッグ ウィンドウの使い方

デバッグ ウィンドウは、デバッガでの実行時にコードの値についての情報を提供します。

ローカル変数を表示する

[ローカル] ウィンドウでは、デバッガでコードを実行しているときにスコープ内の変数が自動的に表示されます。デバッグの実行中にプリミティブ型変数の値をここで変更できます。

[ローカル] ウィンドウでオブジェクトのエントリを展開すると、そのメンバーを表示できます。次の図は、StringBuffer オブジェクトの値を構成する個々の配列要素を示しています。

 

監視を設定する

[監視] ウィンドウを使用すると、特定の変数の値がデバッグ時にどのように変化するのかを観察できます。監視を設定するには、[監視] ウィンドウで変数の名前を入力します。次の図は、[監視] ウィンドウの変数を示しています。

 

コール スタックを表示する

コール スタックは、デバッガで実行が停止されたポイントにアクセスできるように呼び出されたメソッドを示します。メソッドは、新しく呼び出された順にリストされます。各呼び出しは、コール スタックですぐ下にあるメソッドにネストされているものと考えることもできます。

コール スタックでメソッドをダブルクリックすると、ソース ビューでそのメソッドを表示できます。

次の図は、コール スタックの 2 つのメソッドを示しています。

リモート デバッグ

リモート サーバを想定して開発を行っている場合は、そのリモート サーバを考慮してデバッグを行うこともできます。[プリファレンス] ダイアログの [パス] タブで、[名前] オプションをリモート サーバの名前に設定し、[ポート] オプションをその指定ポートに設定します。[コンフィグレーション ディレクトリ] オプションをサーバ ドメインのあるディレクトリに設定し、[ドメイン] オプションをそのドメインの名前に設定します。

注意: リモート サーバのマシン名が有効でないとデバッグできません。Linux システムでは、hostname コマンドを使用してマシン名を確認できます。

リモート サーバを指すように WebLogic Workshop のプリファレンスを変更する方法の詳細については、WebLogic Workshop に対応した WebLogic Server ドメインを新しく作成するにはを参照してください。