无法在 Emacs 中启动 Ensime 调试器

Unable to start Ensime debugger in Emacs

我正在使用 Emacs 24.5.1 scala 2.11.5 和 ensime。 Ensime 服务器运行良好,所有错误建议和其他 IDE 功能等。但是当我使用 M-x ensime-db-attach 开始调试代码时,它提示我 HostnamePort。它要求哪个端口?我想在本地调试我的代码。

从 scala 主目录执行 sbt -jvm-debug 5005 解决了问题。同样在 Emacs M-x ensime-db-attach 中,当出现提示时让 Hostname 为 localhost,Port 为 5005。

我假设你用过

sbt ensimeConfig

并且在 Emacs 中,您已经启动了 Ensime 服务器。您需要做的是启动一个 sbt 会话。在 sbt 控制台中,你调用

ensimeRunDebug fibonacci.Solution

(如果您有一个包 fibonacci 和一个名为 Solution 的 class。)这会挂在控制台上。

然后您需要使用 ENSIME 菜单转到源代码的 Emacs 缓冲区并在其中放置一个断点。您将收到一条消息,表明该消息正在排队。

然后附加到调试器 - 如果您使用 ENSIME 菜单,请使用调试器子菜单并附加。您需要提供主机名和端口。通常,本地主机和端口 5005.

这应该发送断点和 运行 程序。然后你就可以调试了。