Next: , Previous: Forward movement commands, Up: Debugger commands   [Contents][Index]


7.10.3 Backward movement commands


retry [-fio]
retry [-fio] num
retry [-fio] (‘clentry’|‘clique’)
retry [-fio] ‘clparent

If the command is given no arguments, restarts execution at the call port of the call corresponding to the current event. If the command is given the number num as argument, restarts execution at the call port of the call corresponding to the num’th ancestor of the call to which the current event belongs. For example, if num is 1, it restarts the parent of the current call. If the command is given the argument ‘clentry’ or ‘clique’, restarts execution at the call port of the call that first entered into the clique of recursive calls of which the current call is a part. (If the current call is not (mutually) recursive with any other currently active call, the restarted call will be the current call.) If the command is given the argument ‘clparent’, restarts execution at the call port of the first call outside the current call’s clique. This will be the parent of the call that ‘retry clentry’ would restart.


If invoked as ‘retry clentry’, ‘retry clique’ or ‘retry clparent’, this command will report an error unless we have stack trace information about all of the current call’s ancestors.


The command will also report an error unless the values of all the input arguments of the selected call are available at the return site at which control would reenter the selected call. (The compiler will keep the values of the input arguments of traced predicates as long as possible, but it cannot keep them beyond the point where they are destructively updated.) The exception is values of type ‘io.state’; the debugger can perform a retry if the only missing value is of type ‘io.state’ (there can be only one io.state at any given time).


Retries over I/O actions are guaranteed to be safe only if the events at which the retry starts and ends are both within the I/O tabled region of the program’s execution. If the retry is not guaranteed to be safe, the debugger will normally ask the user if they really want to do this. The option ‘-f’ or ‘--force’ suppresses the question, telling the debugger that retrying over I/O is OK; the option ‘-o’ or ‘--only-if-safe’ suppresses the question, telling the debugger that retrying over I/O is not OK; the option ‘-i’ or ‘--interactive’ restores the question if a previous option suppressed it.


track num [termpath]

Goto the EXIT event of the procedure in which the subterm in argument num at term path termpath was bound, and display information about where the term was bound.


Note that this command just invokes a script that is equivalent to running the following sequence of commands:

	dd
	browse num
	cd termpath
	track
	info
	pd


Next: , Previous: Forward movement commands, Up: Debugger commands   [Contents][Index]