发出网络请求时无法达到断点

时间:2019-01-18 16:10:50

标签: android gson retrofit2

即使发送了网络请求,当我执行网络请求时,调试器的断点也不会命中。

  1. 从ViewModel调用

这里:

fun getData(): Single<ArrayList<Data>> {
    return service.getData()
        .map { jsonApiObject ->
            val x: ArrayList<Data> = ArrayList() /*Breakpoint is here*/
            return@map x
        }
}

好吧,每当我调用此函数时,断点都应该命中,但事实并非如此。当我使用拦截器记录请求时,我可以看到请求链接是正确的,并且响应代码为200,且数据正确。是什么原因造成的?我试图重建项目/使缓存无效。

即使我使用Retrofit2设置了错误的gson转换器配置,理论上我仍然应该到达断点,并且仅当使用gson builder对象时,才出现错误,对吧?

[![在此处输入图片描述] [1]] [1]

发现原因:

每当我.addConverterFactory( JSONConverterFactory.create(...::class.java))调试器停止在map块内时,但是如果我这样做.addConverterFactory(GsonConverterFactory.create())则不会。为什么?

1 个答案:

答案 0 :(得分:0)

尝试在要设置断点的行之前添加Debug.waitForDebugger()