加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

在脚本中获取Lua运行时错误

发布时间:2020-12-14 21:46:13 所属栏目:大数据 来源:网络整理
导读:我不知道如何有效地调试脚本.我需要像 Python一样的堆栈输出,但默认情况下Lua / C没有这个.我不知道如何启用它.或者简单地说,如何从脚本中获取错误输出? 解决方法 您可能正在寻找xpcall和debug.traceback的组合.您可以使用xpcall将错误处理程序传递给它并使
我不知道如何有效地调试脚本.我需要像 Python一样的堆栈输出,但默认情况下Lua / C没有这个.我不知道如何启用它.或者简单地说,如何从脚本中获取错误输出?

解决方法

您可能正在寻找xpcall和debug.traceback的组合.您可以使用xpcall将错误处理程序传递给它并使用debug.traceback来获取堆栈跟踪:

function functionThatMayFail()
  error('Failed')
end
local success,result = xpcall(functionThatMayFail,function(err) return debug.traceback(err) end)
print(success,result)

此代码将打印:

false   xpcall.lua:2: Failed
stack traceback:
    xpcall.lua:6: in function <xpcall.lua:6>
    [C]: in function 'error'
    xpcall.lua:2: in function <xpcall.lua:1>
    [C]: in function 'xpcall'
    xpcall.lua:5: in main chunk
    [C]: ?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读