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 5.3,将它托管在C++应用程序中。C++应用程序为运行的Lua脚本提供各种功能。我希望允许用户在Lua在我的应用程序中运行时调试它。我相信这是可能的,但我找不到任何最近关于这样做的信息,只针对Lua的旧版本,这似乎不起作用_Debugging_Lua - Fatal编程技术网

Debugging 远程调试托管Lua 我使用Lua 5.3,将它托管在C++应用程序中。C++应用程序为运行的Lua脚本提供各种功能。我希望允许用户在Lua在我的应用程序中运行时调试它。我相信这是可能的,但我找不到任何最近关于这样做的信息,只针对Lua的旧版本,这似乎不起作用

Debugging 远程调试托管Lua 我使用Lua 5.3,将它托管在C++应用程序中。C++应用程序为运行的Lua脚本提供各种功能。我希望允许用户在Lua在我的应用程序中运行时调试它。我相信这是可能的,但我找不到任何最近关于这样做的信息,只针对Lua的旧版本,这似乎不起作用,debugging,lua,Debugging,Lua,有人能帮我调试在我的应用程序下运行的Lua脚本吗?任何帮助都将不胜感激 谢谢大家! 据我所知,最简单的方法是使用ZeroBrane的远程调试功能。很好地解释了这一点,但为了自我遏制: 将嵌入式Lua的path/cpath设置为zerobrane的东西,或者将mobdebug.Lua文件复制到源代码中 在代码开头添加require('mobdebug').start() 您现在应该可以调试了。启动程序后,应该命中Lua源中设置的断点 这种方法最好用ZB编辑Lua文件,这意味着使用C++编辑器的

有人能帮我调试在我的应用程序下运行的Lua脚本吗?任何帮助都将不胜感激


谢谢大家!

据我所知,最简单的方法是使用ZeroBrane的远程调试功能。很好地解释了这一点,但为了自我遏制:

  • 将嵌入式Lua的path/cpath设置为zerobrane的东西,或者将
    mobdebug.Lua
    文件复制到源代码中
  • 在代码开头添加
    require('mobdebug').start()
  • 您现在应该可以调试了。启动程序后,应该命中Lua源中设置的断点

这种方法最好用ZB编辑Lua文件,这意味着使用C++编辑器的不同编辑器。不过,我发现这在实践中相当有效。

非常感谢您的回答。我以前下载过ZeroBrane并尝试过,但这对我不起作用,我认为原因是在他们的文档中,他们说:“使用package.path和package.cpath引用mobdebug.lua和luasocket的路径”,他们没有提供到luasocket的链接。我以前在谷歌搜索过luasocket,甚至下载了它的源代码,但我无法让它工作。luasocket是用ZeroBrane打包的,还是有(二进制和lua)发行版需要从外部下载?@MariusMyburg这是一个单独的包,但我认为它是大多数lua发行版的标准版。如果不是这样的话,您应该可以使用
luarock
安装它,或者您可以自己构建它。luasocket与ZeroBrane Studio一起打包,适用于所有受支持的平台(Windows/macOS/Linux)和Lua版本5.1-5.3,因此您不需要任何其他东西(假设您可以加载与Lua解释器链接的luasocket库)。我将更新文档以澄清这一点。此外,ZeroBrane Studio还将编辑c/cpp文件,并应在大纲中显示c代码中的函数。@PaulKulchenko太棒了!还有,既然你在那里,我想对你所做的令人惊叹的工作表示感谢!:)