3月

21

EclipseでZK WebUIのデバッグをする方法を紹介します。

・準備
Adempiereをインストールしたディレクトリにある、utils\myEnvironment.bat ファイル
(C:\Adempiere\utils\myEnvironment.bat など)の中に書かれている、
ADEMPIERE_JAVA_OPTIONS という変数に以下の内容を追加します。
-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8888

追加した結果はこのようになります:
@SET ADEMPIERE_JAVA_OPTIONS=-Xms64M -Xmx512M -DADEMPIERE_HOME=D:\Develop\A -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8888

myEnvironment.batを修正したら、
C:\Adempiere\utils\RUN_Server2.bat スクリプトを使ってサーバーを開始してください。

次に、Eclipseのメニューから、
Run > Open Debug Dialog
を開いて、Remote Java Applicationのコンフィギュレーションを新規作成してください。
Connectタブにある、
「Project」は、起動しているサーバーと同じバージョンのAdempiereのソースコードを設定してください。
「Connection Type」は、Standard (Socket Attach) を選択してください。
「Connection Properties」の「Host」はlocalhost、「Port」は8888にしてください。
設定が終わったら、右下の「Debug」ボタンを押してください。

・デバッグ
 base/src/org/compiere/model/GridWindowVO.java
 62行目(createメソッド)

 base/src/org/compiere/model/GridTabVO.java
 49行目(createメソッド)

 base/src/org/compiere/model/GridFieldVO.java
 78行目(createメソッド)

などにブレークポイントを設定して、WebUIからAdempiereのウィンドウを開くと
プログラムを止めることができます。