aardio 文档

debug 库模块帮助文档

debug 成员列表

调试函数库,
debug 属于内置库,但必须使用 import debug 导入才能使用

debug.callcount()

函数调用栈深度

debug.debug()

插入断点
执行到该位置时打开控制台进入调试环境,
发布后程序忽略此函数不执行

debug.getfunction(调用级)

返回函数对象

debug.getlocalvar(纤程,调用级,索引)

返回局部变量名,变量值

debug.getlocalvar(调用级,索引)

返回局部变量名,变量值

debug.getnamespace(对象)

返回对象的名字空间

debug.getupvar(函数对象,索引)

返回函数闭包局部变量,变量值
注意只有该函数引用的外层函数局部变量才能获取

debug.hook()

返回对象:debugHookObject

debug.hook(可选参数:可在此输入协程对象)

创建调试钩子

debug.queryinfo()

返回对象:debugInfoObject

debug.queryinfo(2,"select source")

= 查询调用椎栈源码相关信息
参数一可以是函数名、或调用级别
1表示当前函数,2表示调用当前函数的函数

debug.queryinfo(2,"select source,function,upvars,name,currentline,activelines")

查询调用椎栈信息
参数一可以是函数名、或调用级别
1表示当前函数,2表示调用当前函数的函数

debug.setlocalvar(纤程,调用级,索引,新值)

修改局部变量值

debug.setlocalvar(调用级,索引,新值)

修改局部变量值

debug.setupvar(函数对象,索引,值)

设置函数闭包局部变量,变量值

debug.traceback

返回活动栈跟踪信息
通常用于global.onError函数或catch语句中

debug.traceback(纤程,"标题",调用级别)

返回活动栈跟踪信息
所有参数为可选参数,
调用级别为1指当前函数,2为调用当前函数的函数,数值越大调用级别越高

debugHookObject 成员列表

debugHookObject.call

debugHookObject.call=function(){  
/*调用函数触发此回调*/  
}

debugHookObject.close()

关闭调试钩子

debugHookObject.line

debugHookObject.line=function(line){  
/*每行代码触发此回调*/  
}

debugHookObject.return

debugHookObject.return=function(line){  
/*return 语句触发此回调*/  
}

debugHookObject.tailreturn

debugHookObject.tailreturn=function(line){  
/*尾定义触发此回调,  
必须同时定义 return 语句回调函数,  
如果仅指定 tailreturn 则不会被触发*/  
}

debugInfoObject 成员列表

debugInfoObject.activelines

函数的有效代码行列表
无效行指的是空行或注释等

debugInfoObject.currentline

当前行

debugInfoObject.function

当前函数对象

debugInfoObject.name

函数名字

debugInfoObject.name_where

global(全局变量)、
self(当前名字空间成员变量)、
var(局部变量)、
upvar(上层语句块局部闭包变量)

debugInfoObject.upvars

引用的上层函数闭包变量数目

debugInfoObject.source 成员列表

源码相关信息

debugInfoObject.source.beginline

开始定义行

debugInfoObject.source.code

源码

debugInfoObject.source.endline

结束;定义行

debugInfoObject.source.file

文件名

debugInfoObject.source.kind

类型
"kernel"表示内核函数
"function"
表示普通函数
"main"主函数
"tail"尾调用

debugInfoObject.source.src

源码或文件名缩略信息

Markdown 格式