Skip to content

Instantly share code, notes, and snippets.

@brixen
Created October 15, 2011 18:25
Show Gist options
  • Save brixen/1289927 to your computer and use it in GitHub Desktop.
Save brixen/1289927 to your computer and use it in GitHub Desktop.
sasha:rubinius brian$ rbx -Xdebug -e 'puts :foo'
| Breakpoint: Rubinius::Loader#debugger at kernel/loader.rb:545 (53)
| 545: Rubinius::Debugger.start
debug> help
help: Show information about debugger commands
b, break, brk: Set a breakpoint at a point in a method
tb, tbreak, tbrk: Set a temporary breakpoint
d, del, delete: Delete a breakpoint
n, next: Move to the next line or conditional branch
s, step: Step into next method call or to next line
ni, nexti: Move to the next bytecode instruction
f, frame: Make a specific frame in the call stack the current frame
c, cont, continue: Continue running the target thread
bt, backtrace: Show the current call stack
p, eval: Run code in the current context
dis, disassemble: Show the bytecode for the current line or method
i, info: Show information about things
set: Set a debugger config variable
show: Display the value of a variable or variables
debug> dis
==== Bytecode between 45 and 56 for line 545 ====
| 45: push_const_fast :Rubinius, 13
| 48: find_const 14
| 50: send_stack :start, 0
| 53: goto 56
| 55: push_nil
| 56: ret
debug> ni
| Breakpoint: Rubinius::Loader#debugger at kernel/loader.rb:0 (56)
| 0:
debug> help set
Help for Rubinius::Debugger::Command::SetVariable:
Accessed using: set
Set a debugger config variable.
Set a debugger configuration variable. Use 'show' to see all variables.
debug> ni
| Breakpoint: Rubinius::Loader#main at kernel/loader.rb:767 (56)
| 767: debugger
debug>
| Breakpoint: Rubinius::Loader#main at kernel/loader.rb:768 (57)
| 768: agent
debug>
| Breakpoint: Rubinius::Loader#main at kernel/loader.rb:768 (58)
| 768: agent
debug> set show_bytecode
| Set 'show_bytecode' = true
debug> ni
| Breakpoint: Rubinius::Loader#main at kernel/loader.rb:768 (60)
| 768: agent
=> ip 60 = pop
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment