byebug 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,18 +1,18 @@
1
- .\" $Id: rdebug.1 516 2007-12-31 05:55:24Z rockyb $
2
- .TH rdebug 1
1
+ .\" $Id: byebug.1 516 2007-12-31 05:55:24Z rockyb $
2
+ .TH byebug 1
3
3
  .SH NAME
4
- rdebug \- Fast Ruby byebug
4
+ byebug \- Fast Ruby byebug
5
5
  .SH SYNOPSIS
6
- .B rdebug
6
+ .B byebug
7
7
  [byebug-options]
8
- rdebug
8
+ byebug
9
9
  [script-options...]
10
10
  .SH "DESCRIPTION"
11
11
  This manual page documents briefly the
12
- .BR rdebug
12
+ .BR byebug
13
13
  command.
14
14
  .PP
15
- .B rdebug
15
+ .B byebug
16
16
  is a fast implementation of the standard Ruby byebug debug.rb. It
17
17
  is implemented by utilizing a Ruby C API hook, allows for remote
18
18
  debugging and can be used as the Ruby byebug backend interface for a
@@ -22,7 +22,7 @@ The commands generally follow gdb's command set unless there's good
22
22
  reason not to.
23
23
 
24
24
  .PP
25
- rdebug can do four main kinds of things (plus other things in support of
25
+ byebug can do four main kinds of things (plus other things in support of
26
26
  these) to help you catch bugs in the act:
27
27
 
28
28
  .TP
@@ -75,10 +75,10 @@ or
75
75
  .B down. A negative number starts counting from the other end.
76
76
  .TP
77
77
  .B help \fR[\|\fIname\fR\|]
78
- Show information about rdebug command \c
78
+ Show information about byebug command \c
79
79
  .I name\c
80
80
  \&, or general information
81
- about using rdebug.
81
+ about using byebug.
82
82
  .TP
83
83
  .B info \fR[\|\fIname\fR\|]
84
84
  Get the various information usually about the debugged program.
@@ -142,7 +142,7 @@ goes the other direction and is like the down command
142
142
  .B where \fR[\|\fIcount\fR\|]
143
143
  Display all or \fIcount\fR items of the program stack.
144
144
  .PP
145
- For full details on rdebug, see \c
145
+ For full details on byebug, see \c
146
146
  https://github.com/cldwalker/byebug
147
147
  .SH OPTIONS
148
148
  .PP
@@ -155,7 +155,7 @@ front-ends such as GNU Emacs to post this updated information without
155
155
  having to poll for it.
156
156
  .TP
157
157
  .B \-\-client
158
- Connect to a remote byebug. Used with another rdebug invocation using \-\-server.
158
+ Connect to a remote byebug. Used with another byebug invocation using \-\-server.
159
159
  See also \-\-host and \-\-cport options
160
160
  .TP
161
161
  .B \-\-cport=PORT
@@ -215,7 +215,7 @@ is given. If no script name is given just exit after printing the
215
215
  version number.
216
216
  .TP
217
217
  .B \-\-nx
218
- Don't execute commands found in any initialization files, e.g. .rdebugrc.
218
+ Don't execute commands found in any initialization files, e.g. .byebugrc.
219
219
  .TP
220
220
  .B \-\-keep-frame-binding
221
221
  Keep frame bindings.
@@ -223,7 +223,7 @@ Keep frame bindings.
223
223
  .B \-\-script=FILE
224
224
  Name of the script file to run
225
225
  .B \-s | \-\-server
226
- Listen for remote connections. Another rdebug session accesses using the \-\-client option.
226
+ Listen for remote connections. Another byebug session accesses using the \-\-client option.
227
227
  See also the \-\-host, \-\-port and
228
228
  \-\-cport options
229
229
  .TP
@@ -237,5 +237,5 @@ Show invocation help and exit.
237
237
  .Sp
238
238
  https://github.com/cldwalker/byebug
239
239
  .SH AUTHOR
240
- rdebug was written by Kent Siblev. This manual page was written by
241
- Rocky Bernstein <rocky@gnu.org>
240
+ byebug was written by Kent Siblev. This manual page was written by Rocky
241
+ Bernstein <rocky@gnu.org>
@@ -160,7 +160,7 @@ purposes than how to write short Ruby code.}
160
160
  @smallexample
161
161
  $ @b{byebug triangle.rb}
162
162
  triangle.rb:4 def hanoi(n,a,b,c)
163
- (rdb:1) @b{list}
163
+ (byebug:1) @b{list}
164
164
  [-1, 8] in ./triangle.rb
165
165
  1 #!/usr/bin/env ruby
166
166
  2 # Compute the n'th triangle number - the hard way
@@ -170,14 +170,14 @@ triangle.rb:4 def hanoi(n,a,b,c)
170
170
  6 0.upto(n) do |i|
171
171
  7 tri += i
172
172
  8 end
173
- (rdb:1) @b{l}
173
+ (byebug:1) @b{l}
174
174
  [9, 18] in ./triangle.rb
175
175
  9 tri
176
176
  10 end
177
177
  11
178
178
  12 t = triangle(3)
179
179
  13 puts t
180
- (rdb:1) @b{list 1,100}
180
+ (byebug:1) @b{list 1,100}
181
181
  [1, 100] in ./triangle.rb
182
182
  1 #!/usr/bin/env ruby
183
183
  2 # Compute the n'th triangle number - the hard way
@@ -192,7 +192,7 @@ triangle.rb:4 def hanoi(n,a,b,c)
192
192
  11
