好的,谢谢!
------------------ 原始邮件 ------------------
发送时间: 2013年11月19日(星期二) 凌晨3:49
收件人: "阳月"<8347...@qq.com>;
抄送: "openresty";
主题: Re: 请教,关于ngx_lua模块
Hello!
2013/11/17 阳月:
> Hi,亦春你好,请问在ngx_lua模块中,有没有什么方法可以查看运行状态的lua中定义的全局变量的值,就像gdb -p
> $pid那样的在线调试类似的样子,现在我的ngx_lua模块中有一个bug,这个bug比较难重现,如果增加打印重启程序的话,bug就又隐藏了,所以不敢重启,求指教,谢谢!
你首先需要能准确描述你的“全局变量”。
推荐编写 systemtap 脚本对你的 Lua VM 进行在线的动态追踪分析。可以参见我的 Nginx Systemtap Toolkit
和 stap++ 项目里和 LuaJIT 相关的工具的实现:
https://github.com/agentzh/nginx-systemtap-toolkit#readme https://github.com/agentzh/stapxx#samples当然,如果你一定要使用 gdb 的话,可以参考 Nginx GDB Utils 项目中和 LuaJIT 相关的 gdb 扩展命令的实现:
https://github.com/agentzh/nginx-gdb-utils一般地,并不建议在生产上使用 gdb,因为交互式调试会长时间挂起服务进程,同时也容易让目标进程崩溃。
另外,建议加入 openresty 中文邮件列表讨论这样的问题,谢谢合作!见
https://groups.google.com/group/openresty 同时抄送给 openresty 中文邮件列表。
Regards,
-agentzh