【问题标题】:How can I enable remote debugging for SBT in windows?如何在 Windows 中启用 SBT 远程调试?
【发布时间】:2014-06-13 11:38:56
【问题描述】:

我想完成与此等价的运行

sbt -jvm-debug 5005

但是我似乎无法在 Windows 中传递参数。这就是我所看到的

>sbt -jvm-debug 5005
[info] Loading project definition from [myProject]
[info] Set current project to [myProject] (in build file myProject)
[error] Expected letter
[error] Expected symbol
[error] Expected '!'
[error] Expected '+'
[error] Expected '++'
[error] Expected ';'
[error] Expected end of input.
[error] Expected 'show'
[error] Expected '*'
[error] Expected '{'
[error] Expected project ID
[error] Expected configuration
[error] Expected key
[error] 5005
[error] ^
[error] Not a valid command: jvm-debug
[error] Not a valid project ID: jvm-debug
[error] Expected ':' (if selecting a configuration)
[error] Not a valid key: jvm-debug
[error] jvm-debug
[error]          ^                  

我希望能够从 Intellij 远程调试此应用程序。任何帮助都会很棒!

【问题讨论】:

  • sbt shell 是从哪里来的?你是怎么安装的?看来您正在使用两个不同的 sbt 启动脚本。要验证,请同时运行 sbt about 并粘贴输出。

标签: scala intellij-idea sbt remote-debugging


【解决方案1】:
set SBT_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
sbt run

是 Windows 7 上唯一可行的解​​决方案。

【讨论】:

    【解决方案2】:

    似乎 Windows 版本的 SBT 没有定义此功能。

    在 Linux 上,它在 $SBT_HOME/sbt/bin/sbt-launch-lib.bash 中定义为

    addDebugger () {   
      addJava "-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=$1" 
    }
    

    您可以通过在 Windows 上设置 SBT_OPTS 环境变量来获得相同的结果。

    像这样运行 SBT,让调试器监听 5005 端口

    set SBT_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005" && sbt
    

    【讨论】:

    • 行尾的“&& sbt”是什么意思?对我来说似乎不是一个有效的选择。
    • 在 Linux 上,如果第一个命令成功,它会执行第二个命令(在本例中为 sbt)。也许实际上这在 Windows 上确实有效(我不记得了,我现在无法检查)。但是,只需跳过 && 和 eexecute set 和 sbt 作为两个单独的命令。一个接一个。
    • 在 Windows 10 和 sbt 版本 1.3.13 上不起作用(不再?)。
    【解决方案3】:

    目前,我下载了最后更新的 sbt,正好是 sbt 1.3.3,但是当我想在项目中启用调试时,我遇到了和你一样的问题。调查,我可以看到我自己的根目录 C:\Program Files (x86)\sbt\bin 中没有这个文件(sbt-launch-lib.bash),所以当我在另一台机器上看到时,我可以注意到 sbt ,它是 1.2.8,是的,它有我之前提到的文件,所以我卸载了 sbt 1.3.3 并安装了 sbt 1.2.8 并放入我的项目 sbt -jvm-debug 9999 并且它可以工作。

    【讨论】:

      猜你喜欢
      • 2015-09-26
      • 2011-04-01
      • 1970-01-01
      • 2015-09-27
      • 2022-10-16
      • 2015-12-11
      • 1970-01-01
      • 1970-01-01
      • 2011-10-22
      相关资源
      最近更新 更多