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获取函数路径