即使发送了网络请求,当我执行网络请求时,调试器的断点也不会命中。
这里:
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())
则不会。为什么?
答案 0 :(得分:0)
尝试在要设置断点的行之前添加Debug.waitForDebugger()
。