//通过局部变量名字的字符串访问局部变量
import debug;
namespace mylib;
getVar=function(varname,nclass=0){
if nclass {//如果指定了层级,则只在指定层级查找
var i,k,v=0;//索引,变量名,变量值
do{
i++;
k,v=..debug.getlocalvar(nclass,i);
if k=varname return v; //未查询到将返回null
} while k;//为空则该层级查询完毕
}
else{//如果没有指定层级,则查找20层,更多层级自行解决;请确保同一代码文件内没有与之重名的局部变量
var i,k,v;
for (n=2;21){//第1层为代码自身所在层,肯定不是需要的
i=0;
do{
i++;
k,v=..debug.getlocalvar(n,i);
if k=varname return v,i,n;//未查询到将返回null
} while k;
}
}
}
setVar=function(varname,newvalue,nclass=0){
if nclass{//如果指定了层级,则只在指定层级查找
var i,k,v=0;
do{
i++;
k,v=..debug.getlocalvar(nclass,i);
if k=varname return ..debug.setlocalvar(nclass,i,newvalue);
} while k;
}
else{//如果没有指定层级,则查找20层,更多层级自行解决;请确保同一代码文件内没有与之重名的局部变量
var i,k,v;
for (n=2;21){
i
aardio调试库解决局部变量的有趣问题(四)库
本文介绍如何使用aardio调试库在执行过程中查询和修改局部变量的值,通过实例演示编译生成的exe文件依然能实现这一功能。
摘要由CSDN通过智能技术生成