运行 ZeroBrane 来自 Lua

Running ZeroBrane from Lua

鉴于 ZeroBrane 都是在 Lua 中编写的,它实际上可以从 Lua 环境中启动吗?

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

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

尝试这样做时是否会有任何其他障碍或限制?

Given that ZeroBrane is all written in Lua, can it be actually started from within a Lua environment?

这个问题的答案肯定是“是”,因为这就是 ZeroBrane 实际所做的。例如,在 Windows 上,它通过加载 src/main.lua 并执行它来启动自己;此代码可以在 win32_starter.c.

中看到

Will there be any other hurdles or limitations when trying to do this?

我认为您可能 运行 遇到的问题是很难从自身调试单线程应用程序(尽管并非不可能)。这就是为什么 IDE(及其调试器)通常作为一个单独的进程启动,该进程与正在通过套接字调试的应用程序交互。您可能需要查看 debugger.lua,它可能更接近您要查找的内容。