MX

Causes the debugger to be entered immediately on returning from the current module to the calling module; in other words, it steps out of the current module. 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

MX{O}

Operation

The MX command is valid only within an external code module or function; otherwise it returns a Command? response.

The debugger is entered with a Return To Module reason.

Only one MX or MO 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 MX and MO command returns a Command? response.

MXO turns off MX stepping out (and MO stepping over) operations.

Example

:debug m.main 
DEBUG Cmd/Stmt:   M.MAIN 1
*E1 
*V1 
*

Execution Count:  M.MAIN 3
3  > CALL M.SUB1
*mx 
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"
*