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.

Reply via email to