getsentry / getsentry/sentry-ruby
Implement local variable capture
- Vorherrschende Sprache
- Ruby
- Sterne
- 987
- Forks
- 541
- Ø Merge
- 17 Std. 40 Min.
- Gemergte PRs (30 T.)
- 19
Beschreibung
On 1.9.2 and 1.9.3 this can be done easily using the [binding_of_caller](https://github.com/banister/binding_of_caller) gem.
Example monkey patch:
``` ruby
require 'binding_of_caller'
module Kernel
original_raise = method(:raise)
define_method(:raise) do |*args|
begin
original_raise.call(*args)
rescue Exception => e
e.instance_variable_set(:@stack_info, binding.callers)
e.set_backtrace(e.backtrace.drop(2))
original_raise.call(e)
end
end
end
```
On 1.8.7 this could be possibly be done using the continuation tracing hack outlined in http://rubychallenger.blogspot.com/2011/07/caller-binding.html
Beitragsleitfaden
Bewertung
Dieses Issue wurde noch nicht bewertet.