193
193
  12 t = triangle(3)
194
194
  13 puts t
195
- (rdb:1)
195
+ (byebug:1)
196
196
  @end smallexample
197
197
 
198
198
  @noindent
@@ -200,59 +200,53 @@ triangle.rb:4 def hanoi(n,a,b,c)
200
200
  There are lots of command options, but we don't need them for now. See
201
201
  @ref{byebug command-line options} for a full list of command options.
202
202
 
203
- Position information consists of a filename and line number,
204
- e.g.@: @code{triangle.rb:4}. We are currently stopped before the first
205
- executable line of the program; this is line 4 of
206
- @code{triangle.rb}. If you are used to less dynamic languages and have
207
- used byebugs for more statically compiled languages like C, C++, or
208
- Java, it may seem odd to be stopped before a function definition. But
209
- in Ruby line 4 is executed, the name @code{triangle} (probably) does
210
- not exist so issuing a method call of @code{triangle} will raise a
211
- ``method not found'' error.
212
-
213
- @DBG{}'s prompt is @code{(rdb:@emph{n})}. The @emph{n} is the thread
214
- number. Here it is 1 which is usually the case for the main thread. If
215
- the program has died and you are in post-mortem debugging, there is no
216
- thread number. In this situation, the string @code{post-mortem} is
217
- used in place of a thread number. If the program has terminated
218
- normally, the string this position will be @code{ctrl}. The commands
219
- which are available change depending on the program state.
220
-
221
- The first command, @code{list} (@pxref{List}), prints 10 lines
222
- centered around the current line; the current line here is line 4 and
223
- is marked by @code{=>}, so the range byebug would like to show
224
- is -1..8. However since there aren't 5 lines before the current line,
225
- those additional lines---``lines'' -1 and 0---are dropped and we print
226
- the remaining 8 lines. The @code{list} command can be abbreviated
227
- with @code{l} which is what we use next. Notice that when we use this
228
- a second time, we continue listing from the place we last left
229
- off. The desired range of lines this time is lines 9 to 18; but since
230
- the program ends at line 13, only the remaining 5 lines are shown.
231
-
232
- If you want to set how many lines to print by default rather than use
233
- the initial number of lines, 10, use the @code{set listsize} command
234
- (@pxref{Listsize}). To see the entire program in one shot, we gave an
235
- explicit starting and ending line number.
236
-
237
- If you use a front-end to byebug such as the Emacs interface,
238
- @c (@pxref{GNU Emacs})
239
- you probably won't use @code{list} all that much.
203
+ Position information consists of a filename and line number, e.g.@:
204
+ @code{triangle.rb:4}. We are currently stopped before the first executable line
205
+ of the program; this is line 4 of @code{triangle.rb}. If you are used to less
206
+ dynamic languages and have used debuggers for more statically compiled languages
207
+ like C, C++, or Java, it may seem odd to be stopped before a function definition
208
+ but in Ruby line 4 is executed, the name @code{triangle} (probably) does not
209
+ exist so issuing a method call of @code{triangle} will raise a ``method not
210
+ found'' error.
211
+
212
+ @DBG{}'s prompt is @code{(byebug:@emph{n})}. The @emph{n} is the thread number.
213
+ Here it is 1 which is usually the case for the main thread. If the program has
214
+ died and you are in post-mortem debugging, there is no thread number. In this
215
+ situation, the string @code{post-mortem} is used in place of a thread number. If
216
+ the program has terminated normally, the string this position will be
217
+ @code{ctrl}. The commands which are available change depending on the program
218
+ state.
219
+
220
+ The first command, @code{list} (@pxref{List}), prints 10 lines centered around
221
+ the current line; the current line here is line 4 and is marked by @code{=>}, so
222
+ the range byebug would like to show is -1..8. However since there aren't 5 lines
223
+ before the current line, those additional lines---``lines'' -1 and 0---are
224
+ dropped and we print the remaining 8 lines. The @code{list} command can be
225
+ abbreviated with @code{l} which is what we use next. Notice that when we use
226
+ this a second time, we continue listing from the place we last left off. The
227
+ desired range of lines this time is lines 9 to 18; but since the program ends at
228
+ line 13, only the remaining 5 lines are shown.
229
+
230
+ If you want to set how many lines to print by default rather than use the
231
+ initial number of lines, 10, use the @code{set listsize} command
232
+ (@pxref{Listsize}). To see the entire program in one shot, we gave an explicit
233
+ starting and ending line number.
240
234
 
241
235
  Now let us step through the program.
242
236
 
243
237
  @smallexample
244
- (rdb:1) @b{step}
238
+ (byebug:1) @b{step}
245
239
  triangle.rb:12
246
240
  t = triangle(3)
247
- (rdb:1) @b{@key{<RET>}}
241
+ (byebug:1) @b{@key{<RET>}}
248
242
  triangle.rb:5
249
243
  tri = 0
250
- (rdb:1) @b{p tri}
244
+ (byebug:1) @b{p tri}
251
245
  nil
252
- (rdb:1) @b{step}
246
+ (byebug:1) @b{step}
253
247
  triangle.rb:6
254
248
  0.upto(n) do |i|
255
- (rdb:1) @b{p tri}
249
+ (byebug:1) @b{p tri}
256
250
  0
257
251
  @end smallexample
258
252
 
@@ -273,7 +267,7 @@ to see how things are going stop, there is a better way by setting a
273
267
  display expression (@pxref{DisplayCommands}).
274
268
 
275
269
  @smallexample
