byebug 10.0.1 → 11.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +352 -285
- data/CONTRIBUTING.md +6 -34
- data/GUIDE.md +9 -8
- data/LICENSE +18 -18
- data/README.md +83 -72
- data/exe/byebug +1 -1
- data/ext/byebug/breakpoint.c +1 -1
- data/ext/byebug/byebug.c +9 -14
- data/ext/byebug/byebug.h +9 -7
- data/ext/byebug/context.c +19 -6
- data/ext/byebug/locker.c +4 -4
- data/ext/byebug/threads.c +3 -3
- data/lib/byebug.rb +1 -1
- data/lib/byebug/attacher.rb +4 -4
- data/lib/byebug/command.rb +2 -2
- data/lib/byebug/command_list.rb +1 -1
- data/lib/byebug/commands.rb +38 -37
- data/lib/byebug/commands/break.rb +10 -14
- data/lib/byebug/commands/catch.rb +4 -8
- data/lib/byebug/commands/condition.rb +3 -5
- data/lib/byebug/commands/continue.rb +27 -9
- data/lib/byebug/commands/debug.rb +2 -2
- data/lib/byebug/commands/delete.rb +3 -5
- data/lib/byebug/commands/disable.rb +4 -4
- data/lib/byebug/commands/disable/breakpoints.rb +1 -1
- data/lib/byebug/commands/disable/display.rb +1 -1
- data/lib/byebug/commands/display.rb +2 -2
- data/lib/byebug/commands/down.rb +3 -3
- data/lib/byebug/commands/edit.rb +2 -1
- data/lib/byebug/commands/enable.rb +3 -3
- data/lib/byebug/commands/enable/breakpoints.rb +1 -1
- data/lib/byebug/commands/enable/display.rb +1 -1
- data/lib/byebug/commands/finish.rb +2 -2
- data/lib/byebug/commands/frame.rb +3 -3
- data/lib/byebug/commands/help.rb +2 -2
- data/lib/byebug/commands/history.rb +2 -2
- data/lib/byebug/commands/info.rb +6 -6
- data/lib/byebug/commands/info/breakpoints.rb +2 -4
- data/lib/byebug/commands/info/display.rb +1 -3
- data/lib/byebug/commands/info/file.rb +2 -4
- data/lib/byebug/commands/interrupt.rb +1 -1
- data/lib/byebug/commands/irb.rb +2 -4
- data/lib/byebug/commands/kill.rb +3 -5
- data/lib/byebug/commands/list.rb +4 -4
- data/lib/byebug/commands/method.rb +2 -2
- data/lib/byebug/commands/next.rb +2 -2
- data/lib/byebug/commands/pry.rb +3 -5
- data/lib/byebug/commands/quit.rb +4 -4
- data/lib/byebug/commands/restart.rb +3 -3
- data/lib/byebug/commands/save.rb +1 -1
- data/lib/byebug/commands/set.rb +3 -3
- data/lib/byebug/commands/show.rb +1 -1
- data/lib/byebug/commands/skip.rb +85 -0
- data/lib/byebug/commands/source.rb +2 -4
- data/lib/byebug/commands/step.rb +2 -2
- data/lib/byebug/commands/thread.rb +6 -6
- data/lib/byebug/commands/thread/current.rb +1 -1
- data/lib/byebug/commands/thread/list.rb +1 -1
- data/lib/byebug/commands/thread/resume.rb +2 -4
- data/lib/byebug/commands/thread/stop.rb +1 -1
- data/lib/byebug/commands/thread/switch.rb +1 -1
- data/lib/byebug/commands/tracevar.rb +2 -5
- data/lib/byebug/commands/undisplay.rb +5 -6
- data/lib/byebug/commands/untracevar.rb +1 -1
- data/lib/byebug/commands/up.rb +3 -3
- data/lib/byebug/commands/var.rb +8 -8
- data/lib/byebug/commands/var/all.rb +1 -1
- data/lib/byebug/commands/var/args.rb +1 -1
- data/lib/byebug/commands/var/const.rb +2 -4
- data/lib/byebug/commands/var/instance.rb +1 -1
- data/lib/byebug/commands/var/local.rb +1 -1
- data/lib/byebug/commands/where.rb +2 -2
- data/lib/byebug/context.rb +4 -4
- data/lib/byebug/core.rb +10 -9
- data/lib/byebug/frame.rb +2 -2
- data/lib/byebug/helpers/frame.rb +1 -1
- data/lib/byebug/helpers/parse.rb +1 -3
- data/lib/byebug/helpers/string.rb +0 -3
- data/lib/byebug/helpers/toggle.rb +2 -4
- data/lib/byebug/helpers/var.rb +1 -1
- data/lib/byebug/history.rb +1 -1
- data/lib/byebug/interface.rb +6 -6
- data/lib/byebug/interfaces/local_interface.rb +1 -1
- data/lib/byebug/interfaces/remote_interface.rb +1 -1
- data/lib/byebug/interfaces/script_interface.rb +2 -1
- data/lib/byebug/printers/base.rb +4 -5
- data/lib/byebug/printers/plain.rb +1 -1
- data/lib/byebug/processors/command_processor.rb +2 -2
- data/lib/byebug/processors/control_processor.rb +1 -1
- data/lib/byebug/processors/post_mortem_processor.rb +1 -1
- data/lib/byebug/processors/script_processor.rb +1 -1
- data/lib/byebug/remote.rb +3 -3
- data/lib/byebug/remote/client.rb +2 -0
- data/lib/byebug/runner.rb +7 -7
- data/lib/byebug/setting.rb +2 -2
- data/lib/byebug/settings/autoirb.rb +2 -2
- data/lib/byebug/settings/autolist.rb +2 -2
- data/lib/byebug/settings/autopry.rb +2 -2
- data/lib/byebug/settings/autosave.rb +1 -1
- data/lib/byebug/settings/basename.rb +1 -1
- data/lib/byebug/settings/callstyle.rb +2 -2
- data/lib/byebug/settings/fullpath.rb +1 -1
- data/lib/byebug/settings/histfile.rb +1 -1
- data/lib/byebug/settings/histsize.rb +1 -1
- data/lib/byebug/settings/linetrace.rb +1 -1
- data/lib/byebug/settings/listsize.rb +1 -1
- data/lib/byebug/settings/post_mortem.rb +1 -1
- data/lib/byebug/settings/savefile.rb +1 -1
- data/lib/byebug/settings/stack_on_error.rb +1 -1
- data/lib/byebug/settings/width.rb +1 -1
- data/lib/byebug/source_file_formatter.rb +2 -2
- data/lib/byebug/subcommands.rb +2 -2
- data/lib/byebug/version.rb +1 -1
- metadata +9 -9
data/lib/byebug/helpers/var.rb
CHANGED
data/lib/byebug/history.rb
CHANGED
@@ -121,7 +121,7 @@ module Byebug
|
|
121
121
|
# For now, empty lines and consecutive duplicates.
|
122
122
|
#
|
123
123
|
def ignore?(buf)
|
124
|
-
return true if /^\s
|
124
|
+
return true if /^\s*$/.match?(buf)
|
125
125
|
return false if Readline::HISTORY.empty?
|
126
126
|
|
127
127
|
buffer[Readline::HISTORY.length - 1] == buf
|
data/lib/byebug/interface.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
require_relative "setting"
|
4
|
+
require_relative "history"
|
5
|
+
require_relative "helpers/file"
|
6
6
|
|
7
7
|
#
|
8
8
|
# Namespace for all of byebug's code
|
@@ -141,6 +141,6 @@ module Byebug
|
|
141
141
|
end
|
142
142
|
end
|
143
143
|
|
144
|
-
|
145
|
-
|
146
|
-
|
144
|
+
require_relative "interfaces/local_interface"
|
145
|
+
require_relative "interfaces/script_interface"
|
146
|
+
require_relative "interfaces/remote_interface"
|
data/lib/byebug/printers/base.rb
CHANGED
@@ -11,7 +11,7 @@ module Byebug
|
|
11
11
|
class MissedPath < StandardError; end
|
12
12
|
class MissedArgument < StandardError; end
|
13
13
|
|
14
|
-
SEPARATOR = "."
|
14
|
+
SEPARATOR = "."
|
15
15
|
|
16
16
|
def type
|
17
17
|
self.class.name.split("::").last.downcase
|
@@ -23,11 +23,12 @@ module Byebug
|
|
23
23
|
result = nil
|
24
24
|
contents.each_value do |contents|
|
25
25
|
result = parts(path).reduce(contents) do |r, part|
|
26
|
-
r
|
26
|
+
r&.key?(part) ? r[part] : nil
|
27
27
|
end
|
28
28
|
break if result
|
29
29
|
end
|
30
30
|
raise MissedPath, "Can't find part path '#{path}'" unless result
|
31
|
+
|
31
32
|
result
|
32
33
|
end
|
33
34
|
|
@@ -35,9 +36,7 @@ module Byebug
|
|
35
36
|
# they may contain #{} string interpolation
|
36
37
|
string.gsub(/\|\w+$/, "").gsub(/([^#]?){([^}]*)}/) do
|
37
38
|
key = Regexp.last_match[2].to_s
|
38
|
-
unless args.key?(key.to_sym)
|
39
|
-
raise MissedArgument, "Missed argument #{key} for '#{string}'"
|
40
|
-
end
|
39
|
+
raise MissedArgument, "Missed argument #{key} for '#{string}'" unless args.key?(key.to_sym)
|
41
40
|
|
42
41
|
"#{Regexp.last_match[1]}#{args[key.to_sym]}"
|
43
42
|
end
|
data/lib/byebug/remote.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "socket"
|
4
|
-
|
5
|
-
|
6
|
-
|
4
|
+
require_relative "processors/control_processor"
|
5
|
+
require_relative "remote/server"
|
6
|
+
require_relative "remote/client"
|
7
7
|
|
8
8
|
#
|
9
9
|
# Remote debugging functionality.
|
data/lib/byebug/remote/client.rb
CHANGED
@@ -26,10 +26,12 @@ module Byebug
|
|
26
26
|
when /^PROMPT (.*)$/
|
27
27
|
input = interface.read_command(Regexp.last_match[1])
|
28
28
|
break unless input
|
29
|
+
|
29
30
|
socket.puts input
|
30
31
|
when /^CONFIRM (.*)$/
|
31
32
|
input = interface.readline(Regexp.last_match[1])
|
32
33
|
break unless input
|
34
|
+
|
33
35
|
socket.puts input
|
34
36
|
else
|
35
37
|
interface.puts line
|
data/lib/byebug/runner.rb
CHANGED
@@ -2,13 +2,13 @@
|
|
2
2
|
|
3
3
|
require "optparse"
|
4
4
|
require "English"
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
5
|
+
require_relative "core"
|
6
|
+
require_relative "version"
|
7
|
+
require_relative "helpers/bin"
|
8
|
+
require_relative "helpers/parse"
|
9
|
+
require_relative "helpers/string"
|
10
|
+
require_relative "option_setter"
|
11
|
+
require_relative "processors/control_processor"
|
12
12
|
|
13
13
|
module Byebug
|
14
14
|
#
|
data/lib/byebug/setting.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
3
|
+
require_relative "helpers/string"
|
4
4
|
|
5
5
|
module Byebug
|
6
6
|
#
|
@@ -52,7 +52,7 @@ module Byebug
|
|
52
52
|
end
|
53
53
|
|
54
54
|
def find(shortcut)
|
55
|
-
abbr =
|
55
|
+
abbr = /^no/.match?(shortcut) ? shortcut[2..-1] : shortcut
|
56
56
|
matches = settings.select do |key, value|
|
57
57
|
key =~ (value.boolean? ? /#{abbr}/ : /#{shortcut}/)
|
58
58
|
end
|
@@ -1,13 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
3
|
+
require_relative "../setting"
|
4
4
|
|
5
5
|
module Byebug
|
6
6
|
#
|
7
7
|
# Setting to customize the verbosity level for stack frames.
|
8
8
|
#
|
9
9
|
class CallstyleSetting < Setting
|
10
|
-
DEFAULT = "long"
|
10
|
+
DEFAULT = "long"
|
11
11
|
|
12
12
|
def banner
|
13
13
|
"Set how you want method call parameters to be displayed"
|
data/lib/byebug/subcommands.rb
CHANGED
data/lib/byebug/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: byebug
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 11.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Rodriguez
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2020-01-24 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bundler
|
@@ -18,21 +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
30
|
Byebug is a Ruby debugger. It's implemented using the
|
31
31
|
TracePoint C API for execution control and the Debug Inspector C API for
|
32
32
|
call stack navigation. The core component provides support that front-ends
|
33
33
|
can build on. It provides breakpoint handling and bindings for stack frames
|
34
34
|
among other things and it comes with an easy to use command line interface.
|
35
|
-
email: deivid.rodriguez@
|
35
|
+
email: deivid.rodriguez@riseup.net
|
36
36
|
executables:
|
37
37
|
- byebug
|
38
38
|
extensions:
|
@@ -99,6 +99,7 @@ files:
|
|
99
99
|
- lib/byebug/commands/save.rb
|
100
100
|
- lib/byebug/commands/set.rb
|
101
101
|
- lib/byebug/commands/show.rb
|
102
|
+
- lib/byebug/commands/skip.rb
|
102
103
|
- lib/byebug/commands/source.rb
|
103
104
|
- lib/byebug/commands/step.rb
|
104
105
|
- lib/byebug/commands/thread.rb
|
@@ -172,7 +173,7 @@ files:
|
|
172
173
|
- lib/byebug/source_file_formatter.rb
|
173
174
|
- lib/byebug/subcommands.rb
|
174
175
|
- lib/byebug/version.rb
|
175
|
-
homepage:
|
176
|
+
homepage: https://github.com/deivid-rodriguez/byebug
|
176
177
|
licenses:
|
177
178
|
- BSD-2-Clause
|
178
179
|
metadata: {}
|
@@ -184,15 +185,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
184
185
|
requirements:
|
185
186
|
- - ">="
|
186
187
|
- !ruby/object:Gem::Version
|
187
|
-
version: 2.
|
188
|
+
version: 2.4.0
|
188
189
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
189
190
|
requirements:
|
190
191
|
- - ">="
|
191
192
|
- !ruby/object:Gem::Version
|
192
193
|
version: '0'
|
193
194
|
requirements: []
|
194
|
-
|
195
|
-
rubygems_version: 2.7.6
|
195
|
+
rubygems_version: 3.1.2
|
196
196
|
signing_key:
|
197
197
|
specification_version: 4
|
198
198
|
summary: Ruby fast debugger - base + CLI
|