Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Debugging Lua-Lua库中是否有与debug.getupvalues/debug.getupvalue相同或相似的其他函数?_Debugging_Lua - Fatal编程技术网

Debugging Lua-Lua库中是否有与debug.getupvalues/debug.getupvalue相同或相似的其他函数?

Debugging Lua-Lua库中是否有与debug.getupvalues/debug.getupvalue相同或相似的其他函数?,debugging,lua,Debugging,Lua,在lua库中是否有一个类似于debug.getupvalues/debug.getupvalue的函数,我可以使用,因为我很快也无法使用,我稍微依赖它们来保持我的部分代码正常工作 另外,如果我能得到debug.getupvalue的函数代码,那将是一个很大的帮助,因为我可以将它作为函数使用,而不再使用调试库,尽管我怀疑它是Lua中的代码 在你说之前,是的,我知道调试库是所有Lua中最不可靠的库,但它让我的代码正常工作,我想在为时已晚之前找到一种停止使用它的方法。调试库不适合在生产代码中使用(与测

在lua库中是否有一个类似于debug.getupvalues/debug.getupvalue的函数,我可以使用,因为我很快也无法使用,我稍微依赖它们来保持我的部分代码正常工作

另外,如果我能得到debug.getupvalue的函数代码,那将是一个很大的帮助,因为我可以将它作为函数使用,而不再使用调试库,尽管我怀疑它是Lua中的代码


在你说之前,是的,我知道调试库是所有Lua中最不可靠的库,但它让我的代码正常工作,我想在为时已晚之前找到一种停止使用它的方法。

调试库不适合在生产代码中使用(与测试和异常调试情况相反)。有3种可能的解决方案。其中两个需要更改定义闭包的代码。另一个要求您了解C:

  • 在upvalues的相同范围内添加更多闭包,以提供所需的访问权限

  • 使用表而不是闭包

  • 编写一个利用的C库


  • 要查看
    debug.getupvalue
    的源代码,请下载并查看
    src/ldblib.c
    ,第260行
    lua\u getupvalue
    位于
    src/lapi.c
    的第1222行。

    如果您使用的是调试库,则说明您做错了什么。