在IDE中调试Scala序列



当我试图在IntelliJ或Scala IDE中调试以下代码时,调试器会卡在第一行的断点上,并试图逐步完成所有100次迭代。IntelliJ对游标的运行不会跳过行,eclipse也不会跳过行。关于如何处理这个案子有什么想法吗?

object Test extends App {
  val data: Array[Int] = (0 to 100).map(i => (i+1)).toArray
  println(data)
}

在Eclipse中,映射行上的断点似乎位于anonfun的应用程序处,尝试介入会将您带回断点,而介入会使您处于专门的应用程序。

但您也可以选择一个堆栈帧并在那里设置断点,例如在TraversableLike.map末尾的result。您可以禁用第一个断点(在断点视图中)以快速到达那里。

然后stepreturn和step-in会将您带到newArray。

您可以以通常的方式使用javap来查看您的步骤:

javap -p -v bin/Test$$anonfun$1.class

最新更新