相关疑难解决方法(0)

获取 lua pcall 中错误的真实堆栈跟踪

所以对于我的 pcall 语句,我一直在做这样的事情

local status, err = pcall(fn)
if not status then
     print(err)
     print(debug.stacktrace())
end
Run Code Online (Sandbox Code Playgroud)

这适用于一些基本的东西,但问题是debug.stacktrace()返回当前相对堆栈跟踪,而不是错误的堆栈跟踪。如果 fn 中的错误发生在堆栈向下 10 层,那么我不知道它究竟发生在哪里,只是这个 pcall 块失败了。我想知道是否有办法获取 pcall 的堆栈跟踪而不是当前的堆栈跟踪。我试过了,debug.stacktrace(err)但没有任何区别。

lua

5
推荐指数
2
解决办法
4345
查看次数

标签 统计

lua ×1