gon*_*opp 10 scala stack-trace
Scala堆栈跟踪非常复杂,特别是因为匿名函数转换为字节码的方式.这是一个例子:
java.lang.IllegalStateException
at com.company.IdentityVerifier$$anonfun$go$2$$anonfun$apply$2.apply$mcII$sp(IdentityVerifier.scala:19)
at com.company.IdentityVerifier$$anonfun$go$2$$anonfun$apply$2.apply(IdentityVerifier.scala:17)
at com.company.IdentityVerifier$$anonfun$go$2$$anonfun$apply$2.apply(IdentityVerifier.scala:17)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.immutable.List.foreach(List.scala:318)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
at scala.collection.AbstractTraversable.map(Traversable.scala:105)
at com.company.IdentityVerifier$$anonfun$go$2.apply(IdentityVerifier.scala:17)
at com.company.IdentityVerifier$$anonfun$go$2.apply(IdentityVerifier.scala:16)
at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
at scala.collection.immutable.List.foreach(List.scala:318)
at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:251)
at scala.collection.AbstractTraversable.flatMap(Traversable.scala:105)
at com.company.IdentityVerifier$.go(IdentityVerifier.scala:16)
at com.company.UserMap.setLastUserId(UserMap.scala:12)
at com.company.UserConsumer.setCurrentUser(UserConsumer.java:69)
at com.company.UserConsumer.consume(UserConsumer.java:64)
at com.company.UserProducer.execute(UserProducer.java:19)
at com.company.UserCreator.execute(UserCreator.java:18)
at com.company.UserCreatorMain$1.run(UserCreatorMain.java:37)
at com.company.UserCreatorMain.main(UserCreatorMain.java:51)
Run Code Online (Sandbox Code Playgroud)
我已经找到了stackifier(这是他们的例子),但是将堆栈跟踪粘贴到网页上很麻烦.有没有办法在控制台上打印"更好"的堆栈跟踪?
Intellij IDEA 有帮助,即使在您没有调试代码的情况下(并且 scala 插件应该可以与社区版本一起使用):
http://www.jetbrains.com/idea/webhelp/analyzing-external-stacktraces.html
你会得到一个可点击的堆栈跟踪,它会跳转到正确的位置。
我在 ScalaIDE 论坛上问过 ScalaIDE 是否也这样做。Mirco Dotta ninja 回应:
是的,确实如此,但这并不是在 Eclipse 中找到的最简单的特性。您需要打开“Java StackTrace 控制台”
还没有问过 emacs,有人请帮忙。
此外,请尝试考虑“神秘”名称(请参阅 c++ 名称修改)是您为增加灵活性而付出的代价。
归档时间: |
|
查看次数: |
1224 次 |
最近记录: |