Modul:Debug
Die Dokumentation für dieses Modul kann unter Modul:Debug/Doku erstellt werden
--[[ Orginaltext stammt von http://dev.wikia.com/wiki/Module:Debug ]]--
--[[ //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('Dev:Inspect').inspect
-- e.g. {"abc","zz"} parameters from a page calling this module directly
function p.frame(args, pArgs)
local frameTools = require("Dev:FrameTools")
return frameTools.makePseudoFrame(nil, args, pArgs)
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