2011-11-12 19 views
7

के साथ डीबग मोड में एसबीटी प्रोजेक्ट चलाएं मैं एक विशेष कॉन्फ़िगरेशन का उपयोग कर अपने एसबीटी 0.11 प्रोजेक्ट में डीबग मोड पेश करना चाहता हूं। मैंने निम्नलिखित कोड का उपयोग करके इसे लागू करने का प्रयास किया है लेकिन दुर्भाग्यवश, यह अपेक्षा के अनुसार काम नहीं करता है। मैं debug:run लॉन्च कर रहा हूं लेकिन रन अपेक्षित के रूप में निलंबित नहीं होता है।कस्टम कॉन्फ़िगरेशन

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

जो जावा कॉन्फ़्रेंस को सीधे कॉन्फ़िगरेशन चलाने के लिए सेट करते समय काम करता है: javaOptions रन + = "..." लेकिन मेरे डीबग कॉन्फ़िगरेशन – David

उत्तर

6

ठीक है कि निम्नलिखित के साथ काम करता है:

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) 
} 

अब मैं debug:mode का उपयोग कर डिबग मोड में मेरी कोड चला सकते हैं।

+0

का उपयोग नहीं करते, आपने कहा, "अब मैं डीबग मोड मोड का उपयोग करके डीबग मोड में अपना कोड चला सकता हूं" । क्या आपका मतलब 'डीबग: रन' था? – mmmbell

+0

नीटो। मेरे संबंधित जवाब का उत्तर देने के बाद बस इस प्रश्न की खोज की: http://stackoverflow.com/questions/17437443/how-can-i-make-an-sbt-key-see-settings-for-the-current-configuration –

2

बस डिबग मोड में एसबीटी परियोजना को चलाने के लिए, बस कर

JAVA_OPTS = -Xdebug -Xrunjdwp: परिवहन = dt_socket, सर्वर = y, निलंबित = y, पता = 5005

और फिर

sbt run डीबग मोड में एसबीटी चलाएगा, आप एक्लिप्स में रिमोट डीबग कॉन्फ़िगरेशन बना सकते हैं और उससे कनेक्ट कर सकते हैं। आप एक बहु मॉड्यूल खेलने परियोजना है और डिबग मोड

0

IntelliJ विचार में में मॉड्यूल में से एक चलाना चाहते हैं जब इस एक नहीं बल्कि लंगड़ा, लेकिन उपयोगी है, मैं सिर्फ Dedug मोड में कार्यक्रम बूट और यह काम करने लगता है आगे विन्यास के बिना ठीक से।

संबंधित मुद्दे