1

我正在尝试使用 ZeroBrane 的远程调试来调试我的应用程序。

我不希望用户在他们的脚本中添加任何额外的代码。因此,当用户单击调试按钮时,在 C 端,我首先设置路径并调用 mobdebug 库,然后尝试执行用户代码:

luaL_dostring(L, "package.path = package.path .. ';./scripts/lualibs/mobdebug/?.lua;./scripts/lualibs/?.lua'");
luaL_dostring(L, "package.cpath = package.cpath .. ';./scripts/bin/clibs/?.dll'");
luaL_dostring(L, "mobdebug = require('mobdebug').start()");

luaL_dofile(L, FileName);

它适用于官方 lua 5.1 解释器。调试器在源文件的第 1 行停止。但是如果我切换到 luajit,zerobrane 会提示“调试在 'mobdebug.start():1' 处暂停(无法激活文件)。”。然后我点击“step over”,脚本文件可以被激活,调试器在第1行停止。

使用luajit时有什么办法可以跳过错误信息直接激活源文件?

4

1 回答 1

0

您可能希望设置debugger.runonstart = true为继续执行而不在第一行停止(文档),但您将需要使用断点或Project | Break在调试开始时暂停执行。

于 2017-08-12T03:40:48.980 回答