web-dev-qa-db-ja.com

Intellijデバッガーがブレークポイントで停止しない

私はここで何か悪いことをしているに違いありません。私はintellijは初めてです。 Eclipseからの切り替え。 weblogicで実行されるJAX WSアプリケーションがあります。デプロイするアーティファクトは、earファイルです。私はintellijでデバッガを動作させるのに苦労しています。私は究極のエディションを持っています。実行デバッグ構成を作成しましたが、コードを通過するだけで、目的の場所で停止しません。デバッガーには、チェックまたはクロスなしの赤い点が表示されます。

編集-「ローカル」の実行/デバッグ構成を実行しています。

これが私の実行/デバッグ構成のスクリーンショットです。

enter image description here

これは起動/接続のスクリーンショットです

enter image description here

12
datta

私は自分の問題が何であるかを理解し、問題は私とアプリケーションの性質に固有のものであると思います。実際、私はそれを自己誘発問題と呼ぶべきです。イベントの性質について説明しましょう。

  1. 私はEclipseを使用して、weblogicインスタンスの開発とローカルインストールを行っています。私のアプリケーションにはコヒーレンスキャッシュサーバーが必要で、ドメインの起動時に渡す他のJVMパラメータがほとんどありません。したがって、_$DOMAIN_HOME/bin/setDomainEnv.sh_ファイルの先頭に次のような行を追加しました

    _Java_OPTIONS="- Dtangosol.coherence.distributed.localstorage=false -Dtangosol.coherence.wka=devmachine and blah blah blah_

  2. 私はintellijに切り替えてこのプロジェクトの作業を開始し、weblogicプラグインの構成や構成の実行などを行いました。

  3. IntellijがRun/Debug Configurationsstartup/connectionタブにJava_OPTIONSを追加することに気づきました

enter image description here

  1. ただし、intellijによって渡されていたJava_OPTIONSは、weblogicでは使用されていませんでした。 setDomainEnv.shの内容で上書きされたと思うので、次のログを確認しました。

Java version "1.6.0_65" Java(TM) SE Runtime Environment (build 1.6.0_65-b14-466.1-11M4716) Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-466.1, mixed mode) Starting WLS with line: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/Java -client -Xms512m -Xmx512m -XX:MaxPermSize=256m -Dweblogic.Name=AdminServer -Djava.security.policy=/Users/dparupud/omw/Oracle/middleware/weblogic_10.3.6/wlserver_10.3/server/lib/weblogic.policy -Dtangosol.coherence.distributed.localstorage=false -Dtangosol.coherence.wka=devmachine blah blah blah......

  1. 私が行ってsetDomainEnv.shからJava_OPTIONSを削除し、intellijからサーバーを再起動すると、次のログが表示されました

starting weblogic with Java version: Java version "1.6.0_65" Java(TM) SE Runtime Environment (build 1.6.0_65-b14-466.1-11M4716) Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-466.1, mixed mode) Starting WLS with line: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/Java -client -Xms512m -Xmx512m -XX:MaxPermSize=256m -Dweblogic.Name=AdminServer -Djava.security.policy=/Users/dparupud/omw/Oracle/middleware/weblogic_10.3.6/wlserver_10.3/server/lib/weblogic.policy -_agentlib:jdwp=transport=dt_socket,address=127.0.0.1:65501,suspend=y,server=n_

ログには、jdwpエージェントが実行中であることが示されました。 SOに関する質問をする前に、特定のログが表示されないことに気付きましたが、Java_OPTIONSが渡されていて、IntelliJがあなたに混乱します(読み取り専用です)。

私はすべてのjvmパラメータをintellijから渡すか、setDomainEnv.shにjdwpエージェント情報を追加することができると思います。

これでデバッグできます。

9
datta

IntelliJでWebLogicデバッグをセットアップするには:

  1. Find the WebLogic Debug Port:これは、デバッグ用に公開されたWebLogic上のポートです。デフォルトのデバッグポートは8453ですが、変更されている場合は、config.xml(ドメインホームのconfigフォルダーにあります)またはsetDomainEnv.shでDEBUG_PORTを探します(これは.shであり、.batではなく、 Mac OS Xを使用しているように見えます)。

  2. リモートデバッガの構成:構成に移動して[新規]を選択し、[リモート]を選択して、適切な名前を入力し、ポート(画像のオレンジ色のブロック)の下に1で見つけた値を入力します。 。ホスト(緑色のブロック)には、localhostと入力します[補足:デバッグポートが公開されている場合は、そのサーバーのホスト名またはIPを入力してリモートサーバーに接続できます]。

  3. Start debugger:設定したばかりのデバッグ構成を開始すると、デバッグウィンドウがポップアップ表示され、ポートが正しい場合は、リモートホストに接続されていると表示され、デバッグに進むことができます。

IntelliJ remote Debugger

-編集1--

あなたの質問をもう一度読んで、あなたがすでにリモート設定をセットアップしているという部分を見逃しました。

プログラムがマルチスレッド化されている場合、ブレークポイントが欠落している可能性があります。現在のスレッドでブレークポイントがヒットしない可能性があります。

デバッグするスレッドを選択できるはずのリモート構成が機能している場合、デバッガーにドロップダウンがあります。

-編集2-

リモートデバッガ設定の画像を追加しました

5
8bitme

構成を削除して新しい構成を作成することで解決しました。

0
Mukundhan