1

我有以下设置: .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.luaandscripts/onpushbutton.lua对于第二个脚本,这是正确的。我在 Windows 上,所以不应该区分大小写,当我切换调试器详细时,我仍然没有看到任何关于命中断点的信息。

我还尝试在第二个脚本中列出所有断点,并且列出了所有断点,它们只是没有命中。

有人有任何想法,可能是什么问题?我唯一的想法是,这可能是因为第二个脚本是从与第一个脚本不同的线程运行的,但这是我无法避免的事情,也不知道如何解决它......

谢谢你的帮助

4

1 回答 1

0

如果项目目录设置正确并且断点不是从其他线程(不是单个 Lua 状态)触发的,则尝试添加require('mobdebug').on()对这些线程/协程的调用以启用断点(如文档中的第一个选项中所述)。

于 2018-10-25T17:43:42.097 回答