From 3be8a806f8dabc9ace33d4115eef97774dbdeff0 Mon Sep 17 00:00:00 2001 From: FellippeHeitor Date: Sat, 18 Sep 2021 19:30:55 -0300 Subject: [PATCH] Fixes watchpoints for strings --- internal/support/vwatch/vwatch.bm | 1 + source/ide/ide_methods.bas | 10 +++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/internal/support/vwatch/vwatch.bm b/internal/support/vwatch/vwatch.bm index dd8ad8713..65dbb3a86 100644 --- a/internal/support/vwatch/vwatch.bm +++ b/internal/support/vwatch/vwatch.bm @@ -406,6 +406,7 @@ SUB vwatch (globalVariables AS _OFFSET, localVariables AS _OFFSET) vw_address = _CV(LONG, LEFT$(vw_buf$, 4)) 'Pointer to data vw_varSize = CVL(MID$(vw_buf$, 5)) END IF + vw_buf$ = SPACE$(vw_varSize) vw_m = _MEM(vw_address, vw_varSize) vw_m2 = _MEM(_OFFSET(vw_buf$), vw_varSize) diff --git a/source/ide/ide_methods.bas b/source/ide/ide_methods.bas index d3ee7463b..5c09f5c38 100644 --- a/source/ide/ide_methods.bas +++ b/source/ide/ide_methods.bas @@ -7299,7 +7299,11 @@ SUB DebugMode END IF temp$ = value$ - GOSUB findVarSize + IF INSTR(varType$, "STRING") = 0 THEN + GOSUB findVarSize + ELSE + varSize& = LEN(dummy%&) + LEN(dummy&) + END IF cmd$ = cmd$ + MKL$(tempIndex&) cmd$ = cmd$ + _MK$(_BYTE, tempIsArray& <> 0) @@ -8065,7 +8069,7 @@ FUNCTION idevariablewatchbox$(currentScope$, filter$, selectVar, returnAction) dialogWidth = 6 + maxModuleNameLen + maxVarLen + maxTypeLen IF IdeDebugMode > 0 THEN dialogWidth = dialogWidth + 40 'make room for "= values" - IF dialogWidth < 65 THEN dialogWidth = 65 + IF dialogWidth < 70 THEN dialogWidth = 70 IF dialogWidth > idewx - 8 THEN dialogWidth = idewx - 8 idepar p, dialogWidth, dialogHeight, "Add Watch - Variable List" @@ -8485,7 +8489,7 @@ FUNCTION idevariablewatchbox$(currentScope$, filter$, selectVar, returnAction) cmd$ = cmd$ + MKL$(tempIsUDT&) cmd$ = cmd$ + MKL$(tempElement&) cmd$ = cmd$ + tempElementOffset$ - cmd$ = cmd$ + MKL$(varSize&) + cmd$ = cmd$ + MKL$(0) cmd$ = cmd$ + MKL$(tempStorage&) cmd$ = cmd$ + MKI$(LEN(usedVariableList(tempIndex&).subfunc)) cmd$ = cmd$ + usedVariableList(tempIndex&).subfunc