繁体   English   中英

在Scala中调试时以交互方式执行代码

[英]Interactively execute code while debugging in Scala

有没有一种在调试时将代码插入Scala应用程序的方法? 例如,我可以这样吗?

var c = 1.0
0.until(10).foreach{ i =>
   if (i == 5) {
      startDebuggingMagicHere()
   }
}

然后我可以通过方法和赋值检查ci以及范围内的任何其他变量并与之交互。

在用于Eclipse的Scala-IDE插件中,支持调试。 在Scala代码中设置一个断点,您将能够做有限的事情。 当前的支持不如Java。 我相信计划在夏季之前进行改进。

您可以做的是:

  1. 使用“变量”视图查看变量的当前值并修改值,
  2. 告诉调试器“拖放到框架”,以便它使用堆栈中的原始值再次启动当前方法调用,
  3. 修改代码并保存文件,这会导致调试器插入新代码并放到框架中,即重新启动方法调用(这并不总是有效的-取决于您更改代码的数量,您可能需要重新启动应用程序,例如,如果您更改类定义)

您不能做的是:

  1. 检查编辑器中的变量,
  2. 在“显示”视图中编写代码并执行。 两者都适用于Java,但不适用于Scala。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM