Scala 2中对应Scala 3的-Ydebug-error编译选项如何开启?
Scala 2.13.7 开启编译错误堆栈跟踪方案
Scala 2 没有与 Scala 3 -Ydebug-error 同名的配置项,但可以通过等效的编译器选项实现相同效果,具体配置方式分两种场景:
直接使用 scalac 命令编译
- 核心选项为
-Yshow-trace,开启后所有编译期异常都会输出完整堆栈跟踪,如需更完整的调试上下文可以搭配-Ydebug一起使用 - 命令示例:
scalac -Yshow-trace YourCode.scala
在 sbt 项目中配置
永久配置(写入项目配置)
在项目的 build.sbt 文件中添加以下内容即可全局生效:
scalacOptions ++= Seq("-Yshow-trace") // 如需额外调试信息可加上 "-Ydebug"
临时调试(不修改配置文件)
启动 sbt 时直接动态注入配置即可:
sbt "set scalacOptions += \"-Yshow-trace\"" compile
排查提示
打印出堆栈后,你可以直接查看栈帧中的类包名,只要包含你自定义插件的包路径即可确认错误是由你的插件触发。如果觉得输出冗余,不需要额外调试信息的话可以不用加 -Ydebug 选项,仅保留 -Yshow-trace 即可只输出异常堆栈。
内容的提问来源于stack exchange,提问作者tribbloid
相关产品推荐
相关产品推荐

