diff --git a/internal/support/vwatch/vwatch.bm b/internal/support/vwatch/vwatch.bm index ce27dfe47..26da7ec3e 100644 --- a/internal/support/vwatch/vwatch.bm +++ b/internal/support/vwatch/vwatch.bm @@ -404,7 +404,7 @@ SUB vwatch (globalVariables AS _OFFSET, localVariables AS _OFFSET) vw_m2 = _MEM(_OFFSET(vw_buf$), vw_varSize) _MEMCOPY vw_m, vw_m.OFFSET, vw_m.SIZE TO vw_m2, vw_m2.OFFSET - IF INSTR(vw_varType$, "STRING *") > 0 AND (vw_isArray <> 0 OR vw_element > 0) THEN + IF INSTR(vw_varType$, "STRING *") > 0 AND (vw_isArray <> 0 OR vw_element > 0 OR vw_isUDT <> 0) THEN 'actual data already fetched; nothing else to do ELSEIF INSTR(vw_varType$, "STRING") > 0 THEN IF vw_isArray <> 0 OR vw_element > 0 OR vw_isUDT <> 0 THEN diff --git a/source/ide/ide_methods.bas b/source/ide/ide_methods.bas index dd07e7438..da16da711 100644 --- a/source/ide/ide_methods.bas +++ b/source/ide/ide_methods.bas @@ -7312,7 +7312,11 @@ SUB DebugMode IF INSTR(varType$, "STRING") = 0 THEN GOSUB findVarSize ELSE - varSize& = LEN(dummy%&) + LEN(dummy&) + IF INSTR(varType$, " * ") = 0 THEN + varSize& = LEN(dummy%&) + LEN(dummy&) + ELSE + varSize& = VAL(_TRIM$(MID$(varType$, INSTR(varType$, "STRING *") + 8))) + END IF END IF cmd$ = cmd$ + MKL$(tempIndex&)