0

我按照网站上的步骤进行操作。我的nginx 配置的片段

http {
 underscores_in_headers on;
 lua_package_path '/opt/luapoc/lua/?.lua;/Applications/ZeroBraneStudio.app/Contents/ZeroBraneStudio/lualibs/?/?.lua;/Applications/ZeroBraneStudio.app/Contents/ZeroBraneStudio/lualibs/?.lua;;';
 lua_package_cpath '/Applications/ZeroBraneStudio.app/Contents/ZeroBraneStudio/bin/clibs/?.dylib;;';
 init_by_lua_block{
   num = require("numbers")
   data = num.getrandom()
   if data then
   ngx.log(ngx.DEBUG, "data is" .. data)
   end
 }

数字.lua

require('mobdebug').start("192.168.1.155")

local M={}
function M.getrandom()
print("random function called") -- I put a break point here. 
return math.random()
end
return M

我将我的 IP 地址作为 ifconfg inetaddress。

我去了 ZBS 并从 numbers 文件中设置项目目录。然后通过 Project -> Start debugger server 开始调试。

尽管我在 require('mobdebug').start("192.168.1.155") 中给出了 IP 地址,但它正在本地主机上启动调试服务器。

我正在启动 nginx 并期望流在我放置在 numbers.lua 的断点处停止,但事实并非如此。

知道是什么导致 ZBS 没有收到调试信号吗?

4

1 回答 1

0

确保通过转到 IDE 中启动调试器服务器Project | Start Debugger Server。默认情况下它被禁用,因为它在某些系统上启动时会引发防火墙警告。您也可以使用AutoStartDebug插件默认启用它。

如果这仍然没有帮助,请尝试在 nginx 之外运行相同的脚本,从命令行查看它是否在那里工作。

于 2017-09-29T01:54:49.153 回答