Asymptote now includes a line-based (as opposed to code-based)
debugger that can assist the user in following flow control. To set a
break point in file file at line line, use the command
void stop(string file, int line, code s=quote{});
The optional argument s may be used to conditionally set the variable
ignore in plain_debugger.asy to true. For example, the
first 10 instances of this breakpoint will be ignored (the
variable int count=0 is defined in plain_debugger.asy):
stop("test",2,quote{ignore=(++count <= 10);});
To set a break point in file file at the first line containing
the string text, use
void stop(string file, string text, code s=quote{});
To list all breakpoints, use:
void breakpoints();To clear a breakpoint, use:
void clear(string file, int line);To clear all breakpoints, use:
void clear();
The following commands may be entered at the debugging prompt:
hcisnfrt-vvvvv) mode;
qxAsymptote code may also be entered at the debugging prompt;
however, since the debugger is implemented with eval, currently
only top-level (global) variables can be displayed or modified.
The debugging prompt may be entered manually with the call
void breakpoint(code s=quote{});