byebug 2.2.2 → 2.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/README.md +1 -1
- data/lib/byebug/command.rb +20 -34
- data/lib/byebug/commands/breakpoints.rb +1 -1
- data/lib/byebug/commands/catchpoint.rb +1 -1
- data/lib/byebug/commands/display.rb +1 -1
- data/lib/byebug/commands/enable.rb +24 -26
- data/lib/byebug/commands/eval.rb +20 -4
- data/lib/byebug/commands/info.rb +43 -42
- data/lib/byebug/commands/method.rb +2 -2
- data/lib/byebug/commands/set.rb +42 -44
- data/lib/byebug/commands/show.rb +42 -37
- data/lib/byebug/commands/trace.rb +1 -1
- data/lib/byebug/commands/variables.rb +7 -7
- data/lib/byebug/remote.rb +4 -0
- data/lib/byebug/version.rb +1 -1
- data/{old_doc → test/examples}/gcd.rb +0 -0
- data/{old_doc → test/examples}/hanoi.rb +0 -0
- data/{old_doc → test/examples}/primes.rb +0 -0
- data/{old_doc → test/examples}/test-triangle.rb +0 -0
- data/{old_doc → test/examples}/tri3.rb +0 -0
- data/{old_doc → test/examples}/triangle.rb +0 -0
- data/test/help_test.rb +2 -5
- metadata +15 -11
- data/old_doc/byebug.1 +0 -196
- data/old_doc/byebug.texi +0 -3259
data/lib/byebug/commands/show.rb
CHANGED
@@ -147,45 +147,50 @@ module Byebug
|
|
147
147
|
# Implements byebug "show" command.
|
148
148
|
class ShowCommand < Command
|
149
149
|
|
150
|
-
Subcommands =
|
151
|
-
[
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
['width', 1, 'Show the number of characters per line for byebug']
|
185
|
-
].map do |name, min, short_help, long_help|
|
186
|
-
Subcmd.new(name, min, short_help, long_help)
|
150
|
+
Subcommands = [
|
151
|
+
['args' , 2 , 'Show argument list to the program being ' \
|
152
|
+
'debugged when it is started' ],
|
153
|
+
['autoeval' , 4 , 'Show whether unrecognized commands are ' \
|
154
|
+
'evaluated' ],
|
155
|
+
['autolist' , 4 , 'Show whether "list" command is run on stopping' ],
|
156
|
+
['autoirb' , 4 , 'Show whether IRB is invoked on stopping' ],
|
157
|
+
['autoreload' , 4 , 'Show whether source code is reloaded when ' \
|
158
|
+
'changed' ],
|
159
|
+
['basename' , 1 , 'Show whether basename is used when reporting' \
|
160
|
+
' files' ],
|
161
|
+
['callstyle' , 2 , 'Show parameter style used when showing call' \
|
162
|
+
' frames' ],
|
163
|
+
['commands' , 2 , 'Show the history of commands you typed. You ' \
|
164
|
+
'can supply a command number to start with' ],
|
165
|
+
['forcestep' , 1 , 'Show whether "next/step" commands are set to' \
|
166
|
+
' always move to a line' ],
|
167
|
+
['fullpath' , 2 , 'Show whether full paths are displayed in frames'],
|
168
|
+
['history' , 2 , 'Show command history configurations. ' ],
|
169
|
+
['linetrace' , 3 , 'Show line execution tracing status' ],
|
170
|
+
['linetrace_plus', 10, 'Show whether different consecutive lines are' \
|
171
|
+
' shown in tracing' ],
|
172
|
+
['listsize' , 3 , 'Show number of source lines to list by default' ],
|
173
|
+
['post_mortem' , 3 , 'Show whether we should go into post-mortem ' \
|
174
|
+
'debugging on an uncaught exception' ],
|
175
|
+
['stack_on_error', 1 , 'Show whether a stack trace is displayed when' \
|
176
|
+
' "eval" raises an exception' ],
|
177
|
+
['verbose' , 4 , 'Show whether verbose output for debugging ' \
|
178
|
+
'byebug itself is enabled' ],
|
179
|
+
['version' , 1 , 'Show byebug\'s version' ],
|
180
|
+
['width' , 1 , 'Show the number of characters per line for ' \
|
181
|
+
'byebug' ]
|
182
|
+
].map do |name, min, help|
|
183
|
+
Subcmd.new(name, min, help)
|
187
184
|
end unless defined?(Subcommands)
|
188
185
|
|
186
|
+
ShowHistorySubcommands = [
|
187
|
+
['filename', 1, 'Show the filename in which to record command history' ],
|
188
|
+
['save' , 1, 'Show whether history record should be saved on exit' ],
|
189
|
+
['size' , 1, 'Show the size of the command history' ]
|
190
|
+
].map do |name, min, help|
|
191
|
+
Subcmd.new(name, min, help)
|
192
|
+
end unless defined?(SetHistorySubcommands)
|
193
|
+
|
189
194
|
self.allow_in_control = true
|
190
195
|
|
191
196
|
def regexp
|
@@ -15,7 +15,7 @@ module Byebug
|
|
15
15
|
print "#{show_setting('linetrace')}\n"
|
16
16
|
elsif @match[1] =~ /var(?:iable)?/
|
17
17
|
varname = @match[2]
|
18
|
-
if
|
18
|
+
if bb_eval("defined?(#{varname})")
|
19
19
|
if @match[3] && @match[3] !~ /(:?no)?stop/
|
20
20
|
errmsg "expecting \"stop\" or \"nostop\"; got \"#{@match[3]}\"\n"
|
21
21
|
else
|
@@ -5,10 +5,10 @@ module Byebug
|
|
5
5
|
ary.sort!
|
6
6
|
for v in ary
|
7
7
|
begin
|
8
|
-
s =
|
8
|
+
s = bb_eval(v.to_s, b).inspect
|
9
9
|
rescue
|
10
10
|
begin
|
11
|
-
s =
|
11
|
+
s = bb_eval(v.to_s, b).to_s
|
12
12
|
rescue
|
13
13
|
s = "*Error in evaluation*"
|
14
14
|
end
|
@@ -18,7 +18,7 @@ module Byebug
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
def var_class_self
|
21
|
-
obj =
|
21
|
+
obj = bb_eval('self')
|
22
22
|
var_list(obj.class.class_variables, get_binding)
|
23
23
|
end
|
24
24
|
def var_global
|
@@ -57,9 +57,9 @@ module Byebug
|
|
57
57
|
end
|
58
58
|
|
59
59
|
def execute
|
60
|
-
obj =
|
60
|
+
obj = bb_eval(@match.post_match)
|
61
61
|
if obj.kind_of? Module
|
62
|
-
constants =
|
62
|
+
constants = bb_eval("#{@match.post_match}.constants")
|
63
63
|
constants.sort!
|
64
64
|
for c in constants
|
65
65
|
next if c =~ /SCRIPT/
|
@@ -108,7 +108,7 @@ module Byebug
|
|
108
108
|
end
|
109
109
|
|
110
110
|
def execute
|
111
|
-
obj =
|
111
|
+
obj = bb_eval(@match.post_match.empty? ? 'self' : @match.post_match)
|
112
112
|
var_list(obj.instance_variables, obj.instance_eval{binding()})
|
113
113
|
end
|
114
114
|
|
@@ -167,7 +167,7 @@ module Byebug
|
|
167
167
|
return
|
168
168
|
end
|
169
169
|
puts @match.post_match
|
170
|
-
obj =
|
170
|
+
obj = bb_eval("#{@match.post_match}.classtree")
|
171
171
|
if obj
|
172
172
|
print obj
|
173
173
|
else
|
data/lib/byebug/remote.rb
CHANGED
@@ -10,6 +10,9 @@ module Byebug
|
|
10
10
|
# If in remote mode, wait for the remote connection
|
11
11
|
attr_accessor :wait_connection
|
12
12
|
|
13
|
+
# The actual port that the server is started at
|
14
|
+
attr_accessor :actual_port
|
15
|
+
|
13
16
|
#
|
14
17
|
# Starts a remote byebug
|
15
18
|
#
|
@@ -25,6 +28,7 @@ module Byebug
|
|
25
28
|
proceed = ConditionVariable.new
|
26
29
|
|
27
30
|
server = TCPServer.new(host, port)
|
31
|
+
self.actual_port = server.addr[1]
|
28
32
|
@thread = DebugThread.new do
|
29
33
|
while (session = server.accept)
|
30
34
|
self.interface = RemoteInterface.new(session)
|
data/lib/byebug/version.rb
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/test/help_test.rb
CHANGED
@@ -43,13 +43,10 @@ class TestHelp < TestDsl::TestCase
|
|
43
43
|
end
|
44
44
|
|
45
45
|
describe 'when typed with command and subcommand' do
|
46
|
-
it "must show subcommand's
|
46
|
+
it "must show subcommand's help" do
|
47
47
|
enter 'help info breakpoints'
|
48
48
|
debug_file 'help'
|
49
|
-
check_output_includes
|
50
|
-
"Status of user-settable breakpoints.\n" \
|
51
|
-
"Without argument, list info about all breakpoints. " \
|
52
|
-
"With an integer argument, list info on that breakpoint."
|
49
|
+
check_output_includes "Status of user-settable breakpoints.\n"
|
53
50
|
end
|
54
51
|
end
|
55
52
|
end
|
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: 2.
|
4
|
+
version: 2.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Rodriguez
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-09
|
13
|
+
date: 2013-10-09 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: columnize
|
@@ -152,14 +152,6 @@ files:
|
|
152
152
|
- lib/byebug/remote.rb
|
153
153
|
- lib/byebug/version.rb
|
154
154
|
- logo.png
|
155
|
-
- old_doc/byebug.1
|
156
|
-
- old_doc/byebug.texi
|
157
|
-
- old_doc/gcd.rb
|
158
|
-
- old_doc/hanoi.rb
|
159
|
-
- old_doc/primes.rb
|
160
|
-
- old_doc/test-triangle.rb
|
161
|
-
- old_doc/tri3.rb
|
162
|
-
- old_doc/triangle.rb
|
163
155
|
- test/breakpoints_test.rb
|
164
156
|
- test/conditions_test.rb
|
165
157
|
- test/continue_test.rb
|
@@ -176,6 +168,8 @@ files:
|
|
176
168
|
- test/examples/finish.rb
|
177
169
|
- test/examples/frame.rb
|
178
170
|
- test/examples/frame_deep.rb
|
171
|
+
- test/examples/gcd.rb
|
172
|
+
- test/examples/hanoi.rb
|
179
173
|
- test/examples/help.rb
|
180
174
|
- test/examples/info.rb
|
181
175
|
- test/examples/info2.rb
|
@@ -183,6 +177,7 @@ files:
|
|
183
177
|
- test/examples/list.rb
|
184
178
|
- test/examples/method.rb
|
185
179
|
- test/examples/post_mortem.rb
|
180
|
+
- test/examples/primes.rb
|
186
181
|
- test/examples/quit.rb
|
187
182
|
- test/examples/reload.rb
|
188
183
|
- test/examples/repl.rb
|
@@ -193,9 +188,12 @@ files:
|
|
193
188
|
- test/examples/show.rb
|
194
189
|
- test/examples/source.rb
|
195
190
|
- test/examples/stepping.rb
|
191
|
+
- test/examples/test-triangle.rb
|
196
192
|
- test/examples/thread.rb
|
197
193
|
- test/examples/tmate.rb
|
198
194
|
- test/examples/trace.rb
|
195
|
+
- test/examples/tri3.rb
|
196
|
+
- test/examples/triangle.rb
|
199
197
|
- test/examples/variables.rb
|
200
198
|
- test/finish_test.rb
|
201
199
|
- test/frame_test.rb
|
@@ -242,7 +240,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
242
240
|
version: '0'
|
243
241
|
requirements: []
|
244
242
|
rubyforge_project:
|
245
|
-
rubygems_version: 2.
|
243
|
+
rubygems_version: 2.0.3
|
246
244
|
signing_key:
|
247
245
|
specification_version: 4
|
248
246
|
summary: Ruby 2.0 fast debugger - base + cli
|
@@ -263,6 +261,8 @@ test_files:
|
|
263
261
|
- test/examples/finish.rb
|
264
262
|
- test/examples/frame.rb
|
265
263
|
- test/examples/frame_deep.rb
|
264
|
+
- test/examples/gcd.rb
|
265
|
+
- test/examples/hanoi.rb
|
266
266
|
- test/examples/help.rb
|
267
267
|
- test/examples/info.rb
|
268
268
|
- test/examples/info2.rb
|
@@ -270,6 +270,7 @@ test_files:
|
|
270
270
|
- test/examples/list.rb
|
271
271
|
- test/examples/method.rb
|
272
272
|
- test/examples/post_mortem.rb
|
273
|
+
- test/examples/primes.rb
|
273
274
|
- test/examples/quit.rb
|
274
275
|
- test/examples/reload.rb
|
275
276
|
- test/examples/repl.rb
|
@@ -280,9 +281,12 @@ test_files:
|
|
280
281
|
- test/examples/show.rb
|
281
282
|
- test/examples/source.rb
|
282
283
|
- test/examples/stepping.rb
|
284
|
+
- test/examples/test-triangle.rb
|
283
285
|
- test/examples/thread.rb
|
284
286
|
- test/examples/tmate.rb
|
285
287
|
- test/examples/trace.rb
|
288
|
+
- test/examples/tri3.rb
|
289
|
+
- test/examples/triangle.rb
|
286
290
|
- test/examples/variables.rb
|
287
291
|
- test/finish_test.rb
|
288
292
|
- test/frame_test.rb
|
data/old_doc/byebug.1
DELETED
@@ -1,196 +0,0 @@
|
|
1
|
-
.TH byebug 1
|
2
|
-
.SH NAME
|
3
|
-
byebug \- Fast Ruby debugger
|
4
|
-
.SH SYNOPSIS
|
5
|
-
.B byebug
|
6
|
-
[byebug-options]
|
7
|
-
byebug
|
8
|
-
[script-options...]
|
9
|
-
.SH "DESCRIPTION"
|
10
|
-
This manual page documents briefly the
|
11
|
-
.BR byebug
|
12
|
-
command.
|
13
|
-
.PP
|
14
|
-
.B byebug
|
15
|
-
is a fast implementation of the standard Ruby byebug debug.rb. It
|
16
|
-
is implemented by utilizing a Ruby C API hook, allows for remote
|
17
|
-
debugging and can be used as the Ruby byebug backend interface for a
|
18
|
-
development environment.
|
19
|
-
.PP
|
20
|
-
The commands generally follow gdb's command set unless there's good
|
21
|
-
reason not to.
|
22
|
-
|
23
|
-
.PP
|
24
|
-
byebug can do four main kinds of things (plus other things in support of
|
25
|
-
these) to help you catch bugs in the act:
|
26
|
-
|
27
|
-
.TP
|
28
|
-
\ \ \ \(bu
|
29
|
-
Start or restart your Ruby script, specifying arguments that might
|
30
|
-
affect its behavior.
|
31
|
-
|
32
|
-
.TP
|
33
|
-
\ \ \ \(bu
|
34
|
-
Make your program stop at various points possibly determined by
|
35
|
-
specified conditions.
|
36
|
-
|
37
|
-
.TP
|
38
|
-
\ \ \ \(bu
|
39
|
-
Examine what has happened when your program has stopped.
|
40
|
-
|
41
|
-
.TP
|
42
|
-
\ \ \ \(bu
|
43
|
-
Change things in your program, so you can experiment with correcting the
|
44
|
-
effects of one bug and go on to learn about another.
|
45
|
-
.PP
|
46
|
-
|
47
|
-
Here are some of the most frequently-needed commands:
|
48
|
-
.TP
|
49
|
-
.B break \fR[\|\fIfile\fB:\fIline\fR\fR|\fIclass.method\fR] \fR[if \fIexpr\fR]
|
50
|
-
\&
|
51
|
-
Set a breakpoint at \c
|
52
|
-
.I class.method\c
|
53
|
-
\& or at the specified file and line.
|
54
|
-
.TP
|
55
|
-
.B continue \fR[\fIline\fR]
|
56
|
-
Continue running your program (after stopping, e.g. at a
|
57
|
-
breakpoint). If a line is given a one-time breakpoint is set there.
|
58
|
-
.TP
|
59
|
-
.B delete \fR[\fIbreakpoint-numbers\fR]
|
60
|
-
\&
|
61
|
-
Delete breakpoints by number. If no number is given delete all breakpoints.
|
62
|
-
.TP
|
63
|
-
.B down \fR[\|\fIcount\fR\|]
|
64
|
-
Move down one block frame. If count is given move up that many frames. A negative number
|
65
|
-
goes the other direction and is like the up command
|
66
|
-
.TP
|
67
|
-
.B finish
|
68
|
-
Run until the completion of the current function or method.
|
69
|
-
.TP
|
70
|
-
.BI frame " frame-number"
|
71
|
-
Set the stack frame to \fIframe-number\fR for purposes of examinine local variables. For positioning relative to the current frame, use
|
72
|
-
.B up
|
73
|
-
or
|
74
|
-
.B down. A negative number starts counting from the other end.
|
75
|
-
.TP
|
76
|
-
.B help \fR[\|\fIname\fR\|]
|
77
|
-
Show information about byebug command \c
|
78
|
-
.I name\c
|
79
|
-
\&, or general information
|
80
|
-
about using byebug.
|
81
|
-
.TP
|
82
|
-
.B info \fR[\|\fIname\fR\|]
|
83
|
-
Get the various information usually about the debugged program.
|
84
|
-
.TP
|
85
|
-
.B irb \fIcommand\fR
|
86
|
-
Run an interactive ruby shell (irb) using the current environment.
|
87
|
-
.TP
|
88
|
-
.B list \fR[\|\fIfile\fB:\fIline\fR|\fIfunction]
|
89
|
-
type the text of the program in the vicinity of where it is presently stopped
|
90
|
-
or at the specified function or file and line.
|
91
|
-
.TP
|
92
|
-
.B next \fR[\|\fIcount\fR\|]
|
93
|
-
Execute next program line(s) (after stopping); step \c
|
94
|
-
.I over\c
|
95
|
-
\& any
|
96
|
-
function calls in the line.
|
97
|
-
.TP
|
98
|
-
.BI pp " expr"\c
|
99
|
-
\&
|
100
|
-
Pretty print the value of an expression.
|
101
|
-
.TP
|
102
|
-
.BI print " expr"\c
|
103
|
-
\&
|
104
|
-
Display the value of an expression.
|
105
|
-
.TP
|
106
|
-
.BI ps " expr"\c
|
107
|
-
\&
|
108
|
-
Print an array as a columized sorted list.
|
109
|
-
.TP
|
110
|
-
.B quit
|
111
|
-
Exit byebug.
|
112
|
-
.TP
|
113
|
-
.B run \fR[\|\fIarglist\fR\|]
|
114
|
-
(Re)start your program (with \c
|
115
|
-
.I arglist\c
|
116
|
-
\&, if specified). If you want byebug to get reloaded, use
|
117
|
-
.B restart
|
118
|
-
instead.
|
119
|
-
.TP
|
120
|
-
.B set
|
121
|
-
Modify parts of byebug's environment.
|
122
|
-
.TP
|
123
|
-
.B show
|
124
|
-
See byebug's environment settings
|
125
|
-
.TP
|
126
|
-
.BI source " filename"\c
|
127
|
-
\&
|
128
|
-
Read and execute the lines in file \fIfilename\fR as a series of byebug
|
129
|
-
commands.
|
130
|
-
.TP
|
131
|
-
.B step \fR[\|\fIcount\fR\|]
|
132
|
-
Execute next program line(s) (after stopping); step \c
|
133
|
-
.I into\c
|
134
|
-
\& any
|
135
|
-
function calls in the line.
|
136
|
-
.TP
|
137
|
-
.B up \fR[\|\fIcount\fR\|]
|
138
|
-
Move up one block frame. If count is given move up that many frames. A negative number
|
139
|
-
goes the other direction and is like the down command
|
140
|
-
.TP
|
141
|
-
.B where \fR[\|\fIcount\fR\|]
|
142
|
-
Display all or \fIcount\fR items of the program stack.
|
143
|
-
.PP
|
144
|
-
For full details on byebug, see \c
|
145
|
-
https://github.com/cldwalker/byebug
|
146
|
-
.SH OPTIONS
|
147
|
-
.PP
|
148
|
-
.TP 10
|
149
|
-
.TP
|
150
|
-
.B \-d | \-\-debug
|
151
|
-
Set $DEBUG true.
|
152
|
-
.TP
|
153
|
-
.B \-I | \-\-include PATH
|
154
|
-
Add PATH to $LOAD_PATH
|
155
|
-
.TP
|
156
|
-
.B \-m | \-\-post-mortem
|
157
|
-
Activate post-mortem mode.
|
158
|
-
.TP
|
159
|
-
.B \-\-no\-stop
|
160
|
-
Do not stop when script is loaded.
|
161
|
-
.TP
|
162
|
-
.B \-r | \-\-require SCRIPT
|
163
|
-
Require the library, before executing your script.
|
164
|
-
.TP
|
165
|
-
.B \-\-script FILE
|
166
|
-
Name of the script file to run.
|
167
|
-
.TP
|
168
|
-
.B \-x | \-\-trace
|
169
|
-
Show lines before executing them.
|
170
|
-
.TP
|
171
|
-
.B \-\-no\-quit
|
172
|
-
Do not quit when script terminates. Instead rerun the program.
|
173
|
-
.TP
|
174
|
-
.B \-\-version
|
175
|
-
Show the version number and exit.
|
176
|
-
.TP
|
177
|
-
.B \-\-v
|
178
|
-
Print the version number, then turn on verbose mode if a script name
|
179
|
-
is given. If no script name is given just exit after printing the
|
180
|
-
version number.
|
181
|
-
.TP
|
182
|
-
.B \-\-nx
|
183
|
-
Don't execute commands found in any initialization files, e.g. .byebugrc.
|
184
|
-
.TP
|
185
|
-
.B \-\-script=FILE
|
186
|
-
Name of the script file to run
|
187
|
-
.TP
|
188
|
-
.B \-\-help
|
189
|
-
Show invocation help and exit.
|
190
|
-
.PD
|
191
|
-
.SH "SEE ALSO"
|
192
|
-
.Sp
|
193
|
-
https://github.com/deivid-rodriguez/byebug
|
194
|
-
.SH AUTHOR
|
195
|
-
byebug was written by Kent Siblev. This manual page was written by Rocky
|
196
|
-
Bernstein <rocky@gnu.org>
|