byebug 9.0.5 → 11.1.3
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 +399 -264
- data/CONTRIBUTING.md +12 -19
- data/GUIDE.md +40 -26
- data/LICENSE +18 -18
- data/README.md +103 -74
- data/exe/byebug +6 -0
- data/ext/byebug/breakpoint.c +2 -2
- data/ext/byebug/byebug.c +26 -31
- data/ext/byebug/byebug.h +44 -28
- data/ext/byebug/context.c +45 -32
- data/ext/byebug/extconf.rb +7 -5
- data/ext/byebug/locker.c +4 -4
- data/ext/byebug/threads.c +12 -12
- data/lib/byebug/attacher.rb +18 -4
- data/lib/byebug/breakpoint.rb +26 -6
- data/lib/byebug/command.rb +20 -14
- data/lib/byebug/command_list.rb +3 -1
- data/lib/byebug/commands/break.rb +36 -22
- data/lib/byebug/commands/catch.rb +16 -18
- data/lib/byebug/commands/condition.rb +11 -11
- data/lib/byebug/commands/continue.rb +32 -12
- data/lib/byebug/commands/debug.rb +7 -5
- data/lib/byebug/commands/delete.rb +13 -11
- data/lib/byebug/commands/disable/breakpoints.rb +7 -5
- data/lib/byebug/commands/disable/display.rb +7 -5
- data/lib/byebug/commands/disable.rb +8 -6
- data/lib/byebug/commands/display.rb +11 -9
- data/lib/byebug/commands/down.rb +10 -8
- data/lib/byebug/commands/edit.rb +11 -8
- data/lib/byebug/commands/enable/breakpoints.rb +7 -5
- data/lib/byebug/commands/enable/display.rb +7 -5
- data/lib/byebug/commands/enable.rb +8 -6
- data/lib/byebug/commands/finish.rb +9 -7
- 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/breakpoints.rb +18 -14
- data/lib/byebug/commands/info/display.rb +16 -9
- data/lib/byebug/commands/info/file.rb +13 -14
- data/lib/byebug/commands/info/line.rb +5 -3
- data/lib/byebug/commands/info/program.rb +8 -6
- data/lib/byebug/commands/info.rb +11 -9
- data/lib/byebug/commands/interrupt.rb +8 -4
- data/lib/byebug/commands/irb.rb +13 -12
- data/lib/byebug/commands/kill.rb +11 -11
- 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 -10
- data/lib/byebug/commands/quit.rb +10 -8
- data/lib/byebug/commands/restart.rb +30 -11
- data/lib/byebug/commands/save.rb +10 -8
- data/lib/byebug/commands/set.rb +13 -11
- data/lib/byebug/commands/show.rb +7 -5
- data/lib/byebug/commands/skip.rb +85 -0
- data/lib/byebug/commands/source.rb +7 -7
- data/lib/byebug/commands/step.rb +8 -6
- 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 -7
- data/lib/byebug/commands/thread/stop.rb +6 -4
- data/lib/byebug/commands/thread/switch.rb +6 -4
- data/lib/byebug/commands/thread.rb +11 -9
- data/lib/byebug/commands/tracevar.rb +10 -11
- data/lib/byebug/commands/undisplay.rb +12 -11
- data/lib/byebug/commands/untracevar.rb +8 -6
- data/lib/byebug/commands/up.rb +10 -8
- 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 -9
- 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/var.rb +12 -10
- data/lib/byebug/commands/where.rb +9 -7
- data/lib/byebug/commands.rb +40 -37
- data/lib/byebug/context.rb +7 -5
- data/lib/byebug/core.rb +26 -25
- data/lib/byebug/errors.rb +4 -2
- data/lib/byebug/frame.rb +19 -22
- data/lib/byebug/helpers/bin.rb +47 -0
- data/lib/byebug/helpers/eval.rb +15 -13
- data/lib/byebug/helpers/file.rb +6 -4
- data/lib/byebug/helpers/frame.rb +7 -5
- data/lib/byebug/helpers/parse.rb +5 -5
- data/lib/byebug/helpers/path.rb +9 -11
- data/lib/byebug/helpers/reflection.rb +2 -0
- data/lib/byebug/helpers/string.rb +11 -2
- data/lib/byebug/helpers/thread.rb +10 -8
- data/lib/byebug/helpers/toggle.rb +28 -27
- data/lib/byebug/helpers/var.rb +9 -7
- data/lib/byebug/history.rb +20 -11
- data/lib/byebug/interface.rb +13 -11
- data/lib/byebug/interfaces/local_interface.rb +25 -7
- data/lib/byebug/interfaces/remote_interface.rb +21 -9
- data/lib/byebug/interfaces/script_interface.rb +4 -1
- data/lib/byebug/interfaces/test_interface.rb +5 -3
- data/lib/byebug/option_setter.rb +14 -12
- data/lib/byebug/printers/base.rb +10 -10
- data/lib/byebug/printers/plain.rb +9 -8
- data/lib/byebug/printers/texts/base.yml +7 -3
- data/lib/byebug/printers/texts/plain.yml +1 -1
- 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/client.rb +57 -0
- data/lib/byebug/remote/server.rb +47 -0
- data/lib/byebug/remote.rb +46 -66
- data/lib/byebug/runner.rb +43 -49
- data/lib/byebug/setting.rb +11 -5
- data/lib/byebug/settings/autoirb.rb +7 -5
- data/lib/byebug/settings/autolist.rb +7 -5
- data/lib/byebug/settings/autopry.rb +7 -5
- data/lib/byebug/settings/autosave.rb +4 -2
- data/lib/byebug/settings/basename.rb +4 -2
- data/lib/byebug/settings/callstyle.rb +4 -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 +6 -4
- data/lib/byebug/settings/listsize.rb +4 -2
- data/lib/byebug/settings/post_mortem.rb +6 -4
- 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 +2 -1
- data/lib/byebug.rb +3 -1
- metadata +22 -20
- data/bin/byebug +0 -7
@@ -0,0 +1,71 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "helpers/file"
|
4
|
+
require_relative "setting"
|
5
|
+
|
6
|
+
module Byebug
|
7
|
+
#
|
8
|
+
# Formats specific line ranges in a source file
|
9
|
+
#
|
10
|
+
class SourceFileFormatter
|
11
|
+
include Helpers::FileHelper
|
12
|
+
|
13
|
+
attr_reader :file, :annotator
|
14
|
+
|
15
|
+
def initialize(file, annotator)
|
16
|
+
@file = file
|
17
|
+
@annotator = annotator
|
18
|
+
end
|
19
|
+
|
20
|
+
def lines(min, max)
|
21
|
+
File.foreach(file).with_index.map do |line, lineno|
|
22
|
+
next unless (min..max).cover?(lineno + 1)
|
23
|
+
|
24
|
+
format(
|
25
|
+
"%<annotation>s %<lineno>#{max.to_s.size}d: %<source>s",
|
26
|
+
annotation: annotator.call(lineno + 1),
|
27
|
+
lineno: lineno + 1,
|
28
|
+
source: line
|
29
|
+
)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def lines_around(center)
|
34
|
+
lines(*range_around(center))
|
35
|
+
end
|
36
|
+
|
37
|
+
def range_around(center)
|
38
|
+
range_from(center - size / 2)
|
39
|
+
end
|
40
|
+
|
41
|
+
def range_from(min)
|
42
|
+
first = amend_initial(min)
|
43
|
+
|
44
|
+
[first, first + size - 1]
|
45
|
+
end
|
46
|
+
|
47
|
+
def amend_initial(line)
|
48
|
+
amend(line, max_initial_line)
|
49
|
+
end
|
50
|
+
|
51
|
+
def amend_final(line)
|
52
|
+
amend(line, max_line)
|
53
|
+
end
|
54
|
+
|
55
|
+
def max_initial_line
|
56
|
+
max_line - size + 1
|
57
|
+
end
|
58
|
+
|
59
|
+
def max_line
|
60
|
+
@max_line ||= n_lines(file)
|
61
|
+
end
|
62
|
+
|
63
|
+
def size
|
64
|
+
[Setting[:listsize], max_line].min
|
65
|
+
end
|
66
|
+
|
67
|
+
def amend(line, ceiling)
|
68
|
+
[ceiling, [1, line].max].min
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
data/lib/byebug/subcommands.rb
CHANGED
@@ -1,7 +1,9 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
4
|
-
|
3
|
+
require "forwardable"
|
4
|
+
|
5
|
+
require_relative "helpers/reflection"
|
6
|
+
require_relative "command_list"
|
5
7
|
|
6
8
|
module Byebug
|
7
9
|
#
|
@@ -13,7 +15,7 @@ module Byebug
|
|
13
15
|
end
|
14
16
|
|
15
17
|
extend Forwardable
|
16
|
-
def_delegators
|
18
|
+
def_delegators "self.class", :subcommand_list
|
17
19
|
|
18
20
|
#
|
19
21
|
# Delegates to subcommands or prints help if no subcommand specified.
|
data/lib/byebug/version.rb
CHANGED
data/lib/byebug.rb
CHANGED
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: byebug
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 11.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Rodriguez
|
8
8
|
- Kent Sibilev
|
9
9
|
- Mark Moseley
|
10
10
|
autorequire:
|
11
|
-
bindir:
|
11
|
+
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2020-04-23 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bundler
|
@@ -18,22 +18,21 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - "~>"
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: '
|
21
|
+
version: '2.0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
26
|
- - "~>"
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: '
|
28
|
+
version: '2.0'
|
29
29
|
description: |-
|
30
|
-
Byebug is a Ruby
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
email: deivid.rodriguez@mail.com
|
30
|
+
Byebug is a Ruby debugger. It's implemented using the
|
31
|
+
TracePoint C API for execution control and the Debug Inspector C API for
|
32
|
+
call stack navigation. The core component provides support that front-ends
|
33
|
+
can build on. It provides breakpoint handling and bindings for stack frames
|
34
|
+
among other things and it comes with an easy to use command line interface.
|
35
|
+
email: deivid.rodriguez@riseup.net
|
37
36
|
executables:
|
38
37
|
- byebug
|
39
38
|
extensions:
|
@@ -49,7 +48,7 @@ files:
|
|
49
48
|
- GUIDE.md
|
50
49
|
- LICENSE
|
51
50
|
- README.md
|
52
|
-
-
|
51
|
+
- exe/byebug
|
53
52
|
- ext/byebug/breakpoint.c
|
54
53
|
- ext/byebug/byebug.c
|
55
54
|
- ext/byebug/byebug.h
|
@@ -100,6 +99,7 @@ files:
|
|
100
99
|
- lib/byebug/commands/save.rb
|
101
100
|
- lib/byebug/commands/set.rb
|
102
101
|
- lib/byebug/commands/show.rb
|
102
|
+
- lib/byebug/commands/skip.rb
|
103
103
|
- lib/byebug/commands/source.rb
|
104
104
|
- lib/byebug/commands/step.rb
|
105
105
|
- lib/byebug/commands/thread.rb
|
@@ -124,6 +124,7 @@ files:
|
|
124
124
|
- lib/byebug/core.rb
|
125
125
|
- lib/byebug/errors.rb
|
126
126
|
- lib/byebug/frame.rb
|
127
|
+
- lib/byebug/helpers/bin.rb
|
127
128
|
- lib/byebug/helpers/eval.rb
|
128
129
|
- lib/byebug/helpers/file.rb
|
129
130
|
- lib/byebug/helpers/frame.rb
|
@@ -150,6 +151,8 @@ files:
|
|
150
151
|
- lib/byebug/processors/post_mortem_processor.rb
|
151
152
|
- lib/byebug/processors/script_processor.rb
|
152
153
|
- lib/byebug/remote.rb
|
154
|
+
- lib/byebug/remote/client.rb
|
155
|
+
- lib/byebug/remote/server.rb
|
153
156
|
- lib/byebug/runner.rb
|
154
157
|
- lib/byebug/setting.rb
|
155
158
|
- lib/byebug/settings/autoirb.rb
|
@@ -167,11 +170,12 @@ files:
|
|
167
170
|
- lib/byebug/settings/savefile.rb
|
168
171
|
- lib/byebug/settings/stack_on_error.rb
|
169
172
|
- lib/byebug/settings/width.rb
|
173
|
+
- lib/byebug/source_file_formatter.rb
|
170
174
|
- lib/byebug/subcommands.rb
|
171
175
|
- lib/byebug/version.rb
|
172
|
-
homepage:
|
176
|
+
homepage: https://github.com/deivid-rodriguez/byebug
|
173
177
|
licenses:
|
174
|
-
- BSD
|
178
|
+
- BSD-2-Clause
|
175
179
|
metadata: {}
|
176
180
|
post_install_message:
|
177
181
|
rdoc_options: []
|
@@ -181,17 +185,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
181
185
|
requirements:
|
182
186
|
- - ">="
|
183
187
|
- !ruby/object:Gem::Version
|
184
|
-
version: 2.
|
188
|
+
version: 2.4.0
|
185
189
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
186
190
|
requirements:
|
187
191
|
- - ">="
|
188
192
|
- !ruby/object:Gem::Version
|
189
193
|
version: '0'
|
190
194
|
requirements: []
|
191
|
-
|
192
|
-
rubygems_version: 2.5.1
|
195
|
+
rubygems_version: 3.2.0.pre1
|
193
196
|
signing_key:
|
194
197
|
specification_version: 4
|
195
|
-
summary: Ruby
|
198
|
+
summary: Ruby fast debugger - base + CLI
|
196
199
|
test_files: []
|
197
|
-
has_rdoc:
|