我正在尝试调试我的协程,但是在挂起函数中放置断点无效。请帮助我理解原因。
使用Android Studio进行工作。
好的,我从viewModelScope启动了一个协程:
viewModelScope.launch(IO) {
when(val result = interactor.getAllWords()){...}
}
在getAllWords()
中,我写道:
override suspend fun getAllWords(): WordResult {
val words = mutableListOf<Word>()
when (val wordsResult = getAllWordsWithoutFiltersApplying()) {}
...
return getWordsWithSelectedPattern()
我有两个挂起函数:getAllWordsWithoutFiltersApplying()
和 getWordsWithSelectedPattern()
。我在这两个函数中都设置了断点,但是在调试模式下它们没有触发。
同时,当我把断点放到代码行val words = mutableListOf<Word>()
上时,它会触发。
如果我在“非跟踪”函数中添加一些日志输出,它们可以正常工作。也就是说,挂起函数是有效的,但是断点不起作用。
我该如何调试它们?
* 我已经添加了截图。请查看左侧的图标行。为什么我的行不可用?
getAllWordsWithoutFiltersApplying()
的完整代码吗? - Kushal