淘先锋技术网

首页 1 2 3 4 5 6 7

debug.getinfo(level, arg),返回值是一个table,table的内容由参数arg决定,包含哪个函数的信息由level决定

level是函数调用的层级,0:getinfo本身,1:调用getinfo的函数f1,2:调用f1的函数f2……

arg是一个字符串,"n","S","l","u","f","L" 包括其中一个或组合

“n”包含name函数名和namewhat函数类型

“S”包含source和short_src,这两个都是函数所在文件路径,source相比于short_src开头多了@,what是函数类型,包括Lua,main和C,linedefined和lastlinedefined指函数的起止行,

“l”包含currentline当前行

“u”包含nups当前函数的upvalue数量

“f”包含func函数本身

“L”包含activelines是一个包含行号的table

参数S用得比较多,主要是通过what判断函数类型,通过short_src获取函数路径