## Byebug Cheatsheet This cheatsheet includes most of the byebug commands organized by related commands (e.g. breakpoint related commands are together). To see official help... Command | Aliases | Example | Comments ------- | ------- | ------- | -------- `help` | `h` | `h` | list top level of all commands `help cmd` | `h cmd-alias` | `h n` | list the details of a command (example shows requesting details for the `next` command) (this works for all commands) ### Stepping through code Command | Aliases | Example | Comments ------- | ------- | ------- | -------- `next` | `n` | `n` | step over to next line in same block or method (or back to calling block/method if at end of current block/method)   | | `n 3` | step over next N lines (e.g. if on line 11, `n 3` will continue and break on line 14) `step` | `s` | `s` | step into block or method   | | `s 3` | step in 3 times `continue` | `c` | `c` | continue execution to next breakpoint (or end of program if no breakpoints reached)   | | `c 43` | continues and stops at line 43 (stopping at breakpoint if encountered first) `continue!` | `c!` | `c!` | continue execution to end of program ignoring all breakpoints ### Breakpoint Commands Command | Aliases | Example | Comments ------- | ------- | ------- | -------- `info breakpoints` | `i b` | `i b` | Lists breakpoint id, enabled?, and breakpoint line `break` | `b` | `b 33` | Set breakpoint at specified line (e.g. 33) in the current file `disable breakpoint` | `dis b` | `dis b 2` | Disable breakpoint with id (e.g. 2) (disables all if no id specified) `enable breakpoint ` | `en b` | `en b 2` | Enable breakpoint with id (e.g. 2) (disables all if no id specified) `delete` | `del` | `del 1` | Deletes breakpoint with id (e.g. 1) (deletes all if no id specified) `condition` | `cond` | `cond 3 i > 3` | Breaks at breakpoint with id (e.g. 3) only if condition is met   | | `cond 3` | Removes condition from breakpoint with id (e.g. 3) ### Watch Commands Enabled watch expressions display every time byebug stops. Command | Aliases | Example | Comments ------- | ------- | ------- | -------- `info display ` | `i d` | `i d` | Lists display id, enabled?, and expression being watched `display` | `disp` | `disp arg` | Set expression to watch (e.g. arg) everytime the debugger stops   | | `disp` | Lists all display expressions with values `disable display` | `dis d` | `dis d 2` | Disable display with id (e.g. 2) (maybe - disables all if no id specified) `enable display ` | `en d` | `en d 2` | Enable display with id (e.g. 2) (maybe - enables all if no id specified) `undisplay` | `undisp` | `undisp 1` | Stop displaying expression with id (e.g. 1) (stops displaying all if no id specified) ### Variable values Command | Aliases | Example | Comments ------- | ------- | ------- | -------- `var args` | `v a` | `v a` | show arguments and values for current method `var local` | `v l` | `v l` | show local variable and values for current scope (e.g. scope = method or block) `var instance` | `v i` | `v i` | show instance variables and values for instance   | | `v i obj` | show instance variables and values for another object (e.g. obj) `var const` | `v c` | `v c` | show constants and values for current instance's class   | | `v c klass` | show constants and values for another module/class (e.g. klass) `var global` | `v g` | `v g` | show global variables and values `var all` | `v all` | `v all` | show local, global, and instance variables and values of self ### Tracing and Location Command | Aliases | Example | Comments ------- | ------- | ------- | -------- `list=` | `l=` | `l=` | List 5 before and 4 after the current line pending execution (resets to current stop point) `list` | `l` | `l 8-20` | List specified range of lines (e.g. lines 8-20)   | | `l` | List next 10 lines from current location listed. (`l` again gives next 10 after that) `list-` | `l-` | `l-` | List previous 10 lines from current location listed. (`l-` again gives previous 10 before that) `where` or `backtrace` | `w` or `bt` | `w` | display backtrace (`w` and `bt` are the same command)   | | `bt` | display backtrace