debug_inspector
A Ruby wrapper for the Ruby 2.0+ debug_inspector C API
The debug_inspector
C extension and API were designed and built by Koichi Sasada, this project
is just a gemification of his work.
NOTES:
- Do not use this library outside of debugging situations.
- This library makes use of the debug inspector API which was new in CRuby 2.0.0.
- Only works on CRuby 2+ and TruffleRuby. Requiring it on unsupported Rubies will result in a no-op.
Usage
require 'debug_inspector'
DebugInspector.open { |dc|
locs = dc.backtrace_locations
locs.size.times do |i|
p dc.frame_binding(i)
p dc.frame_iseq(i)
p dc.frame_class(i)
end
}
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run rake test
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
.
To release a new version, update the version number in version.rb
and in debug_inspector.gemspec
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
Contact
Problems or questions contact me at github
License
The debug_inspector
is released under the MIT License.