mirror of
				https://github.com/thunderbrewhq/thunderbrew
				synced 2025-11-04 10:16:02 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			33 lines
		
	
	
		
			749 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			749 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
-- 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
 |