Skip to content

Commit 882d595

Browse files
committed
use TOPLEVEL_BINDING if no binding
Configuration with `~/.rdbgrc` it is possible that the `current_frame` is nil. This patch uses `TOPLEVEL_BINDING` for such cases.
1 parent 81716cf commit 882d595

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

lib/debug/thread_client.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,7 @@ def frame_eval_core src, b, binding_location: false
427427
def frame_eval src, re_raise: false, binding_location: false
428428
@success_last_eval = false
429429

430-
b = current_frame.eval_binding
430+
b = current_frame&.eval_binding || TOPLEVEL_BINDING
431431

432432
special_local_variables current_frame do |name, var|
433433
b.local_variable_set(name, var) if /\%/ !~ name
@@ -810,7 +810,7 @@ def make_breakpoint args
810810
case args.first
811811
when :method
812812
klass_name, op, method_name, cond, cmd, path = args[1..]
813-
bp = MethodBreakpoint.new(current_frame.eval_binding, klass_name, op, method_name, cond: cond, command: cmd, path: path)
813+
bp = MethodBreakpoint.new(current_frame&.eval_binding || TOPLEVEL_BINDING, klass_name, op, method_name, cond: cond, command: cmd, path: path)
814814
begin
815815
bp.enable
816816
rescue NameError => e

0 commit comments

Comments
 (0)