Class | Debugger::WhereCommand |
In: |
cli/ruby-debug/commands/frame.rb
|
Parent: | Command |
Implements debugger "where" or "backtrace" command.
# File cli/ruby-debug/commands/frame.rb, line 181 181: def help(cmd) 182: s = if cmd == 'where' 183: %{ 184: w[here]\tdisplay stack frames 185: } 186: else 187: %{ 188: bt|backtrace\t\talias for where - display stack frames 189: } 190: end 191: s += %{ 192: Print the entire stack frame. Each frame is numbered, the most recent 193: frame is 0. frame number can be referred to in the "frame" command; 194: "up" and "down" add or subtract respectively to frame numbers shown. 195: The position of the current frame is marked with -->. } 196: end
# File cli/ruby-debug/commands/frame.rb, line 177 177: def help_command 178: %w|where backtrace| 179: end
# File cli/ruby-debug/commands/frame.rb, line 160 160: def execute 161: (0...@state.context.stack_size).each do |idx| 162: if idx == @state.frame_pos 163: print "--> " 164: else 165: print " " 166: end 167: print_frame(idx) 168: 169: end 170: if truncated_callstack?(@state.context, Debugger.start_sentinal) 171: print "Warning: saved frames may be incomplete;\n" 172: print "compare debugger backtrace (bt) with Ruby caller(0).\n" 173: end 174: end