Just type "c" or "continue" in fdb to continue execution.

On 1/13/2011 7:34 PM, P T Withington wrote:
One thing I couldn't figure out in fdb:

how to continue from a caught exception?

I tried running with `catch *` and always got stuck on some error in an Adobe 
library, which must be handled, because my program does not fail.  And `catch 
ReferenceError` was too narrow.  I tried `catch TypeError` (what I was really 
looking for), but that seems not to be supported.

On 2011-01-13, at 13:25, Henry Minsky wrote:

That would be a good option. Actually, there is a 'catch' command in the
flex fdb debugger that I recall does  to tell it to break to the debugger
when a runtime error is thrown, even if it is caught by a try-catch in the
code.

(fdb) help catch
Halt when an exception is thrown.  This only affects caught
exceptions -- that is, exceptions that are going to be handled
by a "catch" block.  Uncaught exceptions always halt in the
debugger.

Use the "delete" command to delete a catchpoint.

Examples:
  catch *
    Halts when any exception is thrown.
  catch ReferenceError
    Halts whenever a ReferenceError is thrown, whether
    caught or uncaught.
(fdb)

On Thu, Jan 13, 2011 at 11:41 AM, P T Withington<[email protected]>  wrote:

Nicely done.  Approved.

I wonder if we should have a flag in our debugger to have it optionally
enter the native debugger any time it would signal an error?  Native
debuggers probably already have a 'catch errors' feature, whereby they enter
the debugger if an error is about to be thrown, but we've not implemented
our runtime errors that way:  we just call Debug.error.  So, one idea would
be for Debug.error to check for the flag and call the native debugger if the
flag is set, rather than just returning.

Another approach would be to be more disciplined with our runtime errors.
To actually throw an error for each of them and rely on our normal
debug/catch mechanism to report them.

On 2011-01-12, at 20:43, André Bargull wrote:

Change bargull-20110113-T2l by bargull@Bargull02 on 2011-01-13 02:23:19
in /home/anba/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: allow "debugger" statement in code

New Features: LPP-5540 (DHTML: using "debugger"-keyword), LPP-9372 (Add
LFC APIs for native breakpoints and stack traces) (partial)
Technical Reviewer: ptw
QA Reviewer: max

Overview:
The "debugger" statement is now allowed in code and opens the runtime
debugger if available

Details:
Parser.jjt:
- add<DEBUGGER>  to the allowed tokens for IdentifierOrKeyword() since
"debugger" is allowed to be in a MemberExpression
- add new DebuggerStatement() production
- add DebuggerStatement() to the TopLevelStatement() production

CommonGenerator:
- handle ASTDebuggerStatement in visitStatement()

EmptyParserVisitor:
- add visit() method for ASTDebuggerStatement

GenericVisitor:
- handle ASTDebuggerStatement in visitStatement()
- add visit method for ASTDebuggerStatement

ParserTreePrinter:
- handle ASTDebuggerStatement in visit()
- implement visit method which simply outputs "debugger"

SWF9Generator:
- override visit method from CommonGenerator and replace
ASTDebuggerStatement with function call to "$lzsc$debugger()"
SWF9ParseTreePrinter:
- throw exception in visit method for ASTDebuggerStatement, it should
already have been processed by SWF9Generator
LzRuntime.lzs:
- provide access to the enterDebugger() function, this helps to avoid
importing the "flash.debugger" package everytime the debugger statement is
used


Tests:
test case from bugreport in dhtml+firebug, swf10+fdb opens the runtime
debugger
Files:
M WEB-INF/lps/server/sc/src/org/openlaszlo/sc/Parser.jjt
M WEB-INF/lps/lfc/compiler/LzRuntime.lzs
M WEB-INF/lps/server/src/org/openlaszlo/sc/EmptyParserVisitor.java
M WEB-INF/lps/server/src/org/openlaszlo/sc/CommonGenerator.java
M WEB-INF/lps/server/src/org/openlaszlo/sc/SWF9Generator.java
M WEB-INF/lps/server/src/org/openlaszlo/sc/SWF9ParseTreePrinter.java
M WEB-INF/lps/server/src/org/openlaszlo/sc/GenericVisitor.java
M WEB-INF/lps/server/src/org/openlaszlo/sc/ParseTreePrinter.java

Changeset:
http://svn.openlaszlo.org/openlaszlo/patches/bargull-20110113-T2l.tar



--
Henry Minsky
Software Architect
[email protected]


Reply via email to