Bug 158034
Summary: | Web Inspector: when paused due to "All Exceptions" breakpoint, there's no way to interact with an exception object originating from a native function | ||
---|---|---|---|
Product: | WebKit | Reporter: | Blaze Burg <bburg> |
Component: | Web Inspector | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW | ||
Severity: | Normal | CC: | graouts, inspector-bugzilla-changes, webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar |
Version: | WebKit Nightly Build | ||
Hardware: | All | ||
OS: | All |
Blaze Burg
When paused due to "All Uncaught Exceptions", there is often a variable holding the exception, so it's possible to log that to console and poke at it.
However, for "All Exceptions", the debugger pauses at the call site and doesn't show the exception in the locals sidebar, a popover, or anywhere besides the Pause Reason text.
STEPS TO REPRODUCE:
0. Enable pause on "All Exceptions"
1. Type this in the console:
JSON.parse("}}")
EXPECTED:
It shows the Console Evaluation source. It also logs the exception to the console, or makes it appear in a popover next to the call site, or the Pause Reason text is clickable (to log to console).
ACTUAL:
Can't see anything!
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Blaze Burg
Note: this is only really a problem for native functions that throw exceptions. If user code does it, the debugger will usually stop at the `throw` statement.
Joseph Pecoraro
You can use $exception in the console to interact with the thrown or I caught error.
Blaze Burg
(In reply to comment #2)
> You can use $exception in the console to interact with the thrown or I
> caught error.
Maybe we should auto-log it with the '= $exception' to make this more obvious.
Blaze Burg
Ping for import.
Alexey Proskuryakov
<rdar://problem/28213526>