diff --git a/source/qb64.bas b/source/qb64.bas index edd873e02..b6033f4da 100644 --- a/source/qb64.bas +++ b/source/qb64.bas @@ -5278,7 +5278,7 @@ DO PRINT #12, "exit_subfunc:;" IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN IF NoChecks = 0 THEN - PRINT #12, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH(__LONG_VWATCH_LINENUMBER,(ptrszint*)vwatch_local_vars);" + PRINT #12, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_local_vars);" END IF PRINT #12, "*__LONG_VWATCH_SUBLEVEL=*__LONG_VWATCH_SUBLEVEL- 1 ;" END IF @@ -5556,7 +5556,7 @@ DO IF stringprocessinghappened THEN e$ = cleanupstringprocessingcall$ + e$ + ")" IF (typ AND ISSTRING) THEN a$ = "WHILE ERROR! Cannot accept a STRING type.": GOTO errmes IF NoChecks = 0 AND vWatchOn = 1 THEN - PRINT #12, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH(__LONG_VWATCH_LINENUMBER,(ptrszint*)vwatch_local_vars);" + PRINT #12, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_local_vars);" END IF PRINT #12, "while((" + e$ + ")||new_error){" ELSE @@ -5615,13 +5615,13 @@ DO IF (typ AND ISSTRING) THEN a$ = "DO ERROR! Cannot accept a STRING type.": GOTO errmes IF whileuntil = 1 THEN PRINT #12, "while((" + e$ + ")||new_error){" ELSE PRINT #12, "while((!(" + e$ + "))||new_error){" IF NoChecks = 0 AND vWatchOn = 1 THEN - PRINT #12, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH(__LONG_VWATCH_LINENUMBER,(ptrszint*)vwatch_local_vars);" + PRINT #12, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_local_vars);" END IF controltype(controllevel) = 4 ELSE controltype(controllevel) = 3 IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 AND NoChecks = 0 THEN - PRINT #12, "do{*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH(__LONG_VWATCH_LINENUMBER,(ptrszint*)vwatch_local_vars);" + PRINT #12, "do{*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_local_vars);" ELSE PRINT #12, "do{" END IF @@ -5655,14 +5655,14 @@ DO IF (typ AND ISSTRING) THEN a$ = "LOOP ERROR! Cannot accept a STRING type.": GOTO errmes PRINT #12, "dl_continue_" + str2$(controlid(controllevel)) + ":;" IF NoChecks = 0 AND vWatchOn = 1 THEN - PRINT #12, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH(__LONG_VWATCH_LINENUMBER,(ptrszint*)vwatch_local_vars);" + PRINT #12, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_local_vars);" END IF IF whileuntil = 1 THEN PRINT #12, "}while((" + e$ + ")&&(!new_error));" ELSE PRINT #12, "}while((!(" + e$ + "))&&(!new_error));" ELSE PRINT #12, "dl_continue_" + str2$(controlid(controllevel)) + ":;" IF NoChecks = 0 AND vWatchOn = 1 THEN - PRINT #12, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH(__LONG_VWATCH_LINENUMBER,(ptrszint*)vwatch_local_vars);" + PRINT #12, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_local_vars);" END IF IF controltype(controllevel) = 4 THEN @@ -5815,7 +5815,7 @@ DO IF Error_Happened THEN GOTO errmes IF NoChecks = 0 AND vWatchOn = 1 THEN - PRINT #12, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH(__LONG_VWATCH_LINENUMBER,(ptrszint*)vwatch_local_vars);" + PRINT #12, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_local_vars);" END IF PRINT #12, "fornext_step" + u$ + "=" + e$ + ";" @@ -5902,7 +5902,7 @@ DO IF NoChecks = 0 THEN PRINT #12, "S_" + str2$(statementn) + ":;": dynscope = 1 IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN - PRINT #12, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH(__LONG_VWATCH_LINENUMBER,(ptrszint*)vwatch_local_vars);" + PRINT #12, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_local_vars);" END IF END IF FOR i = controllevel TO 1 STEP -1 @@ -5943,7 +5943,7 @@ DO IF NoChecks = 0 THEN PRINT #12, "S_" + str2$(statementn) + ":;": dynscope = 1 IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN - PRINT #12, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH(__LONG_VWATCH_LINENUMBER,(ptrszint*)vwatch_local_vars);" + PRINT #12, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_local_vars);" END IF END IF @@ -6041,7 +6041,7 @@ DO IF NoChecks = 0 THEN PRINT #12, "S_" + str2$(statementn) + ":;": dynscope = 1 IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN - PRINT #12, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH(__LONG_VWATCH_LINENUMBER,(ptrszint*)vwatch_local_vars);" + PRINT #12, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_local_vars);" END IF END IF @@ -6279,7 +6279,7 @@ DO IF NoChecks = 0 THEN PRINT #12, "S_" + str2$(statementn) + ":;": dynscope = 1 IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN - PRINT #12, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH(__LONG_VWATCH_LINENUMBER,(ptrszint*)vwatch_local_vars);" + PRINT #12, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_local_vars);" END IF END IF @@ -6467,7 +6467,7 @@ DO IF NoChecks = 0 THEN IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN - PRINT #12, "do{*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH(__LONG_VWATCH_LINENUMBER,(ptrszint*)vwatch_local_vars);" + PRINT #12, "do{*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_local_vars);" ELSE PRINT #12, "do{" END IF @@ -8812,7 +8812,7 @@ DO IF vWatchOn = 1 AND NoChecks = 0 THEN - PRINT #12, "*__LONG_VWATCH_LINENUMBER= 0; SUB_VWATCH(__LONG_VWATCH_LINENUMBER);" + PRINT #12, "*__LONG_VWATCH_LINENUMBER= 0; SUB_VWATCH((ptrszint*)vwatch_local_vars);" END IF PRINT #12, "if (sub_gl_called) error(271);" PRINT #12, "close_program=1;" @@ -22585,7 +22585,7 @@ END FUNCTION SUB xend IF vWatchOn = 1 AND NoChecks = 0 THEN - PRINT #12, "*__LONG_VWATCH_LINENUMBER= 0; SUB_VWATCH(__LONG_VWATCH_LINENUMBER);" + PRINT #12, "*__LONG_VWATCH_LINENUMBER= 0; SUB_VWATCH((ptrszint*)vwatch_local_vars);" END IF PRINT #12, "sub_end();" END SUB diff --git a/source/utilities/vwatch.bm b/source/utilities/vwatch.bm index 6456b08b2..cdfc46457 100644 --- a/source/utilities/vwatch.bm +++ b/source/utilities/vwatch.bm @@ -1,6 +1,6 @@ $CHECKING:OFF -SUB vwatch (linenumber AS LONG, localVariables AS _OFFSET) +SUB vwatch (localVariables AS _OFFSET) STATIC AS LONG ide, breakpointCount, timeout, startLevel, lastLine STATIC AS _BYTE pauseMode, stepOver, bypass STATIC buffer$, endc$ @@ -53,7 +53,7 @@ SUB vwatch (linenumber AS LONG, localVariables AS _OFFSET) vwatch_breakpoints(CVL(temp$)) = -1 NEXT CASE "run" - IF vwatch_breakpoints(linenumber) THEN EXIT DO + IF vwatch_breakpoints(vwatch_linenumber) THEN EXIT DO pauseMode = 0 EXIT SUB CASE "break" @@ -63,10 +63,10 @@ SUB vwatch (linenumber AS LONG, localVariables AS _OFFSET) LOOP END IF - IF linenumber = lastLine THEN EXIT SUB - lastLine = linenumber + IF vwatch_linenumber = lastLine THEN EXIT SUB + lastLine = vwatch_linenumber - IF linenumber = 0 THEN + IF vwatch_linenumber = 0 THEN cmd$ = "quit" GOSUB SendCommand CLOSE #ide @@ -89,21 +89,21 @@ SUB vwatch (linenumber AS LONG, localVariables AS _OFFSET) REDIM vwatch_breakpoints(UBOUND(vwatch_breakpoints)) AS _BYTE END SELECT - IF stepOver = -1 AND vwatch_sublevel > startLevel AND vwatch_breakpoints(linenumber) = 0 THEN + IF stepOver = -1 AND vwatch_sublevel > startLevel AND vwatch_breakpoints(vwatch_linenumber) = 0 THEN EXIT SUB ELSEIF stepOver = -1 AND vwatch_sublevel = startLevel THEN stepOver = 0 pauseMode = -1 END IF - IF vwatch_breakpoints(linenumber) = 0 AND pauseMode = 0 THEN + IF vwatch_breakpoints(vwatch_linenumber) = 0 AND pauseMode = 0 THEN EXIT SUB END IF vwatch_stoptimers cmd$ = "line number:" - IF vwatch_breakpoints(linenumber) THEN cmd$ = "breakpoint:" - cmd$ = cmd$ + MKL$(linenumber) + IF vwatch_breakpoints(vwatch_linenumber) THEN cmd$ = "breakpoint:" + cmd$ = cmd$ + MKL$(vwatch_linenumber) GOSUB SendCommand DO 'main loop diff --git a/source/utilities/vwatch_stub.bm b/source/utilities/vwatch_stub.bm index 2f454dc02..51f450547 100644 --- a/source/utilities/vwatch_stub.bm +++ b/source/utilities/vwatch_stub.bm @@ -1,3 +1,2 @@ -SUB vwatch (linenumber AS LONG) - linenumber = 0 +SUB vwatch () END SUB