276
- (rdb:1) @b{display tri}
270
+ (byebug:1) @b{display tri}
277
271
  1: tri = 0
278
272
  @end smallexample
279
273
 
@@ -281,11 +275,11 @@ Now let us run the program until we return from the function. However
281
275
  we'll want to see which lines get run.
282
276
 
283
277
  @smallexample
284
- (rdb:1) @b{display i}
278
+ (byebug:1) @b{display i}
285
279
  2: i =
286
- (rdb:1) @b{set linetrace on}
280
+ (byebug:1) @b{set linetrace on}
287
281
  line tracing is on.
288
- (rdb:1) @b{finish}
282
+ (byebug:1) @b{finish}
289
283
  Tracing(1):triangle.rb:7 tri += i
290
284
  1: tri = 0
291
285
  2: i = 0
@@ -309,14 +303,14 @@ Tracing(1):triangle.rb:13 puts t
309
303
  2: i =
310
304
  triangle.rb:13
311
305
  puts t
312
- (rdb:1) @b{quit}
306
+ (byebug:1) @b{quit}
313
307
  Really quit? (y/n) @b{y}
314
308
  @end smallexample
315
309
 
316
- So far, so good. A you can see from the above to get out of the
317
- byebug, one can issue a @code{quit} command. (@code{q} and
318
- @code{exit} are just as good. If you want to quit without being
319
- prompted, suffix the command with an exclamation mark, e.g.\@code{q!}.
310
+ So far, so good. A you can see from the above to get out of byebug, one can
311
+ issue a @code{quit} command. (@code{q} and @code{exit} are just as good. If you
312
+ want to quit without being prompted, suffix the command with an exclamation
313
+ mark, e.g.\@code{q!}.
320
314
 
321
315
  @node Second Sample Session
322
316
  @section Sample Session 2: Delving Deeper (@code{where}, @code{frame}, @code{restart}, @code{autoeval}, @code{break}, @code{ps})
@@ -333,7 +327,7 @@ command-parameter processing with error checking.
333
327
  @smallexample
334
328
  $ @b{byebug hanoi.rb}
335
329
  hanoi.rb:3 def hanoi(n,a,b,c)
336
- (rdb:1) @b{list 1,100}
330
+ (byebug:1) @b{list 1,100}
337
331
  [1, 100] in ./hanoi.rb
338
332
  1 #!/usr/bin/ruby
339
333
  2
@@ -370,7 +364,7 @@ hanoi.rb:3 def hanoi(n,a,b,c)
370
364
  33 end
371
365
  34
372
366
  35 hanoi(n, :a, :b, :c)
373
- (rdb:1)
367
+ (byebug:1)
374
368
  @end smallexample
375
369
 
376
370
  Recall in the first section I said that before the @code{def} is run
@@ -378,9 +372,9 @@ the method it names is undefined. Let's check that out. First let's
378
372
  see what private methods we can call before running @code{def hanoi}
379
373
 
380
374
  @smallexample
381
- (rdb:1) @b{set autoeval on}
375
+ (byebug:1) @b{set autoeval on}
382
376
  autoeval is on.
383
- (rdb:1) @b{private_methods}
377
+ (byebug:1) @b{private_methods}
384
378
  [:require_relative, :Digest, :default_src_encoding, :debug_program, ...
385
379
  @end smallexample
386
380
 
@@ -399,7 +393,7 @@ sort and put into columns lists like this using the print command, @code{ps}.
399
393
 
400
394
 
401
395
  @smallexample
402
- (rdb:1) @b{ps private_methods}
396
+ (byebug:1) @b{ps private_methods}
403
397
  Array debug_program p spawn
404
398
  Complex default_src_encoding pp sprintf
405
399
  Digest eval print srand
@@ -426,20 +420,20 @@ dbg_puts open sleep
426
420
  Now let's see what happens after stepping:
427
421
 
428
422
  @smallexample
429
- (rdb:1) @b{private_methods.member?(:hanoi)}
423
+ (byebug:1) @b{private_methods.member?(:hanoi)}
430
424
  false
431
- (rdb:1) @b{step}
425
+ (byebug:1) @b{step}
432
426
  hanoi.rb:13
433
427
  i_args=ARGV.length
434
- (rdb:1) @b{private_methods.member?(:hanoi)}
428
+ (byebug:1) @b{private_methods.member?(:hanoi)}
435
429
  true
436
- (rdb:1)
430
+ (byebug:1)
437
431
  @end smallexample
438
432
 
439
433
  Okay, now where were we?
440
434
 
441
435
  @smallexample
442
- (rdb:1) @b{list}
436
+ (byebug:1) @b{list}
443
437
  [8, 17] in ./hanoi.rb
444
438
  8 if n-1 > 0
445
439
  9 hanoi(n-1, c, b, a)
@@ -451,7 +445,7 @@ Okay, now where were we?
451
445
  15 puts "*** Need number of disks or no parameter"
452
446
  16 exit 1
453
447
  17 end
454
- (rdb:1) @b{ARGV}
448
+ (byebug:1) @b{ARGV}
455
449
  []
456
450
  @end smallexample
457
451
 
@@ -459,45 +453,45 @@ Ooops. We forgot to specify any parameters to this program. Let's try
459
453
  again. We can use the @code{restart} command here.
460
454
 
461
455
  @smallexample
462
- (rdb:1) @b{restart 3}
456
+ (byebug:1) @b{restart 3}
463
457
  Re exec'ing:
464
458
  /usr/bin/byebug hanoi.rb 3
465
459
  hanoi.rb:3
466
460
  def hanoi(n,a,b,c)
467
- (rdb:1) @b{break 4}
461
+ (byebug:1) @b{break 4}
468
462
  Breakpoint 1 file hanoi.rb, line 4
469
- (rdb:1) @b{continue}
463
+ (byebug:1) @b{continue}
470
464
  Breakpoint 1 at hanoi.rb:4
471
465
  ./hanoi.rb:4 if n-1 > 0
472
- (rdb:1) @b{display n}
466
+ (byebug:1) @b{display n}
473
467
  1: n = 3
474
- (rdb:1) @b{display a}
468
+ (byebug:1) @b{display a}
475
469
  2: a = a
476
- (rdb:1) @b{undisplay 2}
477
- (rdb:1) @b{display a.inspect}
470
+ (byebug:1) @b{undisplay 2}
471
+ (byebug:1) @b{display a.inspect}
478
472
  3: a.inspect = :a
479
- (rdb:1) @b{display b.inspect}
473
+ (byebug:1) @b{display b.inspect}
480
474
  4: b.inspect = :b
481
- (rdb:1) @b{continue}
475
+ (byebug:1) @b{continue}
482
476
  Breakpoint 1 at hanoi.rb:4
483
477
  1: n = 2
484
478
  3: a.inspect = :a
485
479
  4: b.inspect = :c
486
480
  ./hanoi.rb:4
487
481
  if n-1 > 0
488
- (rdb:1) @b{c}
482
+ (byebug:1) @b{c}
489
483
  Breakpoint 1 at hanoi.rb:4
490
484
  1: n = 1
491
485
  3: a.inspect = :a
492
486
  4: b.inspect = :b
493
487
  ./hanoi.rb:4
494
488
  if n-1 > 0
495
- (rdb:1) @b{where}
489
+ (byebug:1) @b{where}
496
490
  --> #0 Object.hanoi(n#Fixnum, a#Symbol, b#Symbol, c#Symbol) at line hanoi.rb:4
497
491
  #1 Object.hanoi(n#Fixnum, a#Symbol, b#Symbol, c#Symbol) at line hanoi.rb:5
498
492
  #2 Object.hanoi(n#Fixnum, a#Symbol, b#Symbol, c#Symbol) at line hanoi.rb:5
499
493
  #3 at line hanoi.rb:35
500
- (rdb:1)
494
+ (byebug:1)
501
495
  @end smallexample
502
496
 
503
497
  In the above we added a new command, @code{break}
@@ -525,7 +519,7 @@ style of what to show in the trace (@pxref{Callstyle}).
525
519
  Let's explore a little more. Now were were we?
526
520
 
527
521
  @smallexample
528
- (rdb:1) @b{list}
522
+ (byebug:1) @b{list}
529
523
  1 #!/usr/bin/ruby
530
524
  2
531
525
  3 def hanoi(n,a,b,c)
@@ -534,19 +528,19 @@ Let's explore a little more. Now were were we?
534
528
  6 end
535
529
  7 puts "Move disk %s to %s" % [a, b]
536
530
  8 if n-1 > 0
537
- (rdb:1) @b{undisplay}
531
+ (byebug:1) @b{undisplay}
538
532
  Clear all expressions? (y/n) @b{y}
539
- (rdb:1) @b{i_args}
533
+ (byebug:1) @b{i_args}
540
534
  NameError Exception: undefined local variable or method `i_args' for main:Object
541
- (rdb:1) @b{frame -1}
535
+ (byebug:1) @b{frame -1}
542
536
  #3 at line hanoi.rb:35
543
- (rdb:1) @b{i_args}
537
+ (byebug:1) @b{i_args}
544
538
  1
545
- (rdb:1) @b{p n}
539
+ (byebug:1) @b{p n}
546
540
  3
547
- (rdb:1) @b{down 2}
541
+ (byebug:1) @b{down 2}
548
542
  #2 Object.hanoi(n#Fixnum, a#Symbol, b#Symbol, c#Symbol) at line hanoi.rb:5
549
- (rdb:1) @b{p n}
543
+ (byebug:1) @b{p n}
550
544
  2
551
545
  @end smallexample
552
546
 
@@ -666,7 +660,7 @@ Now we run the program..
666
660
  Started
667
661
  test-tri.rb:9
668
662
  solutions = []
669
- (rdb:1)
663
+ (byebug:1)
670
664
  @end smallexample
671
665
  and we see that we are stopped at line 9 just before the
672
666
  initialization of the list @code{solutions}.
@@ -674,9 +668,9 @@ initialization of the list @code{solutions}.
674
668
  Now let's see where we are...
675
669
 
676
670
  @smallexample
677
- (rdb:1) @b{where}
671
+ (byebug:1) @b{where}
678
672
  --> #0 TestTri.test_basic at line /home/rocky/ruby/test-tri.rb:9
679
- (rdb:1)
673
+ (byebug:1)
680
674
  @end smallexample
681
675
 
682
676
  Something seems wrong here; @code{TestTri.test_basic} indicates that
@@ -720,7 +714,7 @@ Loaded suite test-tri2
720
714
  Started
721
715
  test-tri2.rb:11
722
716
  solutions = []
723
- (rdb:1) @b{where}
717
+ (byebug:1) @b{where}
724
718
  --> #0 TestTri.test_basic at line test-tri2.rb:11
725
719
  #1 MiniTest::Unit::TestCase.run(runner#MiniTest::Unit)
726
720
  at line /usr/local/lib/ruby/1.9.1/minitest/unit.rb:458
@@ -729,7 +723,7 @@ solutions = []
729
723
  #3 MiniTest::Unit.run
730
724
  at line /usr/local/lib/ruby/1.9.1/minitest/unit.rb:393
731
725
  #4 at line /usr/local/lib/ruby/1.9.1/minitest/unit.rb:334
732
- (rdb:1)
726
+ (byebug:1)
733
727
  @end smallexample
734
728
 
735
729
  Much better. But again let me emphasize that the parameter types are
@@ -774,12 +768,12 @@ irb(main):005:1> @b{end}
774
768
  irb(main):006:0> @b{Byebug.start@{byebug; foo@}}
775
769
  (irb):3
776
770
 
777
- (rdb:1) @b{s}
771
+ (byebug:1) @b{s}
778
772
  (irb):4
779
773
 
780
- (rdb:1) @b{p x}
774
+ (byebug:1) @b{p x}
781
775
  1
782
- (rdb:1) @b{s}
776
+ (byebug:1) @b{s}
783
777
  foo
784
778
  => true
785
779
  irb(main):007:0>
@@ -876,9 +870,9 @@ method header. It's possible the call will continue after a
876
870
  $ @b{byebug primes.rb}
877
871
  primes.rb:3
878
872
  class SievePrime
879
- (rdb:1) @b{set linetrace on}
873
+ (byebug:1) @b{set linetrace on}
880
874
  line tracing is on.
881
- (rdb:1) @b{step 9}
875
+ (byebug:1) @b{step 9}
882
876
  Tracing(1):primes.rb:4 @@odd_primes = []
883
877
  Tracing(1):primes.rb:5 def self.next_prime(&block)
884
878
  Tracing(1):primes.rb:23 SievePrime.next_prime do |prime|
@@ -891,7 +885,7 @@ Tracing(1):primes.rb:8 not_prime = false
891
885
  Tracing(1):primes.rb:9 candidate += 1
892
886
  primes.rb:9
893
887
  candidate += 1
894
- (rdb:1)
888
+ (byebug:1)
895
889
  @end smallexample
896
890
 
897
891
  The loop between lines 23--26 gets interleaved between those of
@@ -1439,15 +1433,15 @@ might want to enter the following code to compute the 5th Fibonacci
1439
1433
  number:
1440
1434
  @smallexample
1441
1435
  # Compute the 5 Fibonaci number
1442
- (rdb:1) set autoeval on
1443
- (rdb:1) fib1=0; fib2=1; 5.times @{|temp| temp=fib1; fib1=fib2; fib2 += temp @}
1436
+ (byebug:1) set autoeval on
1437
+ (byebug:1) fib1=0; fib2=1; 5.times @{|temp| temp=fib1; fib1=fib2; fib2 += temp @}
1444
1438
  SyntaxError Exception: compile error
1445
1439
  /usr/bin/irb:10: syntax error, unexpected $end, expecting '@}'
1446
1440
  5.times @{|temp| temp=fib1
1447
1441
  ^
1448
- (rdb:1) fib1=0\; fib2=1\; 5.times @{|temp| temp=fib1\; fib1=fib2\; fib2 += temp @}
1442
+ (byebug:1) fib1=0\; fib2=1\; 5.times @{|temp| temp=fib1\; fib1=fib2\; fib2 += temp @}
1449
1443
  5
1450
- (rdb:1) fib2
1444
+ (byebug:1) fib2
1451
1445
  fib2
1452
1446
  8
1453
1447
  @end smallexample
@@ -1470,9 +1464,9 @@ history size} command. See @ref{History} for history parameters.
1470
1464
 
1471
1465
  In the command-line interface, when @code{byebug} is waiting for
1472
1466
  input it presents a prompt of the form
1473
- @code{(rdb:}@emph{x}@code{)}. If debugging locally, @emph{x} will be
1467
+ @code{(byebug:}@emph{x}@code{)}. If debugging locally, @emph{x} will be
1474
1468
  the thread number. Usual the main thread is 1, so often you'll see
1475
- @code{(rdb:1)}. In the control interface though @emph{x} will be
1469
+ @code{(byebug:1)}. In the control interface though @emph{x} will be
1476
1470
  @code{ctrl} and in post-mortem debugging @code{post-mortem}.
1477
1471
 
1478
1472
  In the local interface, whenever @code{byebug} gives an error
@@ -1501,7 +1495,7 @@ display a short list of named classes of commands:
1501
1495
 
1502
1496
  @flushleft
1503
1497
  @smallexample
1504
- (rdb:1) @b{help}
1498
+ (byebug:1) @b{help}
1505
1499
  byebug help v@value{BYEBUG_VERSION}
1506
1500
  Type 'help <command-name>' for help on a specific command
1507
1501
 
@@ -1523,36 +1517,34 @@ With a command name as @code{help} argument, @DBG displays short
1523
1517
  information on how to use that command.
1524
1518
 
1525
1519
  @smallexample
1526
- (rdb:1) @b{help list}
1520
+ (byebug:1) @b{help list}
1527
1521
  byebug help v@value{BYEBUG_VERSION}
1528
1522
  l[ist] list forward
1529
1523
  l[ist] - list backward
1530
1524
  l[ist] = list current line
1531
1525
  l[ist] nn-mm list given lines
1532
1526
  * NOTE - to turn on autolist, use 'set autolist'
1533
- (rdb:1)
1527
+ (byebug:1)
1534
1528
  @end smallexample
1535
1529
  @end table
1536
1530
 
1537
1531
  @node Help for Subcommands
1538
1532
  @subsection Help on Subcommands
1539
- A number of commands have many sub-parameters or
1540
- @emph{subcommands}. These include @code{info}, @code{set},
1541
- @code{show}, @code{enable} and @code{disable}.
1542
-
1543
- When you ask for help for one of these commands, you will get help for
1544
- all of the subcommands that that command offers. Sometimes you may
1545
- want help that subcommand and to do this just follow the command with
1546
- its subcommand name. For example @code{help set annotate} will just
1547
- give help about the annotate command. Furthermore it will give longer
1548
- help than the summary information that appears when you ask for
1549
- help. You don't need to list the full subcommand name, but just enough
1550
- of the letters to make that subcommand distinct from others will
1551
- do. For example, @code{help set an} is the same as @code{help set annotate}.
1533
+ A number of commands have many sub-parameters or @emph{subcommands}. These
1534
+ include @code{info}, @code{set}, @code{show}, @code{enable} and @code{disable}.
1535
+
1536
+ When you ask for help for one of these commands, you will get help for all of
1537
+ the subcommands that that command offers. Sometimes you may want help that
1538
+ subcommand and to do this just follow the command with its subcommand name. For
1539
+ example @code{help set annotate} will just give help about the annotate command.
1540
+ Furthermore it will give longer help than the summary information that appears
1541
+ when you ask for help. You don't need to list the full subcommand name, but just
1542
+ enough of the letters to make that subcommand distinct from others will do. For
1543
+ example, @code{help set an} is the same as @code{help set annotate}.
1552
1544
 
1553
1545
  Some examples follow.
1554
1546
  @example
1555
- (rdb:1) @b{help info}
1547
+ (byebug:1) @b{help info}
1556
1548
  Generic command for showing things about the program being debugged.
1557
1549
  --
1558
1550
  List of info subcommands:
@@ -1575,14 +1567,14 @@ info variables -- Local and instance variables of the current stack frame
1575
1567
  @end example
1576
1568
 
1577
1569
  @example
1578
- (rdb:1) @b{help info breakpoints}
1570
+ (byebug:1) @b{help info breakpoints}
1579
1571
  Status of user-settable breakpoints.
1580
1572
  Without argument, list info about all breakpoints. With an
1581
1573
  integer argument, list info on that breakpoint.
1582
1574
  @end example
1583
1575
 
1584
1576
  @example
1585
- (rdb:1) @b{help info br}
1577
+ (byebug:1) @b{help info br}
1586
1578
  Status of user-settable breakpoints.
1587
1579
  Without argument, list info about all breakpoints. With an
1588
1580
  integer argument, list info on that breakpoint.
@@ -1677,7 +1669,7 @@ remove an expression from the list, you specify that number. The
1677
1669
  automatic display looks like this:
1678
1670
 
1679
1671
  @smallexample
1680
- (rdb:1) display n
1672
+ (byebug:1) display n
1681
1673
  1: n = 3
1682
1674
  @end smallexample
1683
1675
 
@@ -1687,9 +1679,9 @@ If the expression is undefined or illegal the expression will be
1687
1679
  printed but no value will appear.
1688
1680
 
1689
1681
  @smallexample
1690
- (rdb:1) display undefined_variable
1682
+ (byebug:1) display undefined_variable
1691
1683
  2: undefined_variable =
1692
- (rdb:1) display 1/0
1684
+ (byebug:1) display 1/0
1693
1685
  3: 1/0 =
1694
1686
  @end smallexample
1695
1687
 
@@ -1765,11 +1757,11 @@ same as you would if you were in @code{irb}. If there are many expressions
1765
1757
  you want to look at, you may want to go into irb from byebug.
1766
1758
  @smallexample
1767
1759
  @group
1768
- (rdb:p) p n
1760
+ (byebug:p) p n
1769
1761
  3
1770
- (rdb:1) p "the value of n is #@{n@}"
1762
+ (byebug:1) p "the value of n is #@{n@}"
1771
1763
  "the value of n is 3"
1772
- (rdb:1)
1764
+ (byebug:1)
1773
1765
  @end group
1774
1766
  @end smallexample
1775
1767
  @end table
@@ -1782,9 +1774,9 @@ you want to look at, you may want to go into irb from byebug.
1782
1774
  Evaluates and pretty-prints @var{expr}
1783
1775
  @smallexample
1784
1776
  @group
1785
- (rdb:1) @b{p $LOAD_PATH}
1777
+ (byebug:1) @b{p $LOAD_PATH}
1786
1778
  ["/home/rocky/lib/ruby", "/usr/lib/ruby/site_ruby/1.8", "/usr/lib/ruby/site_ruby/1.8/i586-linux", "/usr/lib/ruby/1.8"]
1787
- (rdb:1) @b{pp $LOAD_PATH}
1779
+ (byebug:1) @b{pp $LOAD_PATH}
1788
1780
  ["/home/rocky/lib/ruby",
1789
1781
  "/usr/lib/ruby/site_ruby/1.8",
1790
1782
  "/usr/lib/ruby/site_ruby/1.8/i586-linux",
@@ -1797,7 +1789,7 @@ If the value you want to print is an array, sometimes a columnized
1797
1789
  list looks nicer:
1798
1790
  @smallexample
1799
1791
  @group
1800
- (rdb:1) @b{putl $LOAD_PATH}
1792
+ (byebug:1) @b{putl $LOAD_PATH}
1801
1793
  /home/rocky/lib/ruby /usr/lib/ruby/site_ruby/1.8
1802
1794
  /usr/lib/ruby/site_ruby/1.8/i586-linux /usr/lib/ruby/1.8
1803
1795
  @end group
@@ -1817,7 +1809,7 @@ and so does the output of the @code{method} commands.
1817
1809
 
1818
1810
  @smallexample
1819
1811
  @group
1820
- (rdb:1) ps Kernel.private_methods
1812
+ (byebug:1) ps Kernel.private_methods
1821
1813
  Digest initialize y
1822
1814
  Pathname initialize_copy
1823
1815
  Rational location_of_caller
@@ -1861,7 +1853,7 @@ rather than the position may have gotten updated via a prior
1861
1853
  @smallexample
1862
1854
  triangle.rb:4
1863
1855
  def triangle(n)
1864
- (rdb:1) @b{list}
1856
+ (byebug:1) @b{list}
1865
1857
  [-1, 8] in /home/rocky/ruby/triangle.rb
1866
1858
  1 #!/usr/bin/env ruby
1867
1859
  2 # Compute the n'th triangle number - the hard way
@@ -1877,7 +1869,7 @@ def triangle(n)
1877
1869
  >> @b{exit}
1878
1870
  triangle.rb:4
1879
1871
  def triangle(n)
1880
- (rdb:1) @b{list # Note we get the same line range as before going into irb}
1872
+ (byebug:1) @b{list # Note we get the same line range as before going into irb}
1881
1873
  [-1, 8] in /home/rocky/ruby/triangle.rb
1882
1874
  1 #!/usr/bin/env ruby
1883
1875
  2 # Compute the n'th triangle number - the hard way
@@ -1935,7 +1927,7 @@ Show procedure signature of method @var{object}.
1935
1927
  @smallexample
1936
1928
  def mymethod(a, b=5, &bock)
1937
1929
  end
1938
- (rdb:1) @b{method sig mymethod}
1930
+ (byebug:1) @b{method sig mymethod}
1939
1931
  Mine#mymethod(a, b=5, &bock)
1940
1932
  @end smallexample
1941
1933
  on @var{object}.
@@ -2133,7 +2125,7 @@ frame numbers shown. The position of the current frame is marked with
2133
2125
  @code{-->}.
2134
2126
 
2135
2127
  @smallexample
2136
- (rdb:1) where
2128
+ (byebug:1) where
2137
2129
  --> #0 Object.gcd(a#Fixnum, b#Fixnum) at line /tmp/gcd.rb:6
2138
2130
  #1 at line /tmp/gcd.rb:19
2139
2131
  @end smallexample
@@ -2280,17 +2272,17 @@ Here's an example:
2280
2272
  $ @b{byebug ~/ruby/gcd.rb 3 5}
2281
2273
  /home/rocky/ruby/gcd.rb:4 # Note this is the file name
2282
2274
  def gcd(a, b)
2283
- (rdb:1) @b{break gcd.rb:6}
2275
+ (byebug:1) @b{break gcd.rb:6}
2284
2276
  *** No source file named gcd.rb
2285
- (rdb:1) @b{info line}
2277
+ (byebug:1) @b{info line}
2286
2278
  Line 4 of "/home/rocky/ruby/gcd.rb"
2287
- (rdb:1) @b{break /home/rocky/ruby/gcd.rb:6}
2279
+ (byebug:1) @b{break /home/rocky/ruby/gcd.rb:6}
2288
2280
  Breakpoint 1 file /home/rocky/ruby/gcd.rb, line 6
2289
- (rdb:1) @b{break ~/ruby/gcd.rb:10} # tilde expansion also works
2281
+ (byebug:1) @b{break ~/ruby/gcd.rb:10} # tilde expansion also works
2290
2282
  Breakpoint 2 file /home/rocky/ruby/gcd.rb, line 10
2291
- (rdb:1) @b{info file gcd.rb}
2283
+ (byebug:1) @b{info file gcd.rb}
2292
2284
  File gcd.rb is not cached
2293
- (rdb:1) @b{info file /home/rocky/ruby/gcd.rb}
2285
+ (byebug:1) @b{info file /home/rocky/ruby/gcd.rb}
2294
2286
  File /home/rocky/ruby/gcd.rb
2295
2287
  19 lines
2296
2288
  @end example
@@ -2348,12 +2340,12 @@ only that breakpoint.
2348
2340
 
2349
2341
  Examples:
2350
2342
  @example
2351
- (rdb:1) @b{info break}
2343
+ (byebug:1) @b{info break}
2352
2344
  Breakpoints at following places:
2353
2345
  Num Enb What
2354
2346
  1 y gcd.rb:3
2355
2347
  2 y gcb.rb:28 if n > 1
2356
- (rdb:1) @b{info break 2}
2348
+ (byebug:1) @b{info break 2}
2357
2349
  2 y gcb.rb:28 if n > 1
2358
2350
  @end example
2359
2351
  @end table
@@ -2668,11 +2660,11 @@ When autoeval is set on, you'll get a different error message when you
2668
2660
  invalid commands are encountered. Here's a session fragment to show
2669
2661
  the difference
2670
2662
  @smallexample
2671
- (rdb:1) @b{stepp}
2663
+ (byebug:1) @b{stepp}
2672
2664
  Unknown command
2673
- (rdb:1) @b{set autoeval on}
2665
+ (byebug:1) @b{set autoeval on}
2674
2666
  autoeval is on.
2675
- (rdb:1) @b{stepp}
2667
+ (byebug:1) @b{stepp}
2676
2668
  NameError Exception: undefined local variable or method `stepp' for ...
2677
2669
  @end smallexample
2678
2670
 
@@ -2950,7 +2942,7 @@ ignored (!); the thread number and the top stack item. If
2950
2942
  an example:
2951
2943
 
2952
2944
  @smallexample
2953
- (rdb:7) info threads
2945
+ (byebug:7) info threads
2954
2946
  1 #<Thread:0xb7d08704 sleep> ./test/thread1.rb:27
2955
2947
  !2 #<Byebug::DebugThread:0xb7782e4c sleep>
2956
2948
  3 #<Thread:0xb777e220 sleep> ./test/thread1.rb:11
@@ -2958,14 +2950,14 @@ an example:
2958
2950
  5 #<Thread:0xb777e07c sleep> ./test/thread1.rb:11
2959
2951
  6 #<Thread:0xb777dfb4 sleep> ./test/thread1.rb:11
2960
2952
  + 7 #<Thread:0xb777deec run> ./test/thread1.rb:14
2961
- (rdb:1)
2953
+ (byebug:1)
2962
2954
  @end smallexample
2963
2955
 
2964
2956
  Thread 7 is the current thread since it has a plus sign in front. Thread 2 is
2965
2957
  ignored since it has a @code{!}. A ``verbose'' listing of the above:
2966
2958
 
2967
2959
  @smallexample
2968
- (rdb:7) info threads verbose
2960
+ (byebug:7) info threads verbose
2969
2961
  1 #<Thread:0xb7d08704 sleep>
2970
2962
  #0 Integer.join at line test/thread1.rb:27
2971
2963
  #1 at line test/thread1.rb:27
@@ -3037,7 +3029,7 @@ post-mortem debugging set the @code{post_mortem} key in
3037
3029
 
3038
3030
  $ @b{ruby t.rb }
3039
3031
  t.rb:8: raise 'test'
3040
- (rdb:post-mortem) @b{l=}
3032
+ (byebug:post-mortem) @b{l=}
3041
3033
  [3, 12] in t.rb
3042
3034
  3
3043
3035
  4 Byebug.start
@@ -3049,7 +3041,7 @@ post-mortem debugging set the @code{post_mortem} key in
3049
3041
  10 def t2
3050
3042
  11 t1
3051
3043
  12 end
3052
- (rdb:post-mortem)
3044
+ (byebug:post-mortem)
3053
3045
  @end smallexample
3054
3046
 
3055
3047
  Alternatively you can call @code{Byebug.post_mortem()} after byebug has
@@ -3080,7 +3072,7 @@ end
3080
3072
  @end smallexample
3081
3073
 
3082
3074
  Once inside byebug in post-mortem debugging, the prompt should
3083
- be @code{(rdb:post-mortem)}.
3075
+ be @code{(byebug:post-mortem)}.
3084
3076
 
3085
3077
  @node Byebug Module and Class
3086
3078
  @chapter The Byebug Module and Class
@@ -3444,7 +3436,7 @@ And now an example of invoking it:
3444
3436
  ruby /tmp/testit.rb:
3445
3437
  /tmp/testit.rb:7
3446
3438
  y=2
3447
- (rdb:1) help
3439
+ (byebug:1) help
3448
3440
  byebug help v0.10.3
3449
3441
  Type 'help <command-name>' for help on a specific command
3450
3442
  Available commands:
@@ -3455,11 +3447,11 @@ condition down finish list pp restart step var
3455
3447
  continue edit frame me ps save thread where
3456
3448
  ^^ This is you
3457
3449
 
3458
- (rdb:1) help me
3450
+ (byebug:1) help me
3459
3451
  This does whatever it is I want to do
3460
- (rdb:1) me
3452
+ (byebug:1) me
3461
3453
  hi
3462
- (rdb:1)
3454
+ (byebug:1)
3463
3455
  @end smallexample
3464
3456
 
3465
3457
  @node Kernel routines
@@ -3490,9 +3482,9 @@ y = 1
3490
3482
 
3491
3483
  $ scope-test.rb:8
3492
3484
  y = 1
3493
- (rdb:1) p a
3485
+ (byebug:1) p a
3494
3486
  NameError Exception: undefined local variable or method `a' for main:Object
3495
- (rdb:1)
3487
+ (byebug:1)
3496
3488
  @end smallexample
3497
3489
  The byebug will get at the line event which follows @samp{a=1}. This
3498
3490
  is outside the @code{do} block scope where @var{a} is defined. If
@@ -3512,15 +3504,15 @@ y = 1
3512
3504
  $ scope-test.rb:8
3513
3505
  ../lib/byebug-base.rb:175
3514
3506
  Byebug.current_context.stop_frame = 0
3515
- (rdb:1) where
3507
+ (byebug:1) where
3516
3508
  --> #0 Kernel.byebug(steps#Fixnum) at line ../lib/byebug-base.rb:175
3517
3509
  #1 at line scope-test.rb:6
3518
3510
  #2 at line scope-test.rb:4
3519
- (rdb:1) up
3511
+ (byebug:1) up
3520
3512
  #1 at line scope-test.rb:6
3521
- (rdb:1) p a
3513
+ (byebug:1) p a
3522
3514
  1
3523
- (rdb:1)
3515
+ (byebug:1)
3524
3516
  @end smallexample
3525
3517
  As seen above you will have to position the frame up one to be back in
3526
3518
  your debugged program rather than in byebug.