1
1
Fork 0
mirror of https://github.com/QB64Official/qb64.git synced 2024-07-07 20:20:25 +00:00

Wishful attempt at getting var export to work. Failed.

This commit is contained in:
FellippeHeitor 2021-07-26 17:34:44 -03:00
parent cedff4ef5a
commit 84b5bb3055
2 changed files with 22 additions and 16 deletions

View file

@ -16,6 +16,10 @@ SUB vwatch (globalVariables AS _OFFSET, localVariables AS _OFFSET)
SUB unlockvWatchHandle SUB unlockvWatchHandle
END DECLARE END DECLARE
DECLARE CUSTOMTYPE LIBRARY
SUB memcpy (BYVAL dest AS _OFFSET, BYVAL source AS _OFFSET, BYVAL bytes AS LONG)
END DECLARE
IF bypass THEN EXIT SUB IF bypass THEN EXIT SUB
vwatch_goto = 0 vwatch_goto = 0
@ -217,10 +221,10 @@ SUB vwatch (globalVariables AS _OFFSET, localVariables AS _OFFSET)
tempIndex = CVL(LEFT$(value$, 4)) tempIndex = CVL(LEFT$(value$, 4))
localIndex = CVL(MID$(value$, 5, 4)) localIndex = CVL(MID$(value$, 5, 4))
dataType$ = MID$(value$, 9) dataType$ = MID$(value$, 9)
address = globalVariables + LEN(address) * localIndex address = globalVariables
GOSUB GetMemData GOSUB GetMemData
$CONSOLE $CONSOLE
_ECHO "global var requested:" + STR$(tempIndex) + dataType$ _ECHO "global var requested:" + STR$(tempIndex) + STR$(localIndex) + " " + dataType$
_ECHO "== result = " + result$ _ECHO "== result = " + result$
cmd$ = "global var:" + MKL$(tempIndex) + result$ cmd$ = "global var:" + MKL$(tempIndex) + result$
GOSUB SendCommand GOSUB SendCommand
@ -228,9 +232,9 @@ SUB vwatch (globalVariables AS _OFFSET, localVariables AS _OFFSET)
tempIndex = CVL(LEFT$(value$, 4)) tempIndex = CVL(LEFT$(value$, 4))
localIndex = CVL(MID$(value$, 5, 4)) localIndex = CVL(MID$(value$, 5, 4))
dataType$ = MID$(value$, 9) dataType$ = MID$(value$, 9)
address = localVariables + LEN(address) * localIndex address = localVariables
GOSUB GetMemData GOSUB GetMemData
_ECHO "local var requested:" + STR$(tempIndex) + dataType$ _ECHO "local var requested:" + STR$(tempIndex) + STR$(localIndex) + " " + dataType$
_ECHO "== result = " + result$ _ECHO "== result = " + result$
cmd$ = "local var:" + MKL$(tempIndex) + result$ cmd$ = "local var:" + MKL$(tempIndex) + result$
GOSUB SendCommand GOSUB SendCommand
@ -310,22 +314,22 @@ SUB vwatch (globalVariables AS _OFFSET, localVariables AS _OFFSET)
SELECT CASE dataType$ SELECT CASE dataType$
CASE "INTEGER" CASE "INTEGER"
integerType = _MEMGET(m, address, INTEGER) memcpy _OFFSET(integerType), address + LEN(address) * localIndex, 2
result$ = STR$(integerType) result$ = STR$(integerType)
CASE "_UNSIGNED INTEGER" CASE "_UNSIGNED INTEGER"
uintegerType = _MEMGET(m, address, _UNSIGNED INTEGER) memcpy _OFFSET(uintegerType), address + LEN(address) * localIndex, 2
result$ = STR$(uintegerType) result$ = STR$(uintegerType)
CASE "LONG" CASE "LONG"
longType = _MEMGET(m, address, LONG) memcpy _OFFSET(longType), address + LEN(address) * localIndex, 4
result$ = STR$(longType) result$ = STR$(longType)
CASE "_UNSIGNED LONG" CASE "_UNSIGNED LONG"
ulongType = _MEMGET(m, address, _UNSIGNED LONG) memcpy _OFFSET(ulongType), address + LEN(address) * localIndex, 4
result$ = STR$(ulongType) result$ = STR$(ulongType)
CASE "SINGLE" CASE "SINGLE"
singleType = _MEMGET(m, address, SINGLE) memcpy _OFFSET(singleType), address + LEN(address) * localIndex, 4
result$ = STR$(singleType) result$ = STR$(singleType)
CASE "DOUBLE" CASE "DOUBLE"
doubleType = _MEMGET(m, address, DOUBLE) memcpy _OFFSET(doubleType), address + LEN(address) * localIndex, 8
result$ = STR$(doubleType) result$ = STR$(doubleType)
END SELECT END SELECT
RETURN RETURN

View file

@ -6937,13 +6937,15 @@ SUB DebugMode
DO WHILE LEN(temp$) DO WHILE LEN(temp$)
tempIndex& = CVL(LEFT$(temp$, 4)) tempIndex& = CVL(LEFT$(temp$, 4))
temp$ = MID$(temp$, 5) temp$ = MID$(temp$, 5)
IF LEN(usedVariableList(tempIndex&).subfunc) = 0 THEN IF usedVariableList(tempIndex&).watch THEN
cmd$ = "global var:" IF LEN(usedVariableList(tempIndex&).subfunc) = 0 THEN
ELSE cmd$ = "global var:"
cmd$ = "local var:" ELSE
cmd$ = "local var:"
END IF
cmd$ = cmd$ + MKL$(tempIndex&) + MKL$(usedVariableList(tempIndex&).localIndex) + usedVariableList(tempIndex&).varType
GOSUB SendCommand
END IF END IF
cmd$ = cmd$ + MKL$(tempIndex&) + MKL$(usedVariableList(tempIndex&).localIndex) + usedVariableList(tempIndex&).varType
GOSUB SendCommand
LOOP LOOP
END IF END IF
CASE "global var", "local var" CASE "global var", "local var"