我正在尝试使用 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时有什么办法可以跳过错误信息直接激活源文件?