MO
Causes the debugger to be entered on reaching the line that immediately follows the current call to another module; in other words, it steps over the call. Until then, single-stepping is disabled, but any other debugger entry conditions are obeyed.
The call may be an explicit CALL statement, a GOSUB statement or an external user function.
Syntax
MO{O}
Operation
The MO command is valid only if there is a call on the current line, otherwise it emulates a LF command.
The debugger is entered with a Return To Module
reason.
Only one MO or MX command can be active at any one time in a single context. If the debugger is entered in the meantime (for example, because of a break) then any subsequent MO and MX command returns a Command?
response.
MOO turns off MO stepping over (and MX stepping out) operations.
Example
:debug m.main
DEBUG Cmd/Stmt: M.MAIN 1 *E1
*V1
* Execution Count: M.MAIN 3 3 > CALL M.SUB1 *MO
In M.SUB1 In M.SUB2 In M.SUB3 In M.SUB4 In M.SUB4-LOCAL DEBUG Cmd/Stmt: M.SUB4 26, [11] 26 [11] > * * Return To Module: M.MAIN 4 4 > CRT "In M.MAIN" *W
1 rem TEST PROGRAM. 2 DEFFUN M.FUNC(A) 3 CALL M.SUB1 4 > CRT "In M.MAIN" *