1 local debug = require "debug"
2 local io = require "io"
3 local collectgarbage = collectgarbage
6 __file__ = debug.getinfo(1, 'S').source:sub(2)
8 -- Enables the memory tracer with given flags and returns a function to disable the tracer again
9 function trap_memtrace(flags)
11 local tracefile = io.open("/tmp/memtrace", "w")
13 local function trap(what, line)
14 local info = debug.getinfo(2, "Sn")
15 tracefile:write(info.source..":"..line.."\t"..(info.namewhat or "").."\t"..(info.name or "").."\t"..collectgarbage("count").."\n")
18 debug.sethook(trap, flags)