2014-04-28 5 views
16

Vorrei realizzare in esecuzione l'equivalente di questoCome posso abilitare il debug remoto per SBT in Windows?

sbt -jvm-debug 5005 

Tuttavia non sembra di essere in grado di passare in args in Windows. Questo è quello che sto vedendo

>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]  ^     

Vorrei essere in grado di eseguire il debug remoto questa applicazione da IntelliJ. Qualsiasi aiuto sarebbe grande!

+0

Dov'è finito il guscio sbt viene? Come l'hai installato? Sembra che stai usando due diversi script di avvio di sbt. Per verificare, esegui 'sbt about' con entrambi e incolla l'output. –

risposta

9

Sembra che la versione Windows di SBT non definisca questa funzionalità.

Su Linux si è definita nel $SBT_HOME/sbt/bin/sbt-launch-lib.bash come

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

È possibile ottenere lo stesso risultato impostando la variabile ambientale SBT_OPTS su Windows.

Run SBT come questo, per rendere il debugger ascolto sulla porta 5005

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

Che cosa significa "&& sbt" alla fine della riga? non mi sembra un'opzione valida per me. –

+1

Su Linux esegue il secondo comando (sbt in questo caso) se il primo comando è riuscito. Forse in effetti questo funziona su Windows (non me lo ricordo, e non posso controllare ora). Comunque basta saltare && ed eexecute set e sbt come due comandi separati. Uno dopo l'altro. – lpiepiora

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

era l'unica soluzione di lavoro su Windows 7.