Software /
code /
prosody
File
tools/linedebug.lua @ 11193:5850d24a4ad3
tools/linedebug: Print each line of source executed
The extremely verbose debug output. Nice for getting some idea which
code runs most often, or where it pauses for no reason etc.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Wed, 28 Oct 2020 23:05:15 +0100 |
line wrap: on
line source
local data = {} local getinfo = debug.getinfo; local function linehook(ev, li) local S = getinfo(2, "S"); if S and S.source and S.source:match"^@" then local file = S.source:sub(2); local lines = data[file]; if not lines then lines = {}; data[file] = lines; for line in io.lines(file) do lines[#lines+1] = line; end end io.stderr:write(ev, " ", file, " ", li, " ", lines[li], "\n"); end end debug.sethook(linehook, "l");