在Java项目中使用LuaJava调试Lua代码

6

我的项目使用LuaJava作为脚本解释器,用于桌面和Android平台上的AndroLua。我想要调试它,但我无法安排。

我尝试了一个Eclipse插件Koneki,文档很差,并且似乎只能调试仅限Lua的项目。我按照教程进行操作,但由于我的项目没有Lua功能,它不接受我的项目为有效。然后我尝试使用链接我的Lua文件的辅助项目,启动调试器,然后启动我的项目,但该过程未附加。我尝试使用教程提供的方法,但它们会抛出“不存在的Lua方法”错误。

我还尝试了Decoda,但是尽管能够启动可执行文件,但没有符号pdb文件,因此断点不会触发。

2个回答

1

联系了ZeroBraneStudio的创作者后,现在可以在他的IDE上调试AndroLua和LuaJava。

请参考这里的说明。此功能从v0.38版本开始可用。


1
此功能现已包含在ZeroBrane Studio v0.38中,可从项目网站下载。 - Paul Kulchenko

0

我使用Koneki,它非常适用于嵌入在C/C++/Objective C中的Lua - 它应该也适用于Luajava,但我还没有尝试过。你在Koneki中收到了什么消息?有一些东西需要设置,特别是将Lua Socket添加到你的路径中,并将Debugger.lua添加到你的LUA_PATH中。

这些行代码需要加载到你的第一个Lua文件中。

require "socket"
local initconnection = require("debugger")
initconnection("127.0.0.1", 10000, "luaidekey") 

如果你仍然有问题,请留下评论


stdin:1: 模块'debugger'未找到: 没有字段package.preload['debugger'] 没有文件'./debugger.lua' 没有文件'C:\Lua\ZeroBraneStudio/lualibs/debugger/debugger.lua' 没有文件'C:\Lua\ZeroBraneStudio/lualibs/debugger.lua' 没有文件'C:/Lua/5.1/' 没有文件'C:\Lua\ZeroBraneStudio/bin/debugger.dll' 没有文件'C:\Lua\ZeroBraneStudio/bin/clibs/debugger.dll' 没有文件'C:/Lua/5.1/' stack traceback: [C]: in function 'require' stdin:1: in main chunk [C]: ? - MLProgrammer-CiM
LUA_PATH: ./?.lua;%ZBS%/lualibs/?/?.lua;%ZBS%/lualibs/?.lua;C:/Lua/5.1/LUA_CPATH: %ZBS%/bin/?.dll;%ZBS%/bin/clibs/?.dll;C:/Lua/5.1/ - MLProgrammer-CiM
你所说的“不工作”,是指Eclipse没有生成文件吗? - daven11
你有Java文件和本地库。本地库包括解释器,因此它不会通过PC或手机上安装的解释器。然后,它将指令作为字符串从文件中读取,并将其传递给解释器。您桌面上的调试器不知道如何或在哪里附加到解释器,因此我们改为远程调试。我们加载了一个用于远程调试的脚本并进行了附加,但它无法知道文件来自何处。 - MLProgrammer-CiM
哦,好的,我不知道没有文件调试接口是否能正常工作。我使用它在iPad上使用模拟器进行开发,因为包含lua文件的目录被映射到模拟器上。所以如果你能以某种方式映射文件,那么你就没问题了,但我怀疑你已经尝试过这个 - 祝你好运 :-) - daven11
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接