首页 > 解决方案 > 有没有办法在 RxJava(2) 中跟踪谁在主题上调用了 onNext()?

问题描述

我正在使用 RxJava2 开发一个 Android 应用程序(虽然没关系),并且在一些单例中有一些PublishProcessors.

并且在整个项目中都有很多.onNext()关于这些的调用。PublishProcessor

现在为了调试,我需要知道,在每次.onNext()调用时,我的项目中的哪一行调用了 this .onNext()

在 RxJava(2) 中有没有一种方法可以实现这一点?

标签: androidkotlinrx-javarx-java2

解决方案


啊,感谢@PhanVanLinh,我找到了一个适合我的解决方案。

(实际上它与 RxJava 几乎没有关系......)

您只需要使用打印堆栈跟踪Thread.currentThread.stackTrace并将其打印到您自己的字符串里面doOnNext(),但记得在之前 .observeOn()这样做,以便线程不会切换,它必须停留在调用的原始线程.onNext(),否则您将无法获得有意义的信息.

然后你就会知道调用了哪条线.onNext()


推荐阅读