mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-06-30 05:10:37 +00:00
Implements "Run To This Line".
This commit is contained in:
parent
b56ceb924d
commit
2097f35a8b
|
@ -6237,8 +6237,9 @@ SUB DebugMode
|
||||||
IdeDebugMode = 1
|
IdeDebugMode = 1
|
||||||
GOTO requestPause
|
GOTO requestPause
|
||||||
CASE 8
|
CASE 8
|
||||||
'IdeDebugMode = 1
|
IdeDebugMode = 1
|
||||||
'GOTO requestPause
|
result = idecy
|
||||||
|
GOTO requestRunToThisLine
|
||||||
CASE 9
|
CASE 9
|
||||||
IdeDebugMode = 1
|
IdeDebugMode = 1
|
||||||
GOTO requestQuit
|
GOTO requestQuit
|
||||||
|
@ -6747,12 +6748,28 @@ SUB DebugMode
|
||||||
GOSUB UpdateDisplay
|
GOSUB UpdateDisplay
|
||||||
CASE 103, 71 'g, G
|
CASE 103, 71 'g, G
|
||||||
IF _KEYDOWN(100306) OR _KEYDOWN(100305) THEN
|
IF _KEYDOWN(100306) OR _KEYDOWN(100305) THEN
|
||||||
result = idegetlinenumberbox("Set Next Line")
|
IF _KEYDOWN(100304) OR _KEYDOWN(100303) THEN
|
||||||
PCOPY 3, 0: SCREEN , , 3, 0
|
result = idegetlinenumberbox("Run To Line")
|
||||||
requestSetNextLine:
|
PCOPY 3, 0: SCREEN , , 3, 0
|
||||||
IF result > 0 AND result < iden THEN
|
requestRunToThisLine:
|
||||||
cmd$ = "set next line:" + MKL$(result)
|
IF result > 0 AND result < iden THEN
|
||||||
GOSUB SendCommand
|
PauseMode = 0
|
||||||
|
debugnextline = 0
|
||||||
|
cmd$ = "run to line:" + MKL$(result)
|
||||||
|
GOSUB SendCommand
|
||||||
|
clearStatusWindow 1
|
||||||
|
setStatusMessage 1, "Running...", 10
|
||||||
|
GOSUB UpdateDisplay
|
||||||
|
dummy = DarkenFGBG(1)
|
||||||
|
END IF
|
||||||
|
ELSE
|
||||||
|
result = idegetlinenumberbox("Set Next Line")
|
||||||
|
PCOPY 3, 0: SCREEN , , 3, 0
|
||||||
|
requestSetNextLine:
|
||||||
|
IF result > 0 AND result < iden THEN
|
||||||
|
cmd$ = "set next line:" + MKL$(result)
|
||||||
|
GOSUB SendCommand
|
||||||
|
END IF
|
||||||
END IF
|
END IF
|
||||||
END IF
|
END IF
|
||||||
CASE 112, 80 'p, P
|
CASE 112, 80 'p, P
|
||||||
|
|
|
@ -2,7 +2,7 @@ $CHECKING:OFF
|
||||||
|
|
||||||
SUB vwatch (localVariables AS _OFFSET)
|
SUB vwatch (localVariables AS _OFFSET)
|
||||||
STATIC AS LONG ideHost, breakpointCount, skipCount, timeout, startLevel, lastLine
|
STATIC AS LONG ideHost, breakpointCount, skipCount, timeout, startLevel, lastLine
|
||||||
STATIC AS LONG callStackLength
|
STATIC AS LONG callStackLength, runToLine
|
||||||
STATIC AS _BYTE pauseMode, stepOver, bypass, setNextLine
|
STATIC AS _BYTE pauseMode, stepOver, bypass, setNextLine
|
||||||
STATIC buffer$, endc$
|
STATIC buffer$, endc$
|
||||||
DIM AS LONG i
|
DIM AS LONG i
|
||||||
|
@ -121,6 +121,7 @@ SUB vwatch (localVariables AS _OFFSET)
|
||||||
CASE "break"
|
CASE "break"
|
||||||
pauseMode = -1
|
pauseMode = -1
|
||||||
stepOver = 0
|
stepOver = 0
|
||||||
|
runToLine = 0
|
||||||
cmd$ = ""
|
cmd$ = ""
|
||||||
CASE "set breakpoint"
|
CASE "set breakpoint"
|
||||||
vwatch_breakpoints(CVL(value$)) = -1
|
vwatch_breakpoints(CVL(value$)) = -1
|
||||||
|
@ -145,6 +146,13 @@ SUB vwatch (localVariables AS _OFFSET)
|
||||||
pauseMode = -1
|
pauseMode = -1
|
||||||
END IF
|
END IF
|
||||||
|
|
||||||
|
IF runToLine > 0 AND runToLine <> vwatch_linenumber THEN
|
||||||
|
EXIT SUB
|
||||||
|
ELSEIF runToLine > 0 AND runToLine = vwatch_linenumber THEN
|
||||||
|
pauseMode = -1
|
||||||
|
runToLine = 0
|
||||||
|
END IF
|
||||||
|
|
||||||
IF vwatch_breakpoints(vwatch_linenumber) = 0 AND pauseMode = 0 THEN
|
IF vwatch_breakpoints(vwatch_linenumber) = 0 AND pauseMode = 0 THEN
|
||||||
EXIT SUB
|
EXIT SUB
|
||||||
END IF
|
END IF
|
||||||
|
@ -162,6 +170,12 @@ SUB vwatch (localVariables AS _OFFSET)
|
||||||
stepOver = 0
|
stepOver = 0
|
||||||
vwatch_starttimers
|
vwatch_starttimers
|
||||||
EXIT SUB
|
EXIT SUB
|
||||||
|
CASE "run to line"
|
||||||
|
pauseMode = 0
|
||||||
|
stepOver = 0
|
||||||
|
runToLine = CVL(value$)
|
||||||
|
vwatch_starttimers
|
||||||
|
EXIT SUB
|
||||||
CASE "step"
|
CASE "step"
|
||||||
pauseMode = -1
|
pauseMode = -1
|
||||||
stepOver = 0
|
stepOver = 0
|
||||||
|
|
Loading…
Reference in a new issue