class DEBUGGER__::Config
def update conf
def update conf old_conf = self.class.instance_variable_get(:@config) || {} # TODO: Use Ractor.make_shareable(conf) self.class.instance_variable_set(:@config, conf.freeze) # Post process if_updated old_conf, conf, :keep_alloc_site do |old, new| if new require 'objspace' ObjectSpace.trace_object_allocations_start end if old && !new ObjectSpace.trace_object_allocations_stop end end if_updated old_conf, conf, :postmortem do |_, new_p| if defined?(SESSION) SESSION.postmortem = new_p end end if_updated old_conf, conf, :sigdump_sig do |old_sig, new_sig| setup_sigdump old_sig, new_sig end if_updated old_conf, conf, :no_sigint_hook do |old, new| if defined?(SESSION) SESSION.set_no_sigint_hook old, new end end end