You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Following #38, which involves unconditional breakpoints, it would be really nice to have /conditional watchpoints/ that trigger when a condition is true. Unlike a normal debugger, we have some options.
We clearly wouldn't want them to trigger if the condition is concretely false
We almost certainly want them to trigger if the condition is concretely true
We may want them to trigger when the condition may be true - especially if we can provide a term explaining the conditions under which it might trigger.
As far as UI, this would be much like the breakpoint functionality. Supporting source-level watches would be simple (tied to a source location). Supporting adding located watches from the TUI would involve some more effort:
We need a method for specifying the condition under which the watch should trigger. There could be a UI for assembling simple predicates, but that isn't very satisfying. Specifying them via a programming language (or perhaps JSON?) would be really nice.
The performance characteristics are interesting - aside from the concretely true and false cases, determining whether or not the watchpoint should trigger requires a solver invocation, which can be expensive. Communicating that to users would be an interesting challenge.
The text was updated successfully, but these errors were encountered:
Following #38, which involves unconditional breakpoints, it would be really nice to have /conditional watchpoints/ that trigger when a condition is true. Unlike a normal debugger, we have some options.
As far as UI, this would be much like the breakpoint functionality. Supporting source-level watches would be simple (tied to a source location). Supporting adding located watches from the TUI would involve some more effort:
The text was updated successfully, but these errors were encountered: