debug-console(调试控制台服务)

来源:互联网 发布:电脑程序员培训班 编辑:程序博客网 时间:2024/05/29 00:34

这里写图片描述
skynet 自带了一个调试控制台服务。你需要在你的启动脚本里启动它。
skynet.newservice(“debug_console”,8000)
常用的针对所有 lua 服务的指令有:
list 列出所有服务,以及启动服务的命令参数。
gc 强制让所有 lua 服务都执行一次垃圾回收,并报告回收后的内存。
mem 让所有 lua 服务汇报自己占用的内存。(注:它只能获取 lua 服务的 lua vm 内存占用情况,如果需要 C 模块中内存使用报告,请参考 MemoryHook 。
stat 列出所有 lua 服务的消息队列长度,以及被挂起的请求数量,处理的消息总数。如果在Config 里设置 profile 为 true ,还会报告服务使用的 cpu 时间。
service 列出所有的唯一 lua 服务。
注意,由于这些指令是挨个向每个服务发送消息并等待回应,所以当某个 lua 服务过载时,可能需要等待很长时间才有返回。
针对单个 lua 服务的指令有:
exit address 让一个 lua 服务退出。
kill address 强制中止一个 lua 服务。
info address 让一个 lua 服务汇报自己的内部信息,参见 Profile 。
signal address sig 向服务发送一个信号,sig 默认为 0 。当一个服务
陷入死循环时,默认信号会打断正在执行的 lua 字节码,并抛出 error 显示调用栈。这是针对 endless loop 的 log 的有效调试方法。注:这里的信号并非系统信号。
task address 显示一个服务中所有被挂起的请求的调用栈。
debug address 针对一个 lua 服务启动内置的单步调试器。
logon/logoff address 记录一个服务所有的输入消息到文件。需要在 Config 里配置 logpath 。
inject address script 将 script 名字对应的脚本插入到指定服务中运行(通常可用于热更新补丁)。
call address 调用一个服务的lua类型接口

原创粉丝点击