From bfe081b421fc684418904b59eacca157722e5d6e Mon Sep 17 00:00:00 2001 From: FellippeHeitor Date: Mon, 19 Jul 2021 02:30:16 -0300 Subject: [PATCH] Handles STOP as a regular breakpoint in $DEBUG mode. --- source/qb64.bas | 8 ++++++-- source/utilities/vwatch/vwatch.bm | 5 +++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/source/qb64.bas b/source/qb64.bas index 6c2936945..c6f91d241 100644 --- a/source/qb64.bas +++ b/source/qb64.bas @@ -8855,8 +8855,12 @@ DO 'note: this value is currently ignored but evaluated for checking reasons END IF layoutdone = 1: IF LEN(layout$) THEN layout$ = layout$ + sp + l$ ELSE layout$ = l$ - PRINT #12, "close_program=1;" - PRINT #12, "end();" + IF vWatchOn = 1 AND NoChecks = 0 THEN + PRINT #12, "*__LONG_VWATCH_LINENUMBER=-3; SUB_VWATCH((ptrszint*)vwatch_local_vars);" + ELSE + PRINT #12, "close_program=1;" + PRINT #12, "end();" + END IF GOTO finishedline END IF END IF diff --git a/source/utilities/vwatch/vwatch.bm b/source/utilities/vwatch/vwatch.bm index 137d4fea0..1bd50363c 100644 --- a/source/utilities/vwatch/vwatch.bm +++ b/source/utilities/vwatch/vwatch.bm @@ -90,6 +90,11 @@ SUB vwatch (localVariables AS _OFFSET) IF LEN(vwatch_callstack) THEN vwatch_callstack = vwatch_callstack + CHR$(0) vwatch_callstack = vwatch_callstack + vwatch_subname$ + ", line" + STR$(lastLine) EXIT SUB + ELSEIF vwatch_linenumber = -3 THEN + 'handle STOP - instead of quitting, pause execution + pauseMode = -1 + stepOver = 0 + EXIT SUB END IF IF vwatch_linenumber = lastLine THEN EXIT SUB