在 RxJava(2) 中,有没有一种方法可以跟踪谁在 Subject 上调用了 onNext()?
Is there a way to trace who invoked onNext() on a Subject, in RxJava(2)?
我正在使用 RxJava2 开发一个 Android 应用程序(不过没关系),在一些单例中有一些 PublishProcessor
s.
并且在整个项目中对这些 PublishProcessor
进行了很多 .onNext()
调用。
现在为了调试,我需要知道在每次 .onNext()
调用时,我项目中的哪一行调用了此 .onNext()
。
我可以在 RxJava(2) 中实现这个目标吗?
我认为您可以使用 Debug
菜单中的 Frames
选项卡。
例如,在这种情况下,MainActivity
第 18 行触发 onNext
啊,感谢@PhanVanLinh,我找到了适合我的解决方案。
(其实跟RxJava没什么关系...)
你只需要使用 Thread.currentThread.stackTrace
打印堆栈跟踪并将其打印到你自己的字符串中 doOnNext()
,但记得在 before .observeOn()
为了线程不会切换,它必须停留在调用.onNext()
的原始线程,否则你将无法获得有意义的信息。
然后你就会知道调用.onNext()
.
的那一行
我正在使用 RxJava2 开发一个 Android 应用程序(不过没关系),在一些单例中有一些 PublishProcessor
s.
并且在整个项目中对这些 PublishProcessor
进行了很多 .onNext()
调用。
现在为了调试,我需要知道在每次 .onNext()
调用时,我项目中的哪一行调用了此 .onNext()
。
我可以在 RxJava(2) 中实现这个目标吗?
我认为您可以使用 Debug
菜单中的 Frames
选项卡。
例如,在这种情况下,MainActivity
第 18 行触发 onNext
啊,感谢@PhanVanLinh,我找到了适合我的解决方案。
(其实跟RxJava没什么关系...)
你只需要使用 Thread.currentThread.stackTrace
打印堆栈跟踪并将其打印到你自己的字符串中 doOnNext()
,但记得在 before .observeOn()
为了线程不会切换,它必须停留在调用.onNext()
的原始线程,否则你将无法获得有意义的信息。
然后你就会知道调用.onNext()
.