我有以下设置:
.NET托管的LuaJIT 64位,64位LuaSocket dll
ZeroBrane 1.80; MobDebug 0.705
然后,我有几个针对特定事件启动的Lua脚本,我正在尝试对其进行调试。
第一个脚本-scripts/OnCreateInstance.lua
也启动MobDebug。
在第一个脚本中调试工作正常-调试器在require('mobdebug').start()
上进行连接,并且遵循预期的断点功能,但其他脚本中的断点从未达到。
我经历过https://studio.zerobrane.com/doc-faq#why-breakpoints-are-not-triggered,没有发现任何可疑的东西。
debug.getinfo(1,"S").source
返回第二个脚本的 scripts/onstartinstance.lua
和 scripts/onpushbutton.lua
,这是正确的。我在Windows上,因此不应该区分大小写,并且当我将调试器切换为冗长时,我仍然从未见过有关达到断点的任何信息。
我还尝试了在第二个脚本中列出所有断点,并且列出了所有断点,只是没有命中。
有人有什么想法吗,可能是什么问题?我唯一的想法是,可能是因为第二个脚本是从与第一个脚本不同的线程运行的,但这是我无法避免的事情,而且不知道如何解决...
感谢您的帮助
答案 0 :(得分:0)
如果正确设置了项目目录,并且未从其他线程(不是各个Lua状态)触发断点,则尝试向这些线程/协程添加require('mobdebug').on()
调用以启用断点(如第一个选项中所述)在the documentation中)。