2009-06-24 11 views
1

Eclipseを使用してJBossを実行しているリモートサーバー上のアプリケーションをデバッグしています。私の特に問題は、JSPのNullPointerExceptionです。 JSPはスクリプトレットの中にあまりにも多くのJavaコードを持っていますが、残念ながらリファクタリングはオプションにはなりません。 NullPointerExceptionを投げるラインを見つけることは信じられないほど困難であり、私は立ち往生しています。リモートJBossサーバー上のJSPをどのようにデバッグできますか?

NullPointerExceptionを投げているスクリプレットの行を見つけるために、このJSPをリモートでデバッグするにはどうすればよいですか?

私はこの問題を孤立させるまでJSPの行をコメントアウトすることで問題を発見しました。面倒ですが、うまくいきました。

答えて

2

あなたは、コマンドラインにこの

-Xdebug -Xrunjdwp:transport=dt_socket,address=5001,server=y,suspend=n 

のようなものを追加することによって、いくつかのアプリケーション・サーバー上でリモートデバッグを有効にすることができます。次に、IDEでリモートデバッグ用のポート5001に接続します。 This pageには、さまざまなアプリケーションサーバーのいくつかの例があります。

コンパイルされたJSP用のJavaソースがあると、デバッグ用のJSPが簡単に実行されることがあります。アプリケーションサーバーのマニュアルでJSPコンパイルを確認するか、JSPをプリコンパイルして.javaファイルを保存してください。これらのファイルをデバッガのソースとして使用します。サーバログの

+0

が受け入れられました。これは、リモートデバッグセッションに接続するJBossを開始する正しいコマンドであるためです。 – Owen

1

一般的に、サーバーログでエラーを見つけることができます。リモートサーバー上で実行しているので、そのマシンに移動してログを確認してください。エラーを指摘する必要があります。

サイトのローカルバージョンを実行している場合、リアルタイムでeclipse経由でサーバーログを監視できるため、デバッグが容易です。おそらく、コードを完全にデバッグしたときに開発してから、リモートサーバーに展開するだけのローカルコピーを設定する価値があります。

これが役に立ちます。

+0

最後の行は次のとおりです。 私はそれが例外をスローJSPでJavaコードだ絞り込むことができますが、ラインを絞り込むことができ org.apache.jsp.myjsp._jspService(不明なソース)でNullPointerExceptionが発生します。 – Owen

+0

デバッグシンボルのようなサウンドは、そのJSPから取り除かれます。デバッグしてもあまり役に立ちません。 –

+0

いくつかの手動デバッグが必要になるようです。ヌルテストなど。きわめて効果的ではありません。 – kgrad

関連する問題