远程调试托管的Lua

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

请问有谁能帮助我启动和运行在我的应用程序下运行的Lua脚本的调试?任何帮助都将不胜感激。

谢谢!

点赞
用户752976
用户752976

我所知最简单的方法是使用ZeroBrane的远程调试功能。他们的文档解释得非常好,但是为了自给自足:

  • 设置嵌入式Lua的路径/ cpath为zerobrane的内容,或将mobdebug.lua文件复制到您的源代码中。
  • 在您的代码开头添加require('mobdebug').start()
  • 现在,您应该能够进行调试。在开始程序后,在Lua源代码中设置断点时应该会被触发。

如果您使用ZB编辑Lua文件,这种方法最有效,这意味着需要为C ++部分使用不同的编辑器。我发现这在实践中相当可行。

2018-02-07 10:13:29