go-skip-qqq: Flow control for debugger

Description Usage Arguments Details Author(s) See Also

Description

go, skip and qqq ONLY work inside the debugger, i.e. while you are paused at a D(...)> prompt during the execution of a function that has been mtraced. go makes the debugger begin executing code continuously, without user intervention; skip(n) shifts the execution point; qqq() quits the debugger.

Usage

1
2
3
go(line.no) # line.no can be missing
skip(line.no)
qqq()

Arguments

line.no

a line number, as shown in the code window (see also DETAILS)

Details

go() without any argument puts the debugger into "go mode", whereby it starts executing function code without pausing for input (see package?debug). go(n) basically means "run continuously until you reach line n". It sets a temporary breakpoint at line n, which is triggered the first time line n is reached and then immediately cleared.

skip(n) moves the execution point (highlighted in the code window) to line n, without executing any intervening statements. You can skip forwards and backwards, and between the main function code and the exit code. You can skip in and out of loops and conditionals, except that you can't skip into a for loop (the execution point will move to the start of the loop instead). Note that skipping backwards does not undo any statements already executed. skip is useful for circumventing errors, and for ensuring that exit code gets run before calling qqq().

qqq() quits the debugger, closing all code windows, and returns to the command prompt. No further code statements will be executed, which means no exit code either; take care with open files and connections.

Author(s)

Mark Bravington

See Also

package debug, mtrace, bp


debug documentation built on May 30, 2017, 2:23 a.m.

Related to go-skip-qqq in debug...