StackTrace
Creates call stack trace for given block of Ruby code.
Installation
Install the gem and add to the application's Gemfile by executing:
$ bundle add stack_trace
If bundler is not being used to manage dependencies, install the gem by executing:
$ gem install stack_trace
Usage
StackTrace.trace do
Foo.bar
end
StackTrace.current # => Returns a Hash that contains all the method calls and exception information.
Configuration
StackTrace.configure do |config|
config.trace_ruby = true
config.trace_c = true
config.inspect_return_values = true # Default `false` for performance reasons
config.inspect_arguments = true # Default `false` for performance reasons
config.check_proc = -> (self_klass_name, defined_klass_name, method_name) do # If you want to limit the tracing for a set of classes
self_klass_name == "Bar"
# If you use autoload and resolve the constant by klass names
# it's really likelly that you get a segfault: https://bugs.ruby-lang.org/issues/18120.
# Preload all the constants before running the `StackTrace.trace` if you want to
# constantize klass names.
end
end