使用jdb调试Ensime而不加载项目类

时间:2011-08-27 21:17:59

标签: debugging scala emacs jdb ensime

我正在使用Ensime进行sbt项目。当我在ensime-db-start下的单元测试中运行src/test/scala/<pkg>.../Myclass.scala时,我无法设置断点,然后立即获得ClassNotFoundException

VM Started: 
Exception occurred: java.lang.ClassNotFoundException (uncaught)"thread=main", java.net.URLClassLoader$1.run(), line=202 bci=73

在此错误后发出classpath表明该类位于类路径中。

在相关说明中,在使用 C-c C-d b 序列发出run命令之前,我也无法设置断点。我得到了

  

无法找到给定权限的类信息

也许我不理解Ensime是如何启动JVM的 - 任何指针都值得赞赏。

我可以在sbt内运行单元测试,我可以在src/main/scala/...

下运行一个正常的课程

我正在使用ensime 0.10.1和jdk 1.6.0_26。

import sbt._
import Keys._

object BuildSettings {
  val buildOrganization = "bmf"
  val buildVersion      = "1.0.0"
  // val buildScalaVersion = "2.9.0-1"

  val buildSettings = Defaults.defaultSettings ++ Seq (
    organization := buildOrganization,
    version      := buildVersion
  )
}


object MyBuild extends Build
{
   import BuildSettings._

   val junitdep = "junit" % "junit" % "4.8" % "test"
   val scalatestdep = "org.scalatest" % "scalatest" % "1.3" % "test"
   val commonDeps = Seq(junitdep, scalatestdep)
   javacOptions += "-g"

   lazy val common = Project (
    "main",
    file ("."),
    settings = buildSettings ++ Seq (libraryDependencies ++= commonDeps)
  )

}

0 个答案:

没有答案