-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Display artificial stack frames as calls to functions instead of text #2461
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
import kotlinx.coroutines.* | ||
|
||
/** | ||
* A collection of artificial stack trace elements to be included in stack traces by the coroutines machinery. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can slightly improve this documentation: mention that it is for debugging purposes only and leave links to to the debug mode document and the corresponding property
8807021
to
06ca058
Compare
06ca058
to
3bd0554
Compare
I tested IDE navigation in this program: https://github.com/dkhalanskyjb/testRepo/tree/check-stacktrace-navigation. I couldn't make it break and can't imagine a reason for the current solution to fail. Though the namespace pollution does worry me, it is the case that at the time when the sources for a dependency are not yet downloaded, IDE is unable to determine where |
119e84a
to
806c67c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great job! 👍
806c67c
to
619d262
Compare
#2461 introduced a problem where the coroutine debugger in the IDE would crash: #2690 According to @nikita-nazarov, the coroutine debugger crashes at a point where a stack trace is already available and the IDE plugin attempts to look up every class listed in the stack trace. The new classes listed in the artificial stack frames were never loaded, as only their names were accessed. Now, we force these classes to be loaded, and it seems like the crash disappears.
Fixes #2291