byebug 9.1.0 → 10.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/CHANGELOG.md +24 -3
- data/CONTRIBUTING.md +39 -18
- data/GUIDE.md +16 -17
- data/README.md +64 -52
- data/exe/byebug +6 -0
- data/ext/byebug/breakpoint.c +1 -1
- data/ext/byebug/byebug.c +16 -16
- data/ext/byebug/byebug.h +40 -26
- data/ext/byebug/context.c +26 -26
- data/ext/byebug/extconf.rb +7 -5
- data/ext/byebug/threads.c +8 -8
- data/lib/byebug.rb +3 -1
- data/lib/byebug/attacher.rb +17 -3
- data/lib/byebug/breakpoint.rb +25 -3
- data/lib/byebug/command.rb +20 -14
- data/lib/byebug/command_list.rb +3 -1
- data/lib/byebug/commands.rb +39 -37
- data/lib/byebug/commands/break.rb +33 -15
- data/lib/byebug/commands/catch.rb +16 -14
- data/lib/byebug/commands/condition.rb +11 -9
- data/lib/byebug/commands/continue.rb +9 -7
- data/lib/byebug/commands/debug.rb +7 -5
- data/lib/byebug/commands/delete.rb +11 -9
- data/lib/byebug/commands/disable.rb +8 -6
- data/lib/byebug/commands/disable/breakpoints.rb +7 -5
- data/lib/byebug/commands/disable/display.rb +7 -5
- data/lib/byebug/commands/display.rb +11 -9
- data/lib/byebug/commands/down.rb +10 -8
- data/lib/byebug/commands/edit.rb +10 -8
- data/lib/byebug/commands/enable.rb +8 -6
- data/lib/byebug/commands/enable/breakpoints.rb +7 -5
- data/lib/byebug/commands/enable/display.rb +7 -5
- data/lib/byebug/commands/finish.rb +8 -6
- data/lib/byebug/commands/frame.rb +11 -9
- data/lib/byebug/commands/help.rb +7 -5
- data/lib/byebug/commands/history.rb +7 -5
- data/lib/byebug/commands/info.rb +11 -9
- data/lib/byebug/commands/info/breakpoints.rb +17 -11
- data/lib/byebug/commands/info/display.rb +16 -7
- data/lib/byebug/commands/info/file.rb +12 -10
- data/lib/byebug/commands/info/line.rb +5 -3
- data/lib/byebug/commands/info/program.rb +8 -6
- data/lib/byebug/commands/interrupt.rb +8 -4
- data/lib/byebug/commands/irb.rb +9 -7
- data/lib/byebug/commands/kill.rb +9 -7
- data/lib/byebug/commands/list.rb +41 -46
- data/lib/byebug/commands/method.rb +10 -8
- data/lib/byebug/commands/next.rb +8 -6
- data/lib/byebug/commands/pry.rb +10 -8
- data/lib/byebug/commands/quit.rb +7 -5
- data/lib/byebug/commands/restart.rb +13 -11
- data/lib/byebug/commands/save.rb +9 -7
- data/lib/byebug/commands/set.rb +12 -10
- data/lib/byebug/commands/show.rb +7 -5
- data/lib/byebug/commands/source.rb +7 -5
- data/lib/byebug/commands/step.rb +8 -6
- data/lib/byebug/commands/thread.rb +11 -9
- data/lib/byebug/commands/thread/current.rb +6 -4
- data/lib/byebug/commands/thread/list.rb +7 -5
- data/lib/byebug/commands/thread/resume.rb +7 -5
- data/lib/byebug/commands/thread/stop.rb +6 -4
- data/lib/byebug/commands/thread/switch.rb +6 -4
- data/lib/byebug/commands/tracevar.rb +10 -8
- data/lib/byebug/commands/undisplay.rb +10 -8
- data/lib/byebug/commands/untracevar.rb +8 -6
- data/lib/byebug/commands/up.rb +10 -8
- data/lib/byebug/commands/var.rb +12 -10
- data/lib/byebug/commands/var/all.rb +7 -5
- data/lib/byebug/commands/var/args.rb +6 -4
- data/lib/byebug/commands/var/const.rb +9 -7
- data/lib/byebug/commands/var/global.rb +5 -3
- data/lib/byebug/commands/var/instance.rb +6 -4
- data/lib/byebug/commands/var/local.rb +6 -4
- data/lib/byebug/commands/where.rb +9 -7
- data/lib/byebug/context.rb +7 -5
- data/lib/byebug/core.rb +25 -25
- data/lib/byebug/errors.rb +4 -2
- data/lib/byebug/frame.rb +16 -16
- data/lib/byebug/helpers/bin.rb +28 -7
- data/lib/byebug/helpers/eval.rb +8 -6
- data/lib/byebug/helpers/file.rb +4 -2
- data/lib/byebug/helpers/frame.rb +5 -3
- data/lib/byebug/helpers/parse.rb +5 -3
- data/lib/byebug/helpers/path.rb +7 -5
- data/lib/byebug/helpers/reflection.rb +2 -0
- data/lib/byebug/helpers/string.rb +4 -2
- data/lib/byebug/helpers/thread.rb +10 -8
- data/lib/byebug/helpers/toggle.rb +10 -8
- data/lib/byebug/helpers/var.rb +8 -6
- data/lib/byebug/history.rb +7 -5
- data/lib/byebug/interface.rb +13 -11
- data/lib/byebug/interfaces/local_interface.rb +4 -4
- data/lib/byebug/interfaces/remote_interface.rb +21 -9
- data/lib/byebug/interfaces/script_interface.rb +2 -0
- data/lib/byebug/interfaces/test_interface.rb +5 -3
- data/lib/byebug/option_setter.rb +14 -12
- data/lib/byebug/printers/base.rb +6 -6
- data/lib/byebug/printers/plain.rb +8 -6
- data/lib/byebug/printers/texts/base.yml +3 -3
- data/lib/byebug/processors/command_processor.rb +11 -12
- data/lib/byebug/processors/control_processor.rb +4 -6
- data/lib/byebug/processors/post_mortem_processor.rb +4 -2
- data/lib/byebug/processors/script_processor.rb +7 -3
- data/lib/byebug/remote.rb +45 -65
- data/lib/byebug/remote/client.rb +55 -0
- data/lib/byebug/remote/server.rb +47 -0
- data/lib/byebug/runner.rb +26 -19
- data/lib/byebug/setting.rb +10 -4
- data/lib/byebug/settings/autoirb.rb +5 -3
- data/lib/byebug/settings/autolist.rb +5 -3
- data/lib/byebug/settings/autopry.rb +5 -3
- data/lib/byebug/settings/autosave.rb +4 -2
- data/lib/byebug/settings/basename.rb +4 -2
- data/lib/byebug/settings/callstyle.rb +3 -3
- data/lib/byebug/settings/fullpath.rb +4 -2
- data/lib/byebug/settings/histfile.rb +5 -3
- data/lib/byebug/settings/histsize.rb +4 -2
- data/lib/byebug/settings/linetrace.rb +4 -2
- data/lib/byebug/settings/listsize.rb +4 -2
- data/lib/byebug/settings/post_mortem.rb +4 -2
- data/lib/byebug/settings/savefile.rb +4 -2
- data/lib/byebug/settings/stack_on_error.rb +4 -2
- data/lib/byebug/settings/width.rb +3 -1
- data/lib/byebug/source_file_formatter.rb +71 -0
- data/lib/byebug/subcommands.rb +6 -4
- data/lib/byebug/version.rb +1 -1
- metadata +8 -5
- data/bin/byebug +0 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: d1a9c68e68fbb9969eed83bdb9aeaafeb669f377bceb9ab0b5ec2d0b54c1467a
|
4
|
+
data.tar.gz: 817a487ce04be154b49cfb8b56d54fa2c0f9385503de378044f2f8f0a34982ce
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 22559feb649630e9bccbedea078a964dcb4bbb08302a8e6835168937e338ebe1244c0efcc33fd6b259601d17906c20939f64dca9ed23572cb1470ec5bea6397a
|
7
|
+
data.tar.gz: 29a0144c8404d6ef611f7f5b8d1ed22fe986efec0ed6bc20a1bff74b7e0a01904e3a707170e59032072f8cbb9f701db82d8012e7cfd399216472c7f1270bd335
|
data/CHANGELOG.md
CHANGED
@@ -2,7 +2,28 @@
|
|
2
2
|
|
3
3
|
## Master (Unreleased)
|
4
4
|
|
5
|
-
##
|
5
|
+
## 10.0.0 - 2018-01-26
|
6
|
+
|
7
|
+
### Changed
|
8
|
+
|
9
|
+
* Breaking on methods now stops on the first effective line of a method, not on
|
10
|
+
the line containing the `def` keyword.
|
11
|
+
|
12
|
+
### Added
|
13
|
+
|
14
|
+
* Show valid breakpoint locations when invalid location given (#393, @ko1).
|
15
|
+
* Ruby 2.5.0 support (#397, @yui-knk).
|
16
|
+
* Log host & port when launching byebug's client in remote mode.
|
17
|
+
* Some love & tests to remote debugging (#82).
|
18
|
+
* `remote_byebug` shortcut to start the most common case for remote debugging (#141).
|
19
|
+
|
20
|
+
## Fixed
|
21
|
+
|
22
|
+
* Properly ignore ruby fullpath executable when passed to byebug script (#419).
|
23
|
+
* Remote server crash when interrupting client (#141, #274).
|
24
|
+
* Control server thread being able to `interrupt` main thread only a single time. (#239).
|
25
|
+
|
26
|
+
## 9.1.0 - 2017-08-22
|
6
27
|
|
7
28
|
### Added
|
8
29
|
|
@@ -11,7 +32,7 @@
|
|
11
32
|
### Fixed
|
12
33
|
|
13
34
|
* `where` command failing on instance_exec block stack frames.
|
14
|
-
* `restart` command crashing in certain cases because of a missing `require
|
35
|
+
* `restart` command crashing in certain cases because of a missing `require "English"` (#321, @akaneko3).
|
15
36
|
* `restart` command crashing when debugged script is not executable or has no shebang (#321, @akaneko3).
|
16
37
|
|
17
38
|
### Removed
|
@@ -32,7 +53,7 @@
|
|
32
53
|
|
33
54
|
### Fixed
|
34
55
|
|
35
|
-
* Error loading rc file when `ENV[
|
56
|
+
* Error loading rc file when `ENV["HOME"]` is unset.
|
36
57
|
|
37
58
|
## 9.0.4 - 2016-05-19
|
38
59
|
|
data/CONTRIBUTING.md
CHANGED
@@ -21,37 +21,58 @@ abide by its terms.
|
|
21
21
|
always have the lastest patch level release installed.
|
22
22
|
* The recommended tool to manage development dependencies is `bundler`. Run
|
23
23
|
`gem install bundler` to install it.
|
24
|
-
* Running `bundle install` inside a local clone of `byebug` will get
|
25
|
-
dependencies installed.
|
24
|
+
* Running `bin/bundle install` inside a local clone of `byebug` will get
|
25
|
+
development dependencies installed.
|
26
26
|
|
27
27
|
## Running the test suite
|
28
28
|
|
29
|
-
* Make sure you compile the C-extension using `
|
29
|
+
* Make sure you compile the C-extension using `bin/rake compile`.
|
30
30
|
Otherwise you won't be able to use `byebug`.
|
31
|
-
* Run the test suite using the default rake task (`
|
32
|
-
|
33
|
-
`bundle exec rake test`.
|
31
|
+
* Run the test suite using the default rake task (`bin/rake`). This task is
|
32
|
+
composed of 3 subtasks: `bin/rake compile`, `bin/rake test` & `bin/rake lint`.
|
34
33
|
* If you want to run specific tests, use the provided test runner, like so:
|
35
|
-
* Specific test files. For example,
|
36
|
-
|
37
|
-
* Specific test classes. For example,
|
38
|
-
`script/minitest_runner.rb Byebug::BreakAtLinesTestCase`
|
34
|
+
* Specific test files. For example, `bin/minitest test/commands/break_test.rb`
|
35
|
+
* Specific test classes. For example, `bin/minitest BreakAtLinesTest`
|
39
36
|
* Specific tests. For example,
|
40
|
-
`
|
37
|
+
`bin/minitest test_catch_removes_specific_catchpoint`
|
41
38
|
* Specific fully qualified tests. For example,
|
42
|
-
`
|
43
|
-
BreakAtLinesTest#test_setting_breakpoint_sets_correct_fields`
|
39
|
+
`bin/minitest BreakAtLinesTest#test_setting_breakpoint_sets_correct_fields`
|
44
40
|
* You can combine any of them and you will get the union of all filters. For
|
45
|
-
example: `
|
41
|
+
example: `bin/minitest BreakAtLinesTest
|
46
42
|
test_catch_removes_specific_catchpoint`
|
47
43
|
|
48
44
|
## Code style
|
49
45
|
|
50
|
-
* Byebug uses [
|
51
|
-
|
52
|
-
are committed, checking they are consistent with the project's code style.
|
46
|
+
* Byebug uses [codeclimate][] to enforce code style. You can run codeclimate
|
47
|
+
checks locally using the [codeclimate CLI][] with `codeclimate analyze`.
|
53
48
|
|
54
|
-
|
49
|
+
* It also uses some extra style checks that are not available in codeclimate.
|
50
|
+
You can run those using `bin/rake lint`. These tasks are:
|
51
|
+
|
52
|
+
* Linting of c-files using `clang-format`. Configuration is specific to
|
53
|
+
clang-format 3.8, you may need some extra work to get that installed on macOS,
|
54
|
+
see below.
|
55
|
+
|
56
|
+
* Checking correct executable bit on repository files.
|
57
|
+
|
58
|
+
[codeclimate]: https://codeclimate.com/github/deivid-rodriguez/byebug
|
59
|
+
[codeclimate CLI]: https://github.com/codeclimate/codeclimate
|
60
|
+
|
61
|
+
### Runnning `clang-format` on macOS
|
62
|
+
|
63
|
+
At the moment byebug uses older `clang-format` version to enforce C codestyle than
|
64
|
+
can be found in Homebrew. If you are planning to change some C source here it is
|
65
|
+
recommended to use [direnv][] to hook that older version into your shell:
|
66
|
+
|
67
|
+
* Install [direnv][] as described in their README
|
68
|
+
* Install `clang-format@3.8` with `brew install clang-format@3.8`
|
69
|
+
* In byebug source code directory do `echo 'export PATH="/usr/local/opt/clang-format@3.8/bin:$PATH"' > .envrc`
|
70
|
+
* Allow direnv to use that `.envrc` file with `direnv allow`
|
71
|
+
|
72
|
+
With that your `$PATH` will be updated to use older `clang-format` every time you `cd`
|
73
|
+
into byebug source code folder. It will reverted back when you `cd` out of it as well.
|
74
|
+
|
75
|
+
[direnv]: https://github.com/direnv/direnv/
|
55
76
|
|
56
77
|
## Byebug as a C-extension
|
57
78
|
|
data/GUIDE.md
CHANGED
@@ -186,7 +186,7 @@ end
|
|
186
186
|
|
187
187
|
n_args = $ARGV.length
|
188
188
|
|
189
|
-
raise(
|
189
|
+
raise("*** Need number of disks or no parameter") if n_args > 1
|
190
190
|
|
191
191
|
n = 3
|
192
192
|
|
@@ -198,7 +198,7 @@ if n_args > 0
|
|
198
198
|
end
|
199
199
|
end
|
200
200
|
|
201
|
-
raise(
|
201
|
+
raise("*** Number of disks should be between 1 and 100") if n < 1 || n > 100
|
202
202
|
|
203
203
|
hanoi(n, :a, :b, :c)
|
204
204
|
```
|
@@ -330,7 +330,7 @@ Now let's see what happens after stepping:
|
|
330
330
|
11:
|
331
331
|
=> 12: n_args = $ARGV.length
|
332
332
|
13:
|
333
|
-
14: raise(
|
333
|
+
14: raise("*** Need number of disks or no parameter") if n_args > 1
|
334
334
|
(byebug) private_methods.member?(:hanoi)
|
335
335
|
true
|
336
336
|
(byebug)
|
@@ -349,7 +349,7 @@ can use the `restart` command here.
|
|
349
349
|
```bash
|
350
350
|
(byebug) restart 3
|
351
351
|
Re exec'ing:
|
352
|
-
/path/to/
|
352
|
+
/path/to/exe/byebug /path/to/hanoi.rb 3
|
353
353
|
|
354
354
|
[1, 10] in /path/to/hanoi.rb
|
355
355
|
1: #
|
@@ -460,7 +460,7 @@ NameError Exception: undefined local variable or method `n_args' for main:Object
|
|
460
460
|
23: end
|
461
461
|
24: end
|
462
462
|
25:
|
463
|
-
26: raise(
|
463
|
+
26: raise("*** Number of disks should be between 1 and 100") if n < 1 || n > 100
|
464
464
|
27:
|
465
465
|
=> 28: hanoi(n, :a, :b, :c)
|
466
466
|
(byebug) n_args
|
@@ -527,8 +527,8 @@ framework for that. Here's the test code, it should be placed in the same
|
|
527
527
|
directory as `triangle.rb`.
|
528
528
|
|
529
529
|
```ruby
|
530
|
-
require
|
531
|
-
require_relative
|
530
|
+
require "minitest/autorun"
|
531
|
+
require_relative "triangle.rb"
|
532
532
|
|
533
533
|
class TestTriangle < Minitest::Test
|
534
534
|
def test_basic
|
@@ -536,7 +536,7 @@ class TestTriangle < Minitest::Test
|
|
536
536
|
|
537
537
|
0.upto(5) { |i| solutions << triangle(i) }
|
538
538
|
|
539
|
-
assert_equal([0, 1, 3, 6, 10, 15], solutions,
|
539
|
+
assert_equal([0, 1, 3, 6, 10, 15], solutions, "First 5 triangle numbers")
|
540
540
|
end
|
541
541
|
end
|
542
542
|
```
|
@@ -561,7 +561,7 @@ Run options: --seed 31679
|
|
561
561
|
# Running:
|
562
562
|
|
563
563
|
[2, 11] in test_triangle.rb
|
564
|
-
2: require_relative
|
564
|
+
2: require_relative "triangle.rb"
|
565
565
|
3:
|
566
566
|
4: class TestTriangle < Minitest::Test
|
567
567
|
5: def test_basic
|
@@ -570,7 +570,7 @@ Run options: --seed 31679
|
|
570
570
|
8:
|
571
571
|
9: 0.upto(5) { |i| solutions << triangle(i) }
|
572
572
|
10:
|
573
|
-
11: assert_equal([0, 1, 3, 6, 10, 15], solutions,
|
573
|
+
11: assert_equal([0, 1, 3, 6, 10, 15], solutions, "First 5 triangle numbers")
|
574
574
|
(byebug)
|
575
575
|
```
|
576
576
|
|
@@ -740,7 +740,7 @@ _current_ class of the object.
|
|
740
740
|
Consider the following little Ruby program.
|
741
741
|
|
742
742
|
```ruby
|
743
|
-
|
743
|
+
"Yes it does" =~ /
|
744
744
|
(Yes) \s+
|
745
745
|
it \s+
|
746
746
|
does
|
@@ -953,8 +953,7 @@ We have started by debugging the `employee` thread. To do that, we switch to
|
|
953
953
|
that thread using the `thread switch 3` command. The thread number is the one
|
954
954
|
specified by `thread list`, we know this is our worker thread because `thread
|
955
955
|
list` specifies where the thread is defined in the file (and its current
|
956
|
-
position if the thread is currently running
|
957
|
-
since Ruby 2.2.1).
|
956
|
+
position if the thread is currently running).
|
958
957
|
|
959
958
|
After that we stopped the main thread and the worker thread, using the command
|
960
959
|
`thread stop`. We do this because we want to focus on the employee thread first
|
@@ -1312,7 +1311,7 @@ at the same speed as if there were no byebug.
|
|
1312
1311
|
To enter byebug this way, just drop `byebug` in whichever line you want to start
|
1313
1312
|
debugging at. You also have to require byebug somehow. If using bundler, it will
|
1314
1313
|
take care of that for you, otherwise you can use the ruby `-r` flag or add
|
1315
|
-
`require
|
1314
|
+
`require "byebug"` in the line previous to the `byebug` call.
|
1316
1315
|
|
1317
1316
|
If speed is crucial, you may want to start and stop this around certain sections
|
1318
1317
|
of code, using `Byebug.start` and `Byebug.stop`. Alternatively, instead of
|
@@ -1328,7 +1327,7 @@ problem you want to investigate. And since `byebug` is just a method call it's
|
|
1328
1327
|
possible to enclose it in a conditional expression, for example
|
1329
1328
|
|
1330
1329
|
```ruby
|
1331
|
-
byebug if
|
1330
|
+
byebug if "bar" == foo and 20 == iter_count
|
1332
1331
|
```
|
1333
1332
|
|
1334
1333
|
### Restarting Byebug
|
@@ -1355,9 +1354,9 @@ program that you want to debug (In Rails, the
|
|
1355
1354
|
`config/environments/development.rb` could be a good candidate).
|
1356
1355
|
|
1357
1356
|
```ruby
|
1358
|
-
require
|
1357
|
+
require "byebug/core"
|
1359
1358
|
Byebug.wait_connection = true
|
1360
|
-
Byebug.start_server(
|
1359
|
+
Byebug.start_server("localhost", <port>)
|
1361
1360
|
```
|
1362
1361
|
|
1363
1362
|
Once this piece gets executed, you can connect to the remote debugger from your
|
data/README.md
CHANGED
@@ -1,21 +1,18 @@
|
|
1
1
|
# Byebug
|
2
2
|
|
3
3
|
[![Version][gem]][gem_url]
|
4
|
-
[![
|
4
|
+
[![Maintainability][mai]][mai_url]
|
5
5
|
[![Coverage][cov]][cov_url]
|
6
|
-
[![Gratipay][tip]][tip_url]
|
7
6
|
[![Gitter][irc]][irc_url]
|
8
7
|
|
9
8
|
[gem]: https://img.shields.io/gem/v/byebug.svg
|
10
|
-
[
|
11
|
-
[cov]: https://
|
12
|
-
[tip]: https://img.shields.io/gittip/byebug.svg
|
9
|
+
[mai]: https://api.codeclimate.com/v1/badges/f1a1bec582752c22da80/maintainability
|
10
|
+
[cov]: https://api.codeclimate.com/v1/badges/f1a1bec582752c22da80/test_coverage
|
13
11
|
[irc]: https://img.shields.io/badge/IRC%20(gitter)-devs%20%26%20users-brightgreen.svg
|
14
12
|
|
15
13
|
[gem_url]: https://rubygems.org/gems/byebug
|
16
|
-
[
|
17
|
-
[cov_url]: https://codeclimate.com/github/deivid-rodriguez/byebug
|
18
|
-
[tip_url]: https://gratipay.com/byebug
|
14
|
+
[mai_url]: https://codeclimate.com/github/deivid-rodriguez/byebug/maintainability
|
15
|
+
[cov_url]: https://codeclimate.com/github/deivid-rodriguez/byebug/test_coverage
|
19
16
|
[irc_url]: https://gitter.im/deivid-rodriguez/byebug
|
20
17
|
|
21
18
|
Byebug is a simple to use, feature rich debugger for Ruby. It uses the
|
@@ -36,22 +33,23 @@ and offers many of the traditional debugging features such as:
|
|
36
33
|
|
37
34
|
## Build Status
|
38
35
|
|
39
|
-
Linux [![
|
40
|
-
|
36
|
+
Linux [![Cir][cir]][cir_url]
|
37
|
+
macOS [![Tra][tra]][tra_url]
|
41
38
|
Windows [![Vey][vey]][vey_url]
|
42
39
|
|
43
|
-
[
|
40
|
+
[cir]: https://circleci.com/gh/deivid-rodriguez/byebug/tree/master.svg?style=svg
|
41
|
+
[tra]: https://api.travis-ci.org/deivid-rodriguez/byebug.svg?branch=master
|
44
42
|
[vey]: https://ci.appveyor.com/api/projects/status/github/deivid-rodriguez/byebug?svg=true
|
45
43
|
|
44
|
+
[cir_url]: https://circleci.com/gh/deivid-rodriguez/byebug/tree/master
|
46
45
|
[tra_url]: https://travis-ci.org/deivid-rodriguez/byebug
|
47
46
|
[vey_url]: https://ci.appveyor.com/project/deivid-rodriguez/byebug
|
48
47
|
|
49
48
|
## Requirements
|
50
49
|
|
51
|
-
*
|
52
|
-
|
53
|
-
|
54
|
-
* MRI 2.4.0 or higher.
|
50
|
+
* Required: MRI 2.2.0 or higher.
|
51
|
+
|
52
|
+
* Recommended: MRI 2.3.0 or higher.
|
55
53
|
|
56
54
|
## Install
|
57
55
|
|
@@ -59,6 +57,12 @@ Windows [![Vey][vey]][vey_url]
|
|
59
57
|
gem install byebug
|
60
58
|
```
|
61
59
|
|
60
|
+
Or if you use `bundler`,
|
61
|
+
|
62
|
+
```shell
|
63
|
+
bundle add byebug --group "development, test"
|
64
|
+
```
|
65
|
+
|
62
66
|
## Usage
|
63
67
|
|
64
68
|
### From within the Ruby code
|
@@ -95,43 +99,43 @@ byebug myscript.rb
|
|
95
99
|
|
96
100
|
## Byebug's commands
|
97
101
|
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
102
|
+
Command | Aliases | Subcommands
|
103
|
+
------- | ------- | -----------
|
104
|
+
`backtrace` | `bt` `where` |
|
105
|
+
`break` | |
|
106
|
+
`catch` | |
|
107
|
+
`condition` | |
|
108
|
+
`continue` | |
|
109
|
+
`delete` | |
|
110
|
+
`debug` | |
|
111
|
+
`disable` | | `breakpoints` `display`
|
112
|
+
`display` | |
|
113
|
+
`down` | |
|
114
|
+
`edit` | |
|
115
|
+
`enable` | | `breakpoints` `display`
|
116
|
+
`finish` | |
|
117
|
+
`frame` | |
|
118
|
+
`help` | |
|
119
|
+
`history` | |
|
120
|
+
`info` | | `args` `breakpoints` `catch` `display` `file` `line` `program`
|
121
|
+
`irb` | |
|
122
|
+
`kill` | |
|
123
|
+
`list` | |
|
124
|
+
`method` | | `instance`
|
125
|
+
`next` | |
|
126
|
+
`pry` | |
|
127
|
+
`quit` | |
|
128
|
+
`restart` | |
|
129
|
+
`save` | |
|
130
|
+
`set` | | `autoirb` `autolist` `autopry` `autosave` `basename` `callstyle` `fullpath` `histfile` `histsize` `linetrace` `listsize` `post_mortem` `savefile` `stack_on_error` `width`
|
131
|
+
`show` | | `autoirb` `autolist` `autopry` `autosave` `basename` `callstyle` `fullpath` `histfile` `histsize` `linetrace` `listsize` `post_mortem` `savefile` `stack_on_error` `width`
|
132
|
+
`source` | |
|
133
|
+
`step` | |
|
134
|
+
`thread` | | `current` `list` `resume` `stop` `switch`
|
135
|
+
`tracevar` | |
|
136
|
+
`undisplay` | |
|
137
|
+
`up` | |
|
138
|
+
`var` | | `all` `constant` `global` `instance` `local`
|
135
139
|
|
136
140
|
## Semantic Versioning
|
137
141
|
|
@@ -160,6 +164,11 @@ started. Proper documentation will be eventually written.
|
|
160
164
|
|
161
165
|
See [Getting Started with Development](CONTRIBUTING.md).
|
162
166
|
|
167
|
+
You can also help `byebug` by leaving a small (or big) tip through
|
168
|
+
[Liberapay][liberapay.com].
|
169
|
+
|
170
|
+
[![Support via Liberapay][liberapay-button]][liberapay-donate]
|
171
|
+
|
163
172
|
## Credits
|
164
173
|
|
165
174
|
Everybody who has ever contributed to this forked and reforked piece of
|
@@ -179,3 +188,6 @@ software, especially:
|
|
179
188
|
[minitest-byebug]: https://github.com/kaspth/minitest-byebug
|
180
189
|
[sublime_debugger]: https://github.com/shuky19/sublime_debugger
|
181
190
|
[atom-byebug]: https://github.com/izaera/atom-byebug
|
191
|
+
[liberapay.com]: https://liberapay.com
|
192
|
+
[liberapay-button]: https://liberapay.com/assets/widgets/donate.svg
|
193
|
+
[liberapay-donate]: https://liberapay.com/byebug/donate
|
data/exe/byebug
ADDED
data/ext/byebug/breakpoint.c
CHANGED