diff options
author | Jeremy Allison <jra@samba.org> | 2008-12-18 15:40:05 -0800 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2008-12-18 15:40:05 -0800 |
commit | 4283ae489b6e227beba196e8a315a9727f03cc07 (patch) | |
tree | 7308561653b9e52eab8fc13181c0ad41ae2da208 /source3/lua-5.1.4/test/trace-calls.lua | |
parent | f9bb8fbe832409893b17f2113d7b35b9ffe91540 (diff) | |
parent | d031472227b44d040698e6dff52dc79028fde854 (diff) | |
download | samba-4283ae489b6e227beba196e8a315a9727f03cc07.tar.gz samba-4283ae489b6e227beba196e8a315a9727f03cc07.tar.bz2 samba-4283ae489b6e227beba196e8a315a9727f03cc07.zip |
Merge branch 'master' of ssh://jra@git.samba.org/data/git/samba
Diffstat (limited to 'source3/lua-5.1.4/test/trace-calls.lua')
-rw-r--r-- | source3/lua-5.1.4/test/trace-calls.lua | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/source3/lua-5.1.4/test/trace-calls.lua b/source3/lua-5.1.4/test/trace-calls.lua new file mode 100644 index 0000000000..6d7a7b3b43 --- /dev/null +++ b/source3/lua-5.1.4/test/trace-calls.lua @@ -0,0 +1,32 @@ +-- trace calls +-- example: lua -ltrace-calls bisect.lua + +local level=0 + +local function hook(event) + local t=debug.getinfo(3) + io.write(level," >>> ",string.rep(" ",level)) + if t~=nil and t.currentline>=0 then io.write(t.short_src,":",t.currentline," ") end + t=debug.getinfo(2) + if event=="call" then + level=level+1 + else + level=level-1 if level<0 then level=0 end + end + if t.what=="main" then + if event=="call" then + io.write("begin ",t.short_src) + else + io.write("end ",t.short_src) + end + elseif t.what=="Lua" then +-- table.foreach(t,print) + io.write(event," ",t.name or "(Lua)"," <",t.linedefined,":",t.short_src,">") + else + io.write(event," ",t.name or "(C)"," [",t.what,"] ") + end + io.write("\n") +end + +debug.sethook(hook,"cr") +level=0 |