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 格式