在IDE中调试Scala序列?

时间:2015-02-04 02:14:32

标签: 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)
}

1 个答案:

答案 0 :(得分:1)

在Eclipse中,看起来地图一行的断点是anonfun的应用,并且尝试介入会让你回到断点,而踩过来会让你处于专门的应用状态。

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

然后步骤返回和步入将您带到newArray。

您可以通过常规方式使用javap来查看您介入的内容:

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