断点未在 Intellij 中的 Kotlin 回调中命中



在下面的代码中,我在它说println("yoyo")的行上放了一个断点,但它没有被命中。这是在IntelliJ IDEA 2016.2.5上构建于 #IC-162.2228.15,构建于 2016 年 10 月 14 日。我该如何解决这个问题?

class XxxTest {
    @Test
    fun xxx(){
        object : dummyInterface{
            override fun bbb() {
                println("yoyo")
            }
        }
    }
    interface dummyInterface{
        fun bbb()
    }
}

您的函数xxx使用对象表达式创建从dummyInterface继承的匿名类的对象。问题是你没有在任何地方使用这个对象,也没有存储它的引用,所以它只是被创建而从未被调用。

要使调试在断点处停止,您必须实际调用该方法。

val obj = object : dummyInterface {
    override fun bbb() {
        println("yoyo")
    }
}
obj.bbb()

最新更新