[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
14 Debugger
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{});
void breakpoints();
void clear(string file, int line);
To clear all breakpoints, use:
void clear();
The following commands may be entered at the debugging prompt:
h
c
continue execution;
i
step to the next instruction;
s
step to the next executable line;
n
step to the next executable line in the current file;
f
step to the next file;
r
return to the file associated with the most recent breakpoint;
t
toggle tracing (
-vvvvv
) mode;q
quit debugging and end execution;
x
exit the debugger and run to completion.
Arbitrary Asymptote
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{});
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated on May 24, 2014 using texi2html 5.0.