加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 调试嵌入式Lua 5.2.2代码

发布时间:2020-12-16 03:41:00 所属栏目:百科 来源:网络整理
导读:如何调试嵌入在我的C应用程序中的Lua 5.2.2代码? 我已经看过这个question,它提供的所有IDE都处理5.1及更低版本,当我尝试在5.2.2中使用它们时它们会崩溃. 解决方法 您应该能够使用 ZeroBrane Studio按照 instructions for Lua 5.2 debugging调试应用程序.请
如何调试嵌入在我的C应用程序中的Lua 5.2.2代码?

我已经看过这个question,它提供的所有IDE都处理5.1及更低版本,当我尝试在5.2.2中使用它们时它们会崩溃.

解决方法

您应该能够使用 ZeroBrane Studio按照 instructions for Lua 5.2 debugging调试应用程序.请注意,您需要根据Lua5.2编译luasocket. (您看到的崩溃可能是因为您的应用程序加载了针对Lua5.1编译的luasocket,后者又加载了Lua5.1 DLL或无法找到所需的符号.)

如果您不想编译luasocket,可以从this folder and its subfolders获取Windows / OSX / Linux的二进制文件;只需确保这些库在任何可能具有针对Lua5.1编译的luasocket的文件夹之前都在LUA_CPATH中.

[基于聊天讨论更新]您可能遇到多个VM问题的原因是您的应用程序可能静态编译Lua解释器.然后加载luasocket(直接或通过mobdebug),它是针对lua52.dll编译的,后者加载了另一个解释器副本.为避免这种情况,您有两种选择:(1)将luasocket编译到您的应用程序中的方式与包含lua解释器本身的方式相同;除了一个mobdebug.lua文件来调试你的应用程序,你不需要任何其他东西,或者(2)使用代理dll;它看起来像lua52.dll,但实际上会代理您对静态编译的lua库的调用,避免多个VM出现问题. proxy dll适用于Lua 5.1,但您可以调整脚本以使其适用于Lua 5.2.

(如果你的解释器没有静态编译,如果你加载的Lua DLL命名与lua52.dll不同,你仍然可以得到两个解释器.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读