下面是编程之家 jb51.cc 通过网络收集整理的代码片段。
编程之家小编现在分享给大家,也给大家做个参考。
function printCallStack() local startLevel = 2 --0表示getinfo本身,1表示调用getinfo的函数(printCallStack),2表示调用printCallStack的函数,可以想象一个getinfo(0级)在顶的栈. local maxLevel = 10 --最大递归10层 for level = startLevel,maxLevel do -- 打印堆栈每一层 local info = debug.getinfo( level,"nSl") if info == nil then break end print( string.format("[ line : %-4d] %-20s :: %s",info.currentline,info.name or "",info.source or "" ) ) -- 打印该层的参数与局部变量 local index = 1 --1表示第一个参数或局部变量,依次类推 while true do local name,value = debug.getlocal( level,index ) if name == nil then break end local valueType = type( value ) local valueStr if valueType == 'string' then valueStr = value elseif valueType == "number" then valueStr = string.format("%.2f",value) end if valueStr ~= nil then print( string.format( "\t%s = %s\n",name,value ) ) end index = index + 1 end end end
以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。