debug 1.9.1 → 1.9.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -0
- data/README.md +33 -9
- data/ext/debug/debug.c +10 -10
- data/lib/debug/config.rb +16 -0
- data/lib/debug/console.rb +1 -1
- data/lib/debug/irb_integration.rb +10 -0
- data/lib/debug/prelude.rb +1 -1
- data/lib/debug/server_cdp.rb +8 -9
- data/lib/debug/session.rb +16 -8
- data/lib/debug/thread_client.rb +2 -5
- data/lib/debug/version.rb +1 -1
- data/misc/README.md.erb +32 -8
- metadata +3 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c242bce58b031f61da73507f6b42a26f1ed8322679d1f0b3460d8fbc8c4b7a23
|
4
|
+
data.tar.gz: 543feb5e53a2c99ba04583edae4a13378667c97b13662f5a4d456dd6bacb17b5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b5f6c58f38114e3179c3d5c062294ac276b53533fc4a6543114a883198318b672a8506990064f1b40d9f9597d3e1a933cb7c2363ea4cdd4ba0e0571279a80c73
|
7
|
+
data.tar.gz: 142a78dcdc449df6e0148857f992500aa88375707af067f36f1e3391fe2adb7ac8ff0f66623806c5488e94292167a369ca901084475e97b8dc38e32257ccbba0
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -13,10 +13,10 @@ New debug.rb has several advantages:
|
|
13
13
|
* TCP/IP
|
14
14
|
* Integration with rich debugger frontends
|
15
15
|
|
16
|
-
Frontend
|
17
|
-
|
18
|
-
Connection
|
19
|
-
Requirement | No
|
16
|
+
| Frontend | [Console](https://github.com/ruby/debug#invoke-as-a-remote-debuggee) | [VSCode](https://github.com/ruby/debug#vscode-integration) | [Chrome DevTool](#chrome-devtool-integration) |
|
17
|
+
| ----------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | --------------------------------------------- |
|
18
|
+
| Connection | UDS, TCP/IP | UDS, TCP/IP | TCP/IP |
|
19
|
+
| Requirement | No | [vscode-rdbg](https://marketplace.visualstudio.com/items?itemName=KoichiSasada.vscode-rdbg) | Chrome |
|
20
20
|
|
21
21
|
* Extensible: application can introduce debugging support in several ways:
|
22
22
|
* By `rdbg` command
|
@@ -289,10 +289,10 @@ You can run your application as a remote debuggee, and the remote debugger conso
|
|
289
289
|
|
290
290
|
There are multiple ways to run your program as a debuggee:
|
291
291
|
|
292
|
-
Stop at program start | [`rdbg` option](https://github.com/ruby/debug#rdbg---open-or-rdbg--o-for-short) | [require](https://github.com/ruby/debug#require-debugopen-in-a-program) | [debugger API](https://github.com/ruby/debug#start-by-method)
|
293
|
-
|
294
|
-
Yes
|
295
|
-
No
|
292
|
+
| Stop at program start | [`rdbg` option](https://github.com/ruby/debug#rdbg---open-or-rdbg--o-for-short) | [require](https://github.com/ruby/debug#require-debugopen-in-a-program) | [debugger API](https://github.com/ruby/debug#start-by-method) |
|
293
|
+
| --------------------- | ------------------------------------------------------------------------------- | ----------------------------------------------------------------------- | ------------------------------------------------------------- |
|
294
|
+
| Yes | `rdbg --open` | `require "debug/open"` | `DEBUGGER__.open` |
|
295
|
+
| No | `rdbg --open --nonstop` | `require "debug/open_nonstop"` | `DEBUGGER__.open(nonstop: true)` |
|
296
296
|
|
297
297
|
#### `rdbg --open` (or `rdbg -O` for short)
|
298
298
|
|
@@ -713,7 +713,7 @@ The `<...>` notation means the argument.
|
|
713
713
|
* `eval <expr>`
|
714
714
|
* Evaluate `<expr>` on the current frame.
|
715
715
|
* `irb`
|
716
|
-
*
|
716
|
+
* Activate and switch to `irb:rdbg` console
|
717
717
|
|
718
718
|
### Trace
|
719
719
|
|
@@ -784,6 +784,30 @@ The `<...>` notation means the argument.
|
|
784
784
|
* Show help for the given command.
|
785
785
|
|
786
786
|
|
787
|
+
### Using IRB as the Debug Console
|
788
|
+
|
789
|
+
Starting from version `v1.9`, you can now use IRB as the debug console. This integration brings additional features such as:
|
790
|
+
|
791
|
+
* Autocompletion
|
792
|
+
* Support for multi-line input
|
793
|
+
* Access to commands not available in `debug`, like `show_source` or `show_doc`
|
794
|
+
* [Configurable command aliases](https://docs.ruby-lang.org/en/master/IRB.html#module-IRB-label-Command+Aliases)
|
795
|
+
|
796
|
+
To switch to the IRB console, simply use the `irb` command in the debug console.
|
797
|
+
|
798
|
+
Once activated, you'll notice the prompt changes to:
|
799
|
+
|
800
|
+
```txt
|
801
|
+
irb:rdbg(main):001>
|
802
|
+
```
|
803
|
+
|
804
|
+
If you want to make IRB the default console for all sessions, configure the `irb_console` setting by either:
|
805
|
+
|
806
|
+
* Setting the `RUBY_DEBUG_IRB_CONSOLE=true` environment variable
|
807
|
+
* Or adding `config set irb_console 1` to your `~/.rdbgrc`
|
808
|
+
|
809
|
+
To disable the IRB console in the current session, execute `config set irb_console 0` in the console.
|
810
|
+
|
787
811
|
## Debugger API
|
788
812
|
|
789
813
|
### Start debugging
|
data/ext/debug/debug.c
CHANGED
@@ -8,13 +8,13 @@ static VALUE rb_mDebugger;
|
|
8
8
|
|
9
9
|
// iseq
|
10
10
|
typedef struct rb_iseq_struct rb_iseq_t;
|
11
|
+
const rb_iseq_t *rb_iseqw_to_iseq(VALUE iseqw);
|
11
12
|
VALUE rb_iseq_realpath(const rb_iseq_t *iseq);
|
12
13
|
|
13
14
|
static VALUE
|
14
15
|
iseq_realpath(VALUE iseqw)
|
15
16
|
{
|
16
|
-
|
17
|
-
return rb_iseq_realpath(iseq);
|
17
|
+
return rb_iseq_realpath(rb_iseqw_to_iseq(iseqw));
|
18
18
|
}
|
19
19
|
|
20
20
|
static VALUE rb_cFrameInfo;
|
@@ -121,26 +121,26 @@ frame_depth(VALUE self)
|
|
121
121
|
|
122
122
|
// iseq
|
123
123
|
|
124
|
-
const
|
124
|
+
const rb_iseq_t *rb_iseqw_to_iseq(VALUE iseqw);
|
125
125
|
|
126
126
|
#ifdef HAVE_RB_ISEQ_TYPE
|
127
|
-
VALUE rb_iseq_type(const
|
127
|
+
VALUE rb_iseq_type(const rb_iseq_t *);
|
128
128
|
|
129
129
|
static VALUE
|
130
130
|
iseq_type(VALUE iseqw)
|
131
131
|
{
|
132
|
-
const
|
132
|
+
const rb_iseq_t *iseq = rb_iseqw_to_iseq(iseqw);
|
133
133
|
return rb_iseq_type(iseq);
|
134
134
|
}
|
135
135
|
#endif
|
136
136
|
|
137
137
|
#ifdef HAVE_RB_ISEQ_PARAMETERS
|
138
|
-
VALUE rb_iseq_parameters(const
|
138
|
+
VALUE rb_iseq_parameters(const rb_iseq_t *, int is_proc);
|
139
139
|
|
140
140
|
static VALUE
|
141
141
|
iseq_parameters_symbols(VALUE iseqw)
|
142
142
|
{
|
143
|
-
const
|
143
|
+
const rb_iseq_t *iseq = rb_iseqw_to_iseq(iseqw);
|
144
144
|
VALUE params = rb_iseq_parameters(iseq, 0);
|
145
145
|
VALUE ary = rb_ary_new();
|
146
146
|
|
@@ -167,12 +167,12 @@ iseq_parameters_symbols(VALUE iseqw)
|
|
167
167
|
#endif
|
168
168
|
|
169
169
|
#ifdef HAVE_RB_ISEQ_CODE_LOCATION
|
170
|
-
void rb_iseq_code_location(const
|
170
|
+
void rb_iseq_code_location(const rb_iseq_t *, int *first_lineno, int *first_column, int *last_lineno, int *last_column);
|
171
171
|
|
172
172
|
static VALUE
|
173
173
|
iseq_first_line(VALUE iseqw)
|
174
174
|
{
|
175
|
-
const
|
175
|
+
const rb_iseq_t *iseq = rb_iseqw_to_iseq(iseqw);
|
176
176
|
int line;
|
177
177
|
rb_iseq_code_location(iseq, &line, NULL, NULL, NULL);
|
178
178
|
return INT2NUM(line);
|
@@ -181,7 +181,7 @@ iseq_first_line(VALUE iseqw)
|
|
181
181
|
static VALUE
|
182
182
|
iseq_last_line(VALUE iseqw)
|
183
183
|
{
|
184
|
-
const
|
184
|
+
const rb_iseq_t *iseq = rb_iseqw_to_iseq(iseqw);
|
185
185
|
int line;
|
186
186
|
rb_iseq_code_location(iseq, NULL, NULL, &line, NULL);
|
187
187
|
return INT2NUM(line);
|
data/lib/debug/config.rb
CHANGED
@@ -158,6 +158,22 @@ module DEBUGGER__
|
|
158
158
|
SESSION.set_no_sigint_hook old, new
|
159
159
|
end
|
160
160
|
end
|
161
|
+
|
162
|
+
if_updated old_conf, conf, :irb_console do |old, new|
|
163
|
+
if defined?(SESSION) && SESSION.active?
|
164
|
+
# irb_console is switched from true to false
|
165
|
+
if old
|
166
|
+
SESSION.deactivate_irb_integration
|
167
|
+
# irb_console is switched from false to true
|
168
|
+
else
|
169
|
+
if CONFIG[:open]
|
170
|
+
SESSION.instance_variable_get(:@ui).puts "\nIRB is not supported on the remote console."
|
171
|
+
else
|
172
|
+
SESSION.activate_irb_integration
|
173
|
+
end
|
174
|
+
end
|
175
|
+
end
|
176
|
+
end
|
161
177
|
end
|
162
178
|
|
163
179
|
private def if_updated old_conf, new_conf, key
|
data/lib/debug/console.rb
CHANGED
@@ -24,4 +24,14 @@ module DEBUGGER__
|
|
24
24
|
IRB::Context.prepend(IrbPatch)
|
25
25
|
end
|
26
26
|
end
|
27
|
+
|
28
|
+
class Session
|
29
|
+
def deactivate_irb_integration
|
30
|
+
Reline.completion_proc = nil
|
31
|
+
Reline.output_modifier_proc = nil
|
32
|
+
Reline.autocompletion = false
|
33
|
+
Reline.dig_perfect_match_proc = nil
|
34
|
+
reset_ui UI_LocalConsole.new
|
35
|
+
end
|
36
|
+
end
|
27
37
|
end
|
data/lib/debug/prelude.rb
CHANGED
@@ -5,7 +5,7 @@ return if defined?(::DEBUGGER__::Session)
|
|
5
5
|
|
6
6
|
# Put the following line in your login script (e.g. ~/.bash_profile) with modified path:
|
7
7
|
#
|
8
|
-
# export RUBYOPT="-r /path/to/debug/prelude $
|
8
|
+
# export RUBYOPT="-r /path/to/debug/prelude ${RUBYOPT}"
|
9
9
|
#
|
10
10
|
module Kernel
|
11
11
|
def debugger(*a, up_level: 0, **kw)
|
data/lib/debug/server_cdp.rb
CHANGED
@@ -2,7 +2,6 @@
|
|
2
2
|
|
3
3
|
require 'json'
|
4
4
|
require 'digest/sha1'
|
5
|
-
require 'base64'
|
6
5
|
require 'securerandom'
|
7
6
|
require 'stringio'
|
8
7
|
require 'open3'
|
@@ -131,7 +130,7 @@ module DEBUGGER__
|
|
131
130
|
stdout.close
|
132
131
|
data = stderr.readpartial 4096
|
133
132
|
stderr.close
|
134
|
-
if data.match
|
133
|
+
if data.match(/DevTools listening on ws:\/\/127.0.0.1:(\d+)(.*)/)
|
135
134
|
port = $1
|
136
135
|
path = $2
|
137
136
|
end
|
@@ -158,7 +157,7 @@ module DEBUGGER__
|
|
158
157
|
raise NotFoundChromeEndpointError
|
159
158
|
end
|
160
159
|
stderr.close
|
161
|
-
if data.match
|
160
|
+
if data.match(/DevTools listening on ws:\/\/127.0.0.1:(\d+)(.*)/)
|
162
161
|
port = $1
|
163
162
|
path = $2
|
164
163
|
end
|
@@ -190,7 +189,7 @@ module DEBUGGER__
|
|
190
189
|
while i < ITERATIONS
|
191
190
|
i += 1
|
192
191
|
if File.exist?(tf) && data = File.read(tf)
|
193
|
-
if data.match
|
192
|
+
if data.match(/DevTools listening on ws:\/\/127.0.0.1:(\d+)(.*)/)
|
194
193
|
port = $1
|
195
194
|
path = $2
|
196
195
|
return [port, path]
|
@@ -297,8 +296,8 @@ module DEBUGGER__
|
|
297
296
|
res = @sock.readpartial 4092
|
298
297
|
show_protocol :<, res
|
299
298
|
|
300
|
-
if res.match
|
301
|
-
correct_key =
|
299
|
+
if res.match(/^Sec-WebSocket-Accept: (.*)\r\n/)
|
300
|
+
correct_key = Digest::SHA1.base64digest "#{key}==258EAFA5-E914-47DA-95CA-C5AB0DC85B11"
|
302
301
|
raise "The Sec-WebSocket-Accept value: #{$1} is not valid" unless $1 == correct_key
|
303
302
|
else
|
304
303
|
raise "Unknown response: #{res}"
|
@@ -378,8 +377,8 @@ module DEBUGGER__
|
|
378
377
|
req = @sock.readpartial 4096
|
379
378
|
show_protocol '>', req
|
380
379
|
|
381
|
-
if req.match
|
382
|
-
accept =
|
380
|
+
if req.match(/^Sec-WebSocket-Key: (.*)\r\n/)
|
381
|
+
accept = Digest::SHA1.base64digest "#{$1}258EAFA5-E914-47DA-95CA-C5AB0DC85B11"
|
383
382
|
res = "HTTP/1.1 101 Switching Protocols\r\nUpgrade: websocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: #{accept}\r\n\r\n"
|
384
383
|
@sock.print res
|
385
384
|
show_protocol :<, res
|
@@ -658,7 +657,7 @@ module DEBUGGER__
|
|
658
657
|
|
659
658
|
def activate_bp bps
|
660
659
|
bps.each_key{|k|
|
661
|
-
if k.match
|
660
|
+
if k.match(/^\d+:(\d+):(.*)/)
|
662
661
|
line = $1
|
663
662
|
path = $2
|
664
663
|
SESSION.add_line_breakpoint(path, line.to_i + 1)
|
data/lib/debug/session.rb
CHANGED
@@ -202,11 +202,6 @@ module DEBUGGER__
|
|
202
202
|
end
|
203
203
|
@tp_thread_end.enable
|
204
204
|
|
205
|
-
if CONFIG[:irb_console] && !CONFIG[:open]
|
206
|
-
require_relative "irb_integration"
|
207
|
-
thc.activate_irb_integration
|
208
|
-
end
|
209
|
-
|
210
205
|
# session start
|
211
206
|
q << true
|
212
207
|
session_server_main
|
@@ -214,6 +209,12 @@ module DEBUGGER__
|
|
214
209
|
first_q << :ok
|
215
210
|
|
216
211
|
q.pop
|
212
|
+
|
213
|
+
# For activating irb:rdbg with startup config like `RUBY_DEBUG_IRB_CONSOLE=1`
|
214
|
+
# Because in that case the `Config#if_updated` callback would not be triggered
|
215
|
+
if CONFIG[:irb_console] && !CONFIG[:open]
|
216
|
+
activate_irb_integration
|
217
|
+
end
|
217
218
|
end
|
218
219
|
|
219
220
|
def deactivate
|
@@ -938,14 +939,15 @@ module DEBUGGER__
|
|
938
939
|
end
|
939
940
|
|
940
941
|
# * `irb`
|
941
|
-
# *
|
942
|
+
# * Activate and switch to `irb:rdbg` console
|
942
943
|
register_command 'irb' do |arg|
|
943
944
|
if @ui.remote?
|
944
945
|
@ui.puts "\nIRB is not supported on the remote console."
|
945
|
-
:retry
|
946
946
|
else
|
947
|
-
|
947
|
+
config_set :irb_console, true
|
948
948
|
end
|
949
|
+
|
950
|
+
:retry
|
949
951
|
end
|
950
952
|
|
951
953
|
### Trace
|
@@ -1876,6 +1878,12 @@ module DEBUGGER__
|
|
1876
1878
|
end
|
1877
1879
|
end
|
1878
1880
|
|
1881
|
+
def activate_irb_integration
|
1882
|
+
require_relative "irb_integration"
|
1883
|
+
thc = get_thread_client(@session_server)
|
1884
|
+
thc.activate_irb_integration
|
1885
|
+
end
|
1886
|
+
|
1879
1887
|
def enter_postmortem_session exc
|
1880
1888
|
return unless exc.instance_variable_defined? :@__debugger_postmortem_frames
|
1881
1889
|
|
data/lib/debug/thread_client.rb
CHANGED
@@ -989,7 +989,7 @@ module DEBUGGER__
|
|
989
989
|
true
|
990
990
|
else
|
991
991
|
true if depth >= DEBUGGER__.frame_depth - 3 &&
|
992
|
-
caller_locations(2, 1).first.
|
992
|
+
caller_locations(2, 1).first.base_label == target_location_label
|
993
993
|
# TODO: imcomplete condition
|
994
994
|
end
|
995
995
|
end
|
@@ -1005,7 +1005,7 @@ module DEBUGGER__
|
|
1005
1005
|
true if pat === tp.callee_id.to_s
|
1006
1006
|
else # :return, :b_return
|
1007
1007
|
true if depth >= DEBUGGER__.frame_depth - 3 &&
|
1008
|
-
caller_locations(2, 1).first.
|
1008
|
+
caller_locations(2, 1).first.base_label == target_location_label
|
1009
1009
|
# TODO: imcomplete condition
|
1010
1010
|
end
|
1011
1011
|
end
|
@@ -1056,9 +1056,6 @@ module DEBUGGER__
|
|
1056
1056
|
end
|
1057
1057
|
when :call
|
1058
1058
|
result = frame_eval(eval_src)
|
1059
|
-
when :irb
|
1060
|
-
require_relative "irb_integration"
|
1061
|
-
activate_irb_integration
|
1062
1059
|
when :display, :try_display
|
1063
1060
|
failed_results = []
|
1064
1061
|
eval_src.each_with_index{|src, i|
|
data/lib/debug/version.rb
CHANGED
data/misc/README.md.erb
CHANGED
@@ -13,10 +13,10 @@ New debug.rb has several advantages:
|
|
13
13
|
* TCP/IP
|
14
14
|
* Integration with rich debugger frontends
|
15
15
|
|
16
|
-
Frontend
|
17
|
-
|
18
|
-
Connection
|
19
|
-
Requirement | No
|
16
|
+
| Frontend | [Console](https://github.com/ruby/debug#invoke-as-a-remote-debuggee) | [VSCode](https://github.com/ruby/debug#vscode-integration) | [Chrome DevTool](#chrome-devtool-integration) |
|
17
|
+
| ----------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | --------------------------------------------- |
|
18
|
+
| Connection | UDS, TCP/IP | UDS, TCP/IP | TCP/IP |
|
19
|
+
| Requirement | No | [vscode-rdbg](https://marketplace.visualstudio.com/items?itemName=KoichiSasada.vscode-rdbg) | Chrome |
|
20
20
|
|
21
21
|
* Extensible: application can introduce debugging support in several ways:
|
22
22
|
* By `rdbg` command
|
@@ -289,10 +289,10 @@ You can run your application as a remote debuggee, and the remote debugger conso
|
|
289
289
|
|
290
290
|
There are multiple ways to run your program as a debuggee:
|
291
291
|
|
292
|
-
Stop at program start | [`rdbg` option](https://github.com/ruby/debug#rdbg---open-or-rdbg--o-for-short) | [require](https://github.com/ruby/debug#require-debugopen-in-a-program) | [debugger API](https://github.com/ruby/debug#start-by-method)
|
293
|
-
|
294
|
-
Yes
|
295
|
-
No
|
292
|
+
| Stop at program start | [`rdbg` option](https://github.com/ruby/debug#rdbg---open-or-rdbg--o-for-short) | [require](https://github.com/ruby/debug#require-debugopen-in-a-program) | [debugger API](https://github.com/ruby/debug#start-by-method) |
|
293
|
+
| --------------------- | ------------------------------------------------------------------------------- | ----------------------------------------------------------------------- | ------------------------------------------------------------- |
|
294
|
+
| Yes | `rdbg --open` | `require "debug/open"` | `DEBUGGER__.open` |
|
295
|
+
| No | `rdbg --open --nonstop` | `require "debug/open_nonstop"` | `DEBUGGER__.open(nonstop: true)` |
|
296
296
|
|
297
297
|
#### `rdbg --open` (or `rdbg -O` for short)
|
298
298
|
|
@@ -509,6 +509,30 @@ The `<...>` notation means the argument.
|
|
509
509
|
|
510
510
|
<%= DEBUGGER__.help %>
|
511
511
|
|
512
|
+
### Using IRB as the Debug Console
|
513
|
+
|
514
|
+
Starting from version `v1.9`, you can now use IRB as the debug console. This integration brings additional features such as:
|
515
|
+
|
516
|
+
* Autocompletion
|
517
|
+
* Support for multi-line input
|
518
|
+
* Access to commands not available in `debug`, like `show_source` or `show_doc`
|
519
|
+
* [Configurable command aliases](https://docs.ruby-lang.org/en/master/IRB.html#module-IRB-label-Command+Aliases)
|
520
|
+
|
521
|
+
To switch to the IRB console, simply use the `irb` command in the debug console.
|
522
|
+
|
523
|
+
Once activated, you'll notice the prompt changes to:
|
524
|
+
|
525
|
+
```txt
|
526
|
+
irb:rdbg(main):001>
|
527
|
+
```
|
528
|
+
|
529
|
+
If you want to make IRB the default console for all sessions, configure the `irb_console` setting by either:
|
530
|
+
|
531
|
+
* Setting the `RUBY_DEBUG_IRB_CONSOLE=true` environment variable
|
532
|
+
* Or adding `config set irb_console 1` to your `~/.rdbgrc`
|
533
|
+
|
534
|
+
To disable the IRB console in the current session, execute `config set irb_console 0` in the console.
|
535
|
+
|
512
536
|
## Debugger API
|
513
537
|
|
514
538
|
### Start debugging
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: debug
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.9.
|
4
|
+
version: 1.9.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Koichi Sasada
|
8
|
-
autorequire:
|
9
8
|
bindir: exe
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 2024-03-29 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: irb
|
@@ -90,7 +89,6 @@ licenses:
|
|
90
89
|
metadata:
|
91
90
|
homepage_uri: https://github.com/ruby/debug
|
92
91
|
source_code_uri: https://github.com/ruby/debug
|
93
|
-
post_install_message:
|
94
92
|
rdoc_options: []
|
95
93
|
require_paths:
|
96
94
|
- lib
|
@@ -105,8 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
105
103
|
- !ruby/object:Gem::Version
|
106
104
|
version: '0'
|
107
105
|
requirements: []
|
108
|
-
rubygems_version: 3.
|
109
|
-
signing_key:
|
106
|
+
rubygems_version: 3.6.0.dev
|
110
107
|
specification_version: 4
|
111
108
|
summary: Debugging functionality for Ruby
|
112
109
|
test_files: []
|