module Thready
Constants
- VERSION
Public Class Methods
list_threads()
click to toggle source
# File lib/thready.rb, line 12 def self.list_threads threads = Thread.list puts "#{Time.now}\t#{threads.size} thread#{'s' if threads.size != 1}:" threads.each do |t| $stderr.puts data = [ "id: #{t.object_id}", "status: #{t.status}", #t.backtrace.first ] puts data.join("\t") puts "\t" + t.backtrace.join("\n\t") if t.backtrace if t.alive? t.set_trace_func(proc do |event, file, line, id, binding, classname| #if event == "line" printf "%8s %s:%-2d %10s %8s\n", event, file, line, id, classname p binding.eval("local_variables") binding.eval("local_variables").each do |var| value = binding.eval(var.to_s) puts "\t#{var} is #{value.inspect}" end p binding.eval("instance_variables") binding.eval("instance_variables").each do |var| value = binding.eval("instance_variable_get(:@#{var})") puts "\t@#{var} is #{value.inspect}" end t.set_trace_func(nil) #end end) end end end