2015-11-29 12 views
10

私はCourseraからScala入門コースをやっています。Scala Intellijのブレークポイントが無視される

Intellij内では、デバッグしようとしていますが、ブレークポイントは無視されます。

この質問とは異なり、Can't debug a Scala application in IntelliJ + sbt-idea-pluginとは違うエラーはありません。

何かインストールするか、Intellijの設定を行う必要はありますか?

+1

デバッグ中であることを確認してください。 IntelliJ Ideaには、実行とデバッグ用に別々のボタンがあります。デバッグは「バグ」アイコン付きです – Archeg

+1

あなたはどのようにアプリケーションを実行していますか? sbtを使用していますか?もしそうなら、sbtはデバッガ接続をリスンする必要があります。これを行うには、sbt -jvm-debug 5005を使用します。次に、IntelliJでリモートデバッグ設定を作成します。デバッグの設定で十分ですが、ポートが5005にも設定されていることを確認してください。 – irundaia

+0

アクションのスクリーンショットをアップロードできますか? – RonyHe

答えて

0

最近、誰かが、scala/scalatestを使用してInteliJでデバッグを行いました。私は最新のscala言語プラグインがインストールされたInteliJ Idea 2017.2を実行しています。SBTプラグインはインストールされていません(これは現在、スカラプラグインの一部に過ぎません)。うまくいけば、これはいくつかの他の人を助けてくれるでしょう。

  1. テストする行番号の隣にあるをクリックしてブレークポイントを設定します。
  2. ScalaTestを使用していくつかの条件を設定してプログラムを実行すると仮定すると、テストクラスの1つを右クリックし、ドロップダウンリストからDebug '[classname]'を選択することができます。これは、デバッグペインを一番下に開くようにします。 enter image description here

あなたは、私が実際にこの作業を取得することができました(SBTなどを通じて接続しない)直接デバッグを実行するためにInteliJを使用し 。私は、実行中のsbtプロセス(少なくともスケアテスト付き)に付随することを議論する関連する質問への回答では成功していません。

この時点でintelijデバッグがスケーラトを提供する多くの便利なことがあります。失敗したテストが1つあり、その理由を調べたいとします。デバッグウィンドウで、コンソールタブをクリックすると、失敗したテストの横に赤いマークが付いたパッケージのリストが表示されます。 1つのテストを右クリックしてドロップダウンからデバッグを選択すると、その1つのテストだけをデバッグできます。それはかなり便利です。 enter image description here

うまくいけば、他の人にも役立つはずです。

  1. ときどき私はsbtプロジェクトを再ロードする必要があります(左側のsbtプロジェクトタブの円の矢印をクリックしてください)。それはしばらく時間がかかりますが、見つからないクラスについてのランダムなエラーや、無関係な発音のあるものであってもOne or more requested classes are not Suitesのようなものを取り除きます。 enter image description here
  2. 特に、ドッカーからsbtを使用しているとき(たとえば、テストでdbノードをスピンアップするために)、影付きのクラスについてエラーが表示されることがあります。私はまず、キャッシュされたコンパイル済みのjarファイル(例えば、rm -r $HOME/.ivy2/cache/com.spotify/)を削除して、問題を引き起こしていたキャッシュされたコンパイル済みコードを取り除き、ステップ1のようにプロジェクトをリロードしました。
  3. その他すべてが失敗した場合は、プロジェクトが正しくインポートされていることを確認してください。フォルダ内の.ideaフォルダを削除し、sbtプロジェクトを再インポートする必要があります。これはあなたの設定とすべてを破棄しますが、過去の最後の手段として私のために働いています。
関連する問題