我有一个程序可以使用lua_pcall
. 似乎如果程序调用 lua 脚本的速度太快,事情就会出错并在最随机的地方导致访问冲突。
我尝试过互斥锁,甚至使用 try/catch 启用 SEH 异常都无济于事。错误函数已经到位,我正在检查所有适当的返回代码;问题是 pcall 深处的实际访问冲突,而不是安全处理的 Lua 错误。
很多时候中断发生在luaV_execute
,但有时它发生在其他随机的地方。我已经检查以确保推送到堆栈的所有参数都是有效的。
有没有办法强制 Lua 在返回之前完成调用,或者有什么方法可以确保调用堆栈不会损坏?