在 Lua 中运行 ZeroBrane

鉴于 ZeroBrane 是完全用 Lua 编写的,它是否可以从 Lua 环境中启动?

主要的动机是将其完全集成到现有应用程序中(在同一线程中运行),并能够使用所有公开的 C/C++ 功能进行本地调试。

我意识到我需要使用与 ZeroBrane 使用的 clib 的体系结构匹配的主机应用程序。因此,例如,如果主机应用程序正在运行 LuaJIT 64 位,则我会要求使用针对相同 LuaJIT 二进制文件编译的 wx.dll。

在尝试这样做时,是否还会有其他障碍或限制?

点赞
用户1442917
用户1442917

鉴于 ZeroBrane 完全是用 Lua 编写的,它能否在 Lua 环境中启动?

答案肯定是“是”,因为这实际上就是 ZeroBrane 的工作方式。例如,在 Windows 上,它通过加载 src/main.lua 并执行它来启动自身;该代码可以在win32_starter.c中看到。

但是,在尝试这样做时,还会有其他障碍或限制吗?

我认为你可能会遇到的问题是,很难从单线程应用程序本身调试它本身(尽管不是不可能)。这就是为什么通常 IDE(及其调试器)作为一个单独的进程启动,通过 socket 与被调试的应用程序交互。您可能需要查看 debugger.lua,这可能更接近您正在寻找的功能。

2021-06-20 06:57:37