2011-11-12 16 views
7

Chcę wprowadzić tryb debugowania w moim projekcie sbt 0.11 przy użyciu specjalnej konfiguracji. Próbowałem zaimplementować to przy użyciu następującego kodu, ale niestety, nie wydaje się działać zgodnie z oczekiwaniami. Uruchamiam debug:run, ale przebieg nie zawiesza się zgodnie z oczekiwaniami.Uruchom projekt sbt w trybie debugowania z niestandardową konfiguracją

object Test extends Build { 
    lazy val root = Project("test", file(".")) 
    .configs(RunDebug) 
    .settings(inConfig(RunDebug)(Defaults.configTasks):_*) 
    .settings(
     name := "test debug", 
     scalaVersion := "2.9.1", 
     javaOptions in RunDebug += "-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005", 
     fork in RunDebug := true 
    ) 

    lazy val RunDebug = config("debug").extend(Runtime) 
} 
+0

który działa podczas ustawiania javaOptions bezpośrednio do uruchamiania konfiguracji: javaOptions w uruchomieniu + = "...", ale nie używając mojej konfiguracji debugowania – David

Odpowiedz

6

Ok, który współpracuje z następujących czynności:

object Test extends Build { 
    lazy val root = Project("test", file(".")) 
    .configs(RunDebug) 
    .settings(inConfig(RunDebug)(Defaults.configTasks):_*) 
    .settings(
     name := "test debug", 
     scalaVersion := "2.9.1", 
     javaOptions in RunDebug ++= Seq("-Xdebug", "-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"), 
     fork in RunDebug := true 
    ) 

    lazy val RunDebug = config("debug").extend(Runtime) 
} 

teraz mogę uruchomić mojego kodu w trybie debugowania za pomocą debug:mode.

+0

powiedziałeś: "teraz mogę uruchomić mój kod w trybie debugowania używając' debug: mode' " . Czy chodziło Ci o 'debug: run'? – mmmbell

+0

neato. właśnie odkryłem to pytanie po otrzymaniu odpowiedzi na mój powiązany: http://stackoverflow.com/questions/17437443/how-can-i-make-an-sbt-key-see-settings-for--current-configuration –

2

dla projektu SBT prostu działa w trybie debugowania, zrób

JAVA_OPTS = -Xdebug -Xrunjdwp: Transport = dt_socket, server = y, y, zawiesić = address = 5005

a następnie

uruchomi SBT w trybie debugowania, możesz utworzyć zdalną konfigurację debugowania w środowisku Eclipse i połączyć się z nią. to raczej kiepska, ale przydatny, gdy masz wielu projektów moduł odtwarzania i chcemy uruchomić jeden z modułów w trybie debugowania

0

W IntelliJ IDEA, po prostu uruchomić program w trybie Dedug i wydaje się działać właściwie bez dalszej konfiguracji.

Powiązane problemy