aardio调试库解决局部变量的有趣问题(四)库

本文介绍如何使用aardio调试库在执行过程中查询和修改局部变量的值,通过实例演示编译生成的exe文件依然能实现这一功能。
摘要由CSDN通过智能技术生成
//通过局部变量名字的字符串访问局部变量
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值