在RxJava(2)中,是否可以跟踪谁在某个Subject上调用了onNext()?

时间:2019-07-16 01:33:05

标签: android kotlin rx-java rx-java2

我正在使用RxJava2开发Android应用(尽管没关系),并且在某些情况下有一些PublishProcessor

在整个项目中,这些.onNext()上有很多PublishProcessor调用。

现在,为了进行调试,我需要在调用的每个.onNext()上知道项目中的哪一行调用了此.onNext()

RxJava(2)中是否可以实现这一目标?

2 个答案:

答案 0 :(得分:2)

啊,感谢@PhanVanLinh,我找到了一个对我有用的解决方案。

(实际上,它与RxJava无关...)

您只需要使用Thread.currentThread.stackTrace打印stacktrace并将其打印到doOnNext()内的自己的字符串中,但是请记住在之前 .observeOn()之前进行操作该线程将不会切换,它必须停留在名为.onNext()的原始线程上,否则您将无法获得有意义的信息。

然后,您将知道哪个行叫.onNext()

答案 1 :(得分:1)

我认为您可以使用Frames菜单中的Debug标签。
例如,在这种情况下,MainActivity第18行触发onNext