Metadebugger command reference
You can find the list of MDB commands here.
evaluate [-full|-profile] [-nocache] [<type>|-]
Evaluate and start debugging a new metaprogram.
Evaluating a metaprogram using the-full
qualifier will expand all Memoization events.
Evaluating a metaprogram using the -profile
qualifier will enable
profile mode.
Instead of <type>
, evaluate can be called with -
, in which case the
whole environment is being debugged not just a single type expression.
If called without <type>
or -
, then the last evaluated metaprogram will
be reevaluated.
Previous breakpoints are cleared.
Evaluating a metaprogram using the -nocache
qualifier will disable caching of the events, which will prevent stepping backwards, predicting how many times a breakpoint will be hit and displaying forwardtrace.
Unlike metashell, evaluate doesn't use metashell::format to avoid cluttering
the debugged metaprogram with unrelated code. If you need formatting, you can
explicitly enter metashell::format< <type> >::type
for the same effect.
step [over|out] [n]
Step the program.
Argument n means step n times. n defaults to 1 if not specified. Negative n means step the program backwards.
step over
is an alias for next.
Use of the out
qualifier will jump out of the current instantiation frame.
Similarly to next
, step out -1
is not always the inverse of step out
.
next [n]
Jump over to the next instantiation skipping sub instantiations.
Argument n means jump n times. n defaults to 1 if not specified. Negative n means step the program backwards.
Please note that next -1
is not always the inverse of next
.
In particular when there are no more instantiations that got instantiated
by the current parent, then next
will behave like a normal step
,
and will step out of one or more instantiation frames.
step over
is an alias for next.
-
rbreak <regex>
Add breakpoint for all types matching<regex>
. -
break list
List breakpoints. -
continue [n]
Continue program being debugged.
The program is continued until the nth breakpoint or the end of the program is reached. n defaults to 1 if not specified. Negative n means continue the program backwards. -
finish
Finish program being debugged.
The program is continued until the end ignoring any breakpoints. -
forwardtrace|ft [n]
Print forwardtrace from the current point.
The n specifier limits the depth of the trace. If n is not specified, then the trace depth is unlimited. -
backtrace|bt
Print backtrace from the current point. -
frame|f n
Inspect the nth frame of the current backtrace. -
help [<command>]
Show help for commands.
Ifis not specified, show a list of all available commands. -
quit
Quit metadebugger.