Sbt 在命令行上给出-jvm调试时,如何在测试中设置fork?
如果项目在调试模式下运行,是否有方法有条件地禁用分叉:Sbt 在命令行上给出-jvm调试时,如何在测试中设置fork?,sbt,Sbt,如果项目在调试模式下运行,是否有方法有条件地禁用分叉: sbt -jvm-debug 9999 然后在我的构建中: fork in Test := { //find a key that lets me know if debugging in set up !isDebugging.value } 应该会有帮助的 将以下内容添加到build.sbt: lazy val isDebugging = settingKey[Boolean]("true when xdebug is t
sbt -jvm-debug 9999
然后在我的构建中:
fork in Test := {
//find a key that lets me know if debugging in set up
!isDebugging.value
}
应该会有帮助的
将以下内容添加到build.sbt
:
lazy val isDebugging = settingKey[Boolean]("true when xdebug is true; false otherwise")
isDebugging := System.getProperty("xdebug") == "true"
fork in Test := !isDebugging.value
当您执行sbt-Dxdebug=true
时,它会给您想要的
顺便说一句,我在SBT源代码中没有看到对jvm调试的引用,但它确实在我用来启动它的shell脚本中。可能您必须更改
sbt launch lib.bash
,以适应在设置-xdebug
时添加xdebug
的更改。Jacek的建议指向正确的方向,但对我来说不起作用(甚至根本不起作用?)System.getProperty
基本上无法检索sbt的Bash脚本设置的-Xdebug
标志-在调用System.getProperties
时,-Xdebug
未在此处列出,类似地,任何其他非标准JVM属性(例如-Xmx
)
对我有效的是:
lazy val isDebug = settingKey[Boolean]("true when -Xdebug is set, false otherwise")
isDebug := ManagementFactory.getRuntimeMXBean.getInputArguments.contains("-Xdebug")
fork in Test := !isDebug.value
干杯 jvm调试:*文档:*impl:这对我不起作用。我使用System.getEnv(“usedebug”)=“true”,并在my.bashrc中添加了一个
别名sbtd=“usedebug=true sbt-jvm debug 5005”
,以启动调试器并设置env,现在在使用该命令时它不会分叉