Module:Debug
Jump to navigation
Jump to search
Documentation for this module may be created at Module:Debug/doc
--[[ //Helps debug lua modules using console by creating a pseudo frame and other useful functions Syntax: require("Module:debug").frame(childtable, parenttable) Example: frame = require("Module:debug").frame({'aaa','sss'},{'zz'=8,'1'}) p.main(frame) Todo: Add more debugging tools ]]-- local p = {} local dumpObj = require('Module:Inspect').inspect local frameTools = require("Module:FrameTools") -- e.g. {"abc","zz"} parameters from a page calling this module directly function p.frame(args, pArgs) return frameTools.makePseudoFrame({}, pArgs or {}, args or {}) end -- Generates a tracebackfor a function -- ex. function fFunction() x=1 +c end ; p.trace(fFunction, var1,var2) function p.trace(errFunction, ...) local function testFunc () return errFunction(unpack(arg)) end local success, result = xpcall(testFunc, function(err) mw.log(debug.traceback(err) ) return debug.traceback(err) end) return success, result end -- Outputs the information from a obj (readable table, string, number, etc) function p.log(obj) return dumpObj(obj) end return p