diff --git a/lualib/skynet/debug.lua b/lualib/skynet/debug.lua index 6c040c24..635bdb31 100644 --- a/lualib/skynet/debug.lua +++ b/lualib/skynet/debug.lua @@ -10,7 +10,10 @@ function skynet.info_func(func) internal_info_func = func end -local dbgcmd = {} +local dbgcmd + +local function init_dbgcmd() +dbgcmd = {} function dbgcmd.MEM() local kb, bytes = collectgarbage "count" @@ -67,8 +70,11 @@ function dbgcmd.SUPPORT(pname) return skynet.ret(skynet.pack(skynet.dispatch(pname) ~= nil)) end +return dbgcmd +end -- function init_dbgcmd + local function _debug_dispatch(session, address, cmd, ...) - local f = dbgcmd[cmd] + local f = (dbgcmd or init_dbgcmd())[cmd] -- lazy init dbgcmd assert(f, cmd) f(...) end