在脚本中获取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]: ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |