class DEBUGGER__::ThreadClient

def search_const b, expr

def search_const b, expr
  cs = expr.delete_prefix('::').split('::')
  [Object, *b.eval('::Module.nesting')].reverse_each{|mod|
    if cs.all?{|c|
         if mod.const_defined?(c)
           begin
             mod = mod.const_get(c)
           rescue Exception
             false
           end
         else
           false
         end
       }
      # if-body
      return mod
    end
  }
  false
end