4

Play 2.0 プロジェクトをビルドするために sbt を使用しています。sbt を構成してデバッグ ポートを開き、Eclipse リモート デバッガーを接続して、ブレーク ポイントに入ることができました。アクションの 1 つにブレーク ポイントを設定しました。しかし、実行がそこで停止すると、変数を検査できません。sbt はデバッグ情報なしで Scala コードをビルドしていると思います。

デバッグ情報を追加するために sbt を設定する方法を知っている人はいますか? それとも、Eclipse 用の Scala IDE プラグインなどの問題でしょうか?

よろしくお願いします!

4

4 に答える 4

4

経由sbtで Play をデバッグ モードで開始するには、次を実行します。

sbt -jvm-debug 9999 run
于 2012-10-15T23:08:14.963 に答える
1

デバッグで発生したすべての問題の解決策は見つかりませんでしたが、少なくとも使用できるように機能します。ここに私のステータスがあります:

私は sbt を直接使用しており、-jvm-debug 9999 を使用することはできません。しかし、sbt 起動スクリプトの JAVA_OPTS に以下を追加しました: -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=9999 これにより、Eclipse リモート デバッガーに接続し、デバッグ情報を取得できるようになります (開発モードで Play を実行している場合)。

まだ残っている問題は、マウス カーソルを変数の上に置いたときに、変数の情報を示すポップアップが表示されないことです。しかし、これは Play ではなく Scala IDE プラグインの問題のようです。これは、デバッグ パースペクティブの変数ビューで変数情報を取得するためです。

于 2012-12-22T20:03:16.420 に答える
1

これが最も簡単な解決策であることがわかりました:(IntelliJ IDEAを使用)

IntelliJ で:

「実行構成の編集」に移動します

ここに画像の説明を入力

新しいリモート構成を作成します (ポート 9999、その他の詳細はすべてデフォルト値のまま)

ここに画像の説明を入力

IntelliJ に戻り、新しいデバッグ構成を実行します (ブレークポイントを設定することを忘れないでください)。

コマンドラインから実行:

     sbt -jvm-debug 9999 run
于 2014-03-05T10:40:28.200 に答える
0

モジュール化された sbt ビルドでも同じ問題が発生しました。追加する

javacOptions ++= Seq("-g")

build.sbt ファイルに追加すると、コンパイルされたクラスでデバッグ情報が欠落する問題が解決されました。

于 2015-10-21T16:41:58.093 に答える