在堆栈跟踪中显示Xtend源行号

时间:2016-05-08 21:17:41

标签: xtend

因为Xtend代码被编译为Java,所以堆栈跟踪包含生成的Java源代码的行号,而不是原始的Xtend源代码:

package test

class Main
{
    def static void main(String[] args)
    {
        method // line #7
    }

    def static method()
    {
        throw new RuntimeException // Line #12
    }
}

堆栈跟踪:

Exception in thread "main" java.lang.RuntimeException
    at test.Main.method(Main.java:10)
    at test.Main.main(Main.java:6)

我的问题:是否有可能在堆栈跟踪中显示Xtend行号?

我问它是因为首先浏览Java代码并不熟悉,然后找出相应的Xtend代码(特别是没有IDE)。
此外(理论上)生成的 Java代码可能无法签入SCM系统。

1 个答案:

答案 0 :(得分:1)

不幸的是,没有IDE,目前无法做到这一点。如果您使用Eclipse,则可以将堆栈跟踪复制/粘贴到Java Stack Trace Console(控制台视图中打开consol按钮旁边的下拉列表),然后,当您单击stacktrace的任何部分时,它将带您到xtend源中的正确位置 - 无需从生成的java源手动回溯它。