- Bug in rc file loading where most initialization commands would not be run.
- Bug in evaluations using "eval".
debug
command to evaluate things in a separate thread, since this behavior was removed from defaulteval
to fix the above issues.
- Command history should be specific per project.
- Better error message in certain edge cases when printing the backtrace.
- Bug in evaluator which would show information about having stopped at a breakpoint in some cases.
- Ability to autolist source code after
frame
command. - Ability to stop at lines where methods return.
- Error stream wouldn't be properly reset when using standalone
byebug
. - Confusing error message for invalid breakpoint locations.
- #183. Compilation in Ruby 2.0. Regression introduced in 7.0.0
- "Return value is: nil" would be displayed when stopping right before the end of a class definition. We want to avoid showing anything instead.
- Plugins now need to implement an
at_end
method (separate fromat_return
) in their custom processors.
- #177. Some issues with formatting results of evaluations.
- #144. Ruby process after using byebug does no longer get slow.
- #121.
byebug
commands inside code evaluated from debugger's prompt are now properly working. - Another evaluation bug in autocommands.
finish 0
command would sometimes fail to stop right before exiting the current frame.- Runner's
--[no-]stop
option now works (thanks @windwiny). - Change variable name
bool
, avoid conflict clang's predefined macro
ps
command.
- #166. Don't load
the entire library on require, but only when a
byebug
call is issued. Thanks @bquorning. - The above fix to the
finish 0
command causebyebug
's entrypoint to require 3 steps out instead of 2. In general, plugins usingByebug::Context.step_out
will need to be changed to consider "c return events" as well.
autopry
setting that callspry
on every stop.- Return value information to debugger's output when
finish 0
is used.
- The user should always be given back a prompt unless (s)he explicitly states the opposite. This provides a more general fix to the bug resolved in 6.0.1.
- Bug in evaluation where the user would lose the command prompt when entering an expression with a syntax error.
autoeval
setting. I haven't heard of anyone setting it to false.pp
,putl
,eval
. People just want to evaluate Ruby code, so the less magic the better. Most of the people probably were not aware thatbyebug
was overriding stuff likepp
oreval
. Only keepingps
as the single "enhanced evaluation" command.verbose
setting.info catch
command. Usecatch
without arguments instead.R
command alias forrestart
.
info args
is nowvar args
.interrupt
is now aliased toint
, not toi
.- API to define custom commands and subcommands (see the Command class).
- #140.
help
command not showing the list of available commands and their descriptions. - #147. Setting breakpoints at symlinked files.
- API to define custom command processors (see the CommandProcessor class).
- #136.
frame
command not working with negative numbers (thanks @ark6).
- IDE support and a new command/subcommand API for plugins.
- Add a "savefile" setting holding the file where "save" command saves current debugger's state.
disable
no longer disable all breakpoints, it just shows command's help instead. To disable all breakpoints now you need to dodisable breakpoints
(ordis b
). Similarly, you can't no longer usedis 1 2 3
but need to dodis b 1 2 3
to disable specific breakpoints. The same applies to theenable
command.
help set <setting>
no longer works.help set
includes that same output and it's not verbose enough so that this is a problem. Same withhelp show <setting>
.
- #131
- Thread commands help format should be consistent with the rest of the help system now.
- Unused variable warning in context.c
- #118. Remove
rb-readline
as a dependency and show a help message whenever requiringreadline
fails instead.
- .yml files needed for printers support were missing from the release... :S
- #118. Add
readline
as a dependency.
untracevar
command that stops tracing a global variable.- Window CI build through AppVeyor.
- OSX CI build through Travis.
- Style enforcement through RuboCop.
- C style enforment using the
indent
command line utility. - Some remote debugging tests (thanks @eric-hu).
- Printer's support (thanks @astashov).
- A lot of internal refactoring.
tracevar
now requires the full global variable name (with "$").- #92. The
catch
command is not allowed in post_mortem mode anymore. It was not working anyways. - #85.
step
is now more user friendly when used in combination withup
. var const
can now be called without an argument and will show constants in the current scope.break
with a class name now creates breakpoints regardless of class not being yet defined. If that's the case, it gives a warning but the class is created anyways.
- Code reloading issues.
set fullpath
was not showing fullpaths. Now it is.up
,down
andframe
commands now work in post_mortem mode (#93).- rc file (
.byebugrc
) loading: invalid commands are just ignored instead of aborting, global (home) rc file is now properly loaded before project's file. - #93. Backtraces not
working in
post_mortem
mode. - 'cmd1 ; cmd2 ; ...; cmdN' syntax which allows running several commands sequentially.
- #101.
finish
command not stopping at the correct line. - #106.
break
with namespaced class, likebreak A::B#c
should now work. - Command history is now persisted before exiting byebug.
- Setting breakpoint in a method would stop not only at the beginning of the method but also at the beginning of every block inside the method.
- #122. Setting breakpoints on module methods (@x-yuri).
autoreload
setting as it's not necessary anymore. Code should always be up to date.reload
command for the same reason.- Gem dependency on
debugger-linecache
. step+
,step-
,next+
,next-
,set/show linetrace_plus
andset/show forcestep
commands. These were all mechanisms to deal with TracePoint API event dupplication, but this duplicated events have been completely removed from the API since r48609, so they are no longer necessary.info file
subcommands:info file breakpoints
,info file mtime
,info file sha1
,info file all
. Now all information is listed underinfo file
.testing
setting. It was just a hack to be able to testbyebug
. Nobody was supposed to actually use it!var class
command, just use Ruby (self.class.class_variables
).p
command, just useeval
, or just type your expression andbyebug
will autoevaluate it.exit
alias forquit
.
- #79. Windows installation.
condition
command not properly detecting invalid breakpoint ids.
- #81. Byebug's history messing up other programs using Readline.
- Readline's history not being properly saved and inmediately available.
- User not being notified when trying to debug a non existent script.
- Complete rewrite of byebug's history.
- Complete rewrite of list command.
- Docs about stacktrace related commands (up, down, frame, backtrace).
- #67. Debugging
commands invoked by ruby executable, as in
byebug -- ruby -Itest a_test.rb -n test_something
.
- #54. Use of threads
inside
eval
command. list
command not listing backwards after reaching the end of the file.
- deivid-rodriguez/pry-byebug#32 in a better way.
set verbose
command.set post_mortem false
command.- Debugger stopping in
byebug
's internal frames in some cases. backtrace
crashing whenfullpath
setting disabled and calculated stack size being smaller than the real one.
- The
-t
option forbin/byebug
now turns tracing on whereas the-x
option tells byebug to run the initialization file (.byebugrc) on startup. This is the default behaviour though. bin/byebug
libified and tests added.
info locals
command. Usevar local
instead.info instance_variables
command. Usevar instance
instead.info global_variables
command. Usevar global
instead.info variables
command. Usevar all
instead.irb
command stepping capabilities, see 8e226d0.script
andrestart-script
options forbin/byebug
.
post_mortem
activation throughByebug.post_mortem
. Useset post_mortem
instead.info stack
command. Usewhere
instead.method iv
command. Usevar instance
instead.- #77. Warning.
post_mortem
mode inbin/byebug
(really).- Line tracing in
bin/byebug
.
post_mortem
mode in bin/byebug.
show commands
command. Usehistory
instead.- Byebug.start accepting options. Any program settings you want applied from
the start should be set in
.byebugrc
. trace
command. Useset linetrace
for line tracing andtracevar
for global variable tracing.show version
command. Usebyebug --version
to check byebug's version.set arg
setting. Use therestart
command instead.
linetrace_plus
setting renamed totracing_plus
.
history
command to check byebug's history of previous commands.
- Plain
byebug
not working whenpry-byebug
installed. post_mortem
mode.- Command history not being saved after regular program termination.
- #54. (Again) calling
Byebug.start
withTimeout.timeout
(thanks @zmoazeni).
- Allow disabling
post_mortem
mode.
show commands
command for listing history of previous commands now behaves like shell'shistory
command.show/set history filename
is nowshow/set histfile
show/set history size
is nowshow/set histsize
show/set history save
is nowshow/set autosave
finish
semantics, see 61f9b4d.- Use
per project
history file by default.
- The
init
option forByebug.start
. Information to make therestart
command work is always saved now.
- Circular dependency affecting
pry-byebug
(thanks @andreychernih).
- Support for
sublime-debugger
.
- #40. Installation error in Mac OSX (thanks @luislavena).
thread list
showing too many threads.- Fix setting post mortem mode with
set post_mortem
. Now this is the only post mortem functionality available as specifyingByebug.post_mortem
with a block has been removed in this version.
- (Again)
debugger
as an alias tobyebug
(thanks @wallace). -R
option forbin/byebug
to specify server's hostname:port for remote debugging (thanks @mrkn).
- Use
require
instead ofrequire_relative
for loading byebug's extension library (thanks @nobu). trace variable $foo
should be nowtrace variable $foo
.
- Breakpoint removal.
- Broken test suite.
- Compatibility with Phusion Passenger Enterprise (thanks @FooBarWidget).
- More minimalist help system.
- Compilation issue in 64 bit systems.
- #26. Compilation issue
introduced in
2.2.0
.
show/set stack_trace_on_error
is nowshow/set stack_on_error
.
- Stack size calculations.
- Setting
post_mortem
mode.
verbose
setting for TracePoint API event inspection.
- Warning free byebug.
- Allow
edit <filename>
without a line number.
- Debugging code inside
-e
Ruby flag.
- Remote debugging display.
eval
crashing when inspecting raised an exception (reported by @iblue).
enable breakpoints
now enables every breakpoint.disable breakpoints
now disables every breakpoint.
- "Official" definition of a command API.
- Thread support.
jump
command. It had never worked.
- Several internal refactorings.
save
command now saves the list ofdisplays
.- Stack size calculation.
- More user friendly regexps for commands.
- Better help for some commands.
- Major regression introduced in 1.8.0.
- Remote debugging support.
- List command automatically called after callstack navigation commands.
- C-frames specifically marked in the callstack.
- C-frames skipped when navigating the callstack.
- Windows compatibiliy: compilation and terminal width issues.
byebug
placed at the end of a block or method call not working as expected.autolist
being applied when Ruby-e
option used.
- Backtrace callstyles. Use
long
for detailed frames in callstack andshort
for more concise frames.
- Incomplete backtraces when the debugger was not started at program startup.
help command subcommand
command.- Interaction with Rails Console debugging flag.
post_mortem
mode when running byebug from the outset.no-quit
flag when running byebug from the outset.
- Crash when printing some filenames in backtraces.
- Allow byebug developers to easily use compilers different from gcc (thanks @GarthSnyder!).
- Memory leaks causing
byebug
to randomly crash.
- Use the Debug Inspector API for backtrace information.
- Interaction with Rails debugging flag.
- Crash when trying to print lines of code containing the character '%'.
basename
andlinetrace
options not working together.
- Support colon-delimited include paths in command-line front-end (@ender672).
- Ctrl+C during command line editing (works like pry/irb).
pry
command.
pry-byebug
compatibility.
- Better help system.
- Code cleanup.
- Post Mortem support.
- Negative line numbers shown by list command at the beginning of file.
backtrace
command segfaulting when trying to show info on some frame args. Don't know the reason yet, but the exception is handled now and command does not segfault anymore.
autoreload
is set by default now.- Try some thread support (not even close to usable).
- backtraces messed up when using both
next
/step
and backtrace navigation commands.
autolist
andautoeval
are default settings now.
- Byebug not loading properly.
- Green test suite.
- Initial release.