Comment #44 on issue 3093 by [email protected]: Debugging promises
http://code.google.com/p/v8/issues/detail?id=3093
Breakpoint debugging relies on, well, breakpointing. Thus any solution to
this fundamental problem of promises within a breakpoint debugger has to
result in the developer stopped on a breakpoint at the point where the
uncaught exception is thrown. How could we get there?
As discussed here, breaking on uncaught exception is impractical because
the old technique of marking an exception as "uncaught" relies on examining
the call stack for catch handlers. In the case of promises, the exception
is very likely to be in a different call stack from potential handlers.
Breaking on all exceptions leads to too many false breaks.
Support for conditional exception breakpoints would make this situation and
several others much less painful. The idea is to allow developers and/or
libraries to indicate which exceptions are known to be handled correctly by
the program so that breaking on any other exception will likely be valuable
to the developer. One approach is discussed on the Chrome devtools issue
list:
https://code.google.com/p/chromium/issues/detail?id=108779
Coupled with a JustMyCode-like filter, this approach could improve Yang's
effort. Then it could be extended to allow conditional breakpoints based on
Promise dependency chain analysis. This is much more difficult because it
must be done across executions. (I'm skeptical that simply displaying
promise chain info will be helpful for developers since if the buy into
Promises they will have lots of them.)
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.