getsentry / getsentry/sentry-ruby
Implement local variable capture
- Lingua principale
- Ruby
- Stelle
- 987
- Fork
- 541
- Merge medio
- 17h 40m
- PR unite (30g)
- 19
Descrizione
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
Guida per i contributori
Apri la guida per i contributori
Valutazione
Questa issue non è ancora stata valutata.