From: SourceForge.net <no...@so...> - 2009-03-23 07:03:36
|
Feature Requests item #2705318, was opened at 2009-03-23 01:03 Message generated for change (Tracker Item Submitted) made by mwillmek You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=684733&aid=2705318&group_id=119701 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Interpreter Group: Next Release Status: Open Resolution: None Priority: 5 Private: No Submitted By: Miles Willmek (mwillmek) Assigned to: Nobody/Anonymous (nobody) Summary: Custom trace handling: something like CALL ON EACHCLAUSE Initial Comment: It would be very useful for debugging to support custom tracing. At its simplest something like... /* Future ooRexx release */ call on EACHCLAUSE -- code here exit /* Custom watch handler */ EACHCLAUSE: -- condition delayed until return if x > 0 | y < 0 then do say '*** Watch triggered, Line=' sigl say sourceline(sigl) say 'Watch: X=' || x ', Y=' y trace '?I' -- ?? EACHCLAUSE remains delayed during -- interactive trace end return /* I have no idea how much overhead would be ** involved. Maybe it should require an invocation ** of a new option of TRACE to enable. To take it ** further... */ /* Multiple Watch Handlers */ trace 'W' -- enable custom watch handling -- WATCH condition raised if expr = .true call on WATCH 'WATCH1' (x > 0 | y < 0) call on WATCH 'WATCH2' (s \== '') -- WATCH condition raised if X or Y changes value call on WATCH 'WATCH1' VAR X Y -- code exit WATCH1: -- handler: display name, expr, etc. WATCH2: -- handler /* Maybe it could be used from the trace prompt ** to enter one-off watches: ** ** trace> call on watch NONAME (x = 0) TRACE ?I ** trace> trace 999 ** ** back to trace prompt after (x = 0) or 999 clauses */ /* eventually it would be nice if signal and call ** handlers could be defined for CLASSes or PACKAGEs. */ ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=684733&aid=2705318&group_id=119701 |