ここでは、JBossやTomcatなどのJava WebサーバをEnterprise Architectでデバッグする方法を説明します。
注意: |
Oracle の 'Weblogic' 環境のサーバについては、デバッグやシーケンス図の作成機能には対応していません。 |
手順:
Enterprise ArchitectからJVMのプロセスにアタッチしてデバッグする方法の概要は以下の通りです。
# |
操作方法 |
1 |
Webサーバとしてデバッグするコードがデバッグ情報を含んでいることを確認してください。 |
2 |
個別の説明にあるようなオプションを付加してサーバを起動します。 |
3 |
ソースコードをEnterprise Architectに読み込みます。すでに読み込んである場合には最新の情報になるように、モデルを同期します。 |
4 |
動作解析の設定を適切に行います。プロセスにアタッチするように設定を行います。 |
5 |
ブレークポイントを設定します。 |
6 |
クライアントを起動します。 |
7 |
Enterprise Architectからプロセスにアタッチします。 |
Enterprise Architectでデバッグするためには、サーバ側で2つの必須の設定があります。
EAのデバッガは java.class.pathの情報を利用します。この情報で、ブレークポイントを配置したソースファイルの実体を確定させます。例として、以下のクラスを考えます。
a.b.C
このクラスは次の位置に配置されているとします。
C:\source\a\b
このような場合にデバッグを実行するためには、CLASSPATHはそのルートとなる以下のパスを含んでいなければなりません。
c:\source
デバッグには、デバッグタブを利用します。このタブは動作解析の設定ダイアログにあります。このタブの設定は次の通りです。
デバッグ タブの 「仮想マシンにアタッチ」 を選択します。
「利用デバッガ」の欄は、「Java」 を選択してください。
その他の項目は必須ではありません。例えば、「ディレクトリ」の項目はクラスパスのプロパティを元に決定されます。
デバッグの実行
ブレークポイントのアイコン内に?マークが表示されることがあります。その行と、実行するバイナリの対応付けができていないことを示しています。多くの場合はクラスがVMによってまだロードされていない状態です。ブレークポイントを含むクラスがロードされた後も?マークが表示される場合は、以下の可能性があります。
# |
操作方法 |
1 |
まず、サーバが起動していることを確認します。そして、サーバプロセスがエージェントDLLであるSSJavaProfiler32.DLLあるいはSSJavaProfiler64.DLLを読み込んでいることを確認します。 クライアント(Webブラウザ)を起動してください。Enterprise Architectでアタッチする前に必ず起動してください。 |
2 |
クライアントを最低でも一度起動しデバッグ対象のWebサーバのページを表示した後、Enterprise Architectの画面に戻り、ブレークポイントを設定してください。 |
3 |
デバッグの実行ボタンを押してください。プロセスにアタッチダイアログが表示されます。SSJavaProfiler32.DLLあるいはSSJavaProfiler64.DLLを読み込んだサーバプロセスにアタッチしてください。 |
4 |
OKボタンを押してください。 確認のメッセージが表示され、プロセスにアタッチします。 |
参照: