gpt4 book ai didi

c# - 在 Lua 中处理 StackOverflowException

转载 作者:太空宇宙 更新时间:2023-11-03 15:53:59 25 4
gpt4 key购买 nike

我正在用 C# 制作一个 IRC 机器人,并希望通过命令让 Lua 可执行。我已经有了这个工作,并克服了一些基本障碍,但现在我遇到了 StackOverflowException 的更大问题;我的 friend 给了我一些要运行的 Lua 代码,无论我多么努力地阻止它,它似乎每次都会导致 StackOverflowException。

print(string.find(string.rep("a", 2^20), string.rep(".?", 2^20)))

因此,使用 LuaInterface(准确地说是 LuaInterface 2.0.0.16708)执行 - 我的代码中出现 StackOverflowException,我似乎无法解决这个问题,请查看之前的一些问题。

我知道在执行代码之前解析代码以预测堆栈溢出很困难,所以我不知道如何规避这一点。我已经尝试过多线程(它解决了之前的一个问题,即生成代码不会将控制权返回给 C#),但这似乎没有帮助。

最佳答案

要解决该特定错误,请使用 Lua 5.2.2 或更新版本。案例是a reported bug在 5.2.2 版本中得到修复。它给出了“模式太复杂”的错误。

就沙箱而言,为什么不在 the Lua live demo 之后设计它呢?正如 this SO answer 中所建议的那样?我不知道它有多安全,但我认为作者有动机也有能力让它尽可能安全。来源可以从 here 找到。 .

关于c# - 在 Lua 中处理 StackOverflowException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24519651/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com