ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ivan Bessonov <bessonov...@gmail.com>
Subject Re: Async debugging in IDEA
Date Wed, 19 Dec 2018 08:51:33 GMT
Hi guys,

First of all, considering cons: I couldn't find a way to see the whole
stacktrace from worker in "Frames" window. Maybe this'll be fixed in
future versions of IDEA. Workaround it to use "Threads" tab of the
debugger. It's not that comfortable but does its job pretty well.

> Are there any chances to keep variable's values at original stacktrace?

No, runtime overhead would be way too big. The only stored information
is pretty much the array of "StackTraceElement" objects.

> Will this work correctly in case of concurrent calls?
for example, when more that one stacktrace will cause same async op.

I believe that if you actually submit the same object twice as a listener
from two different places in code then debugger agent will process it
incorrectly (it'll show the latest submission point). Everything else should
work fine.
The best explanation of the internal mechanisms is the source code,
you can always use it as a reference [1].

[1]
https://github.com/JetBrains/intellij-community/blob/master/java/debugger/debugger-agent-storage/src/com/intellij/rt/debugger/agent/CaptureStorage.java

вт, 18 дек. 2018 г. в 20:13, Anton Vinogradov <av@apache.org>:

> Folks,
>
> That's extremely awesome!
> Now I see what stacktrace cause future creation and who will gain the
> result and how.
>
> Are there any chances to keep variable's values at original stacktrace?
>
> Will this work correctly in case of concurrent calls?
> for example, when more that one stacktrace will cause same async op.
> Will this feature guarantee that I see exactly that what caused this async,
> not one of possible?
>
> Cons.
> Is there any chances now to see the whole stacktrace starting from worker
> got a message from the queue?
>
> On Fri, Dec 14, 2018 at 6:53 PM Dmitriy Pavlov <dpavlov@apache.org> wrote:
>
> > Looks cool, I will try
> >
> > пт, 14 дек. 2018 г. в 16:46, Павлухин Иван <vololo100@gmail.com>:
> >
> > > Hi Igniters,
> > >
> > > I would like to share with you that now it is possible to use IDEA
> > > async debugger for debugging Ignite futures. And we should thank Ivan
> > > Bessonov for that awesome contribution [1].
> > >
> > > Most of your might be already familiar with async debugger in IDEA.
> > > For the rest I prepared two screenshots [2], [3]. We can see regular
> > > stacktrace on breakpoint hit in future completion callback which is
> > > extended with an additional stacktrace showing a path where the
> > > callback was installed.
> > >
> > > Thank you Ivan!
> > >
> > > [1] https://issues.apache.org/jira/browse/IGNITE-10475
> > > [2]
> > >
> >
> https://gist.githubusercontent.com/pavlukhin/c8c7c6266eeab56048c31f5cdfb31d20/raw/bfe32b8c11a67ccc3bcbbb8b398e39a8a818cad6/adebug1.png
> > > [3]
> > >
> >
> https://gist.githubusercontent.com/pavlukhin/c8c7c6266eeab56048c31f5cdfb31d20/raw/bfe32b8c11a67ccc3bcbbb8b398e39a8a818cad6/adebug2.png
> > >
> > > --
> > > Best regards,
> > > Ivan Pavlukhin
> > >
> >
>


-- 
Sincerely yours,
Ivan Bessonov

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message