簡體   English   中英

Scala / sbt:如何在Eclipse中的斷點處停止

[英]Scala / sbt: How to stop at breakpoints in Eclipse

我正在嘗試使用sbt運行測試時調試我的Scala應用程序。 我在build.sbt添加了以下幾行:

javaOptions in test ++= Seq(
  "-Xdebug",
  "-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8001"
)

我還在Eclipse中設置了斷點,並為該端口8001配置了一個遠程調試器。

從命令行啟動測試時,遠程調試器將正確啟動:

Listening for transport dt_socket at address: 8001

但是隨后,測試的執行並沒有按預期中止,因此我無法連接遠程調試器。 而是僅運行測試。

有什么想法我可能在這里做錯了嗎? 如何在Eclipse中使用斷點調試sbt測試?

以下內容對我有用(未經測試,但可能以相同的方式工作)。 在此示例中,我使用了由udash-generator(0.3.1)生成的項目。

$ sbt
> set fork := true
> set javaOptions ++= Seq("-Xdebug",  "-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8001")
> run

我使用了eclipse(Neon與ScalaIDE 4.4.1,Scala 2.11)( sbt eclipse with-source=true ),並向com.example.rpc.ExposedRpcInterfaces.hello(name: String)方法添加了一個斷點。

創建一個運行配置: 使用Scala遠程啟動器的Scala調試器(套接字連接)

啟動啟動配置(eclipse調試器),並使用http://localhost:8080/#/rpc打開瀏覽器,開始在文本字段中鍵入內容,並且eclipse在斷點處停止。

我不確定您有什么不同,因為您似乎也在分叉新的JVM進行測試。 如果您提供有關所使用的測試框架的更多詳細信息,我可以嘗試進行設置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM