所以对于我的 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 ×1