byebug 1.4.0 → 1.4.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d18d944520a45aaad538b12d098effea86da264b
4
- data.tar.gz: a9a224673d713f67bd67c13e5e1f1a88b08d90c5
3
+ metadata.gz: 2380cd5fcec35d3f595370d2616036b95d6431a9
4
+ data.tar.gz: c4d94d6eaf87f359546b4b0d490a17a6e7f436cf
5
5
  SHA512:
6
- metadata.gz: 29d6e1b0b24f742210043e44e5a6cc767982e5d95bb22fe7e72e42841b2c8d8c347c94431d59d72f0b1138336a6e2b5c52a3b2cae52e1838cab2f73560ee0f9b
7
- data.tar.gz: bbc117ad67be478a69e5116a335539be57ebb007f101e4f4de4fab4fac8a793c155a948a287f95af670718513aee946622ef1fcac23913471700ed207959409a
6
+ metadata.gz: c84394861f16b1ddffd011f93665e4c8a11234c50c697ce9abafd7fee41e992d363e38026083f6f9ef16d4ca8578b1f7705e630c82d9694b45c5f0c47797c94c
7
+ data.tar.gz: 5fe396fa9105f429a5da215e14507a0160376a0a36c29dc788fcd9e467ab24d84b57022b8914acf7a52305cfc4cf87eb65add335fb2825d48cb180ddc7c02b21
data/.gitignore CHANGED
@@ -1,6 +1,5 @@
1
1
  tmp
2
2
  pkg
3
- vendor/bundle
4
3
  doc
5
4
 
6
5
  .rvmrc
@@ -1,3 +1,8 @@
1
+ ## 1.4.1
2
+
3
+ * Fixes crash when printing some filenames in backtraces
4
+
5
+
1
6
  ## 1.4.0
2
7
 
3
8
  * Byebug now uses the Debug Inspector API: faster and nicer!
data/GUIDE.md CHANGED
@@ -1,4 +1,4 @@
1
- ## Second Sample Session: Delving Deeper
1
+ ### Second Sample Session: Delving Deeper
2
2
 
3
3
  In this section we'll introduce breakpoints, the call stack and restarting.
4
4
  Below we will debug a simple Ruby program to solve the classic Towers of Hanoi
@@ -172,14 +172,14 @@ Stopped by breakpoint 1 at /home/davidr/Proyectos/byebug/old_doc/hanoi.rb:3
172
172
  1: n = 1
173
173
  3: a.inspect = :a
174
174
  4: b.inspect = :b
175
+ (byebug) set nofullpath
176
+ Displaying frame's full file names is off.
175
177
  (byebug) where
176
178
  --> #0 Object.hanoi(n#Fixnum, a#Symbol, b#Symbol, c#Symbol)
177
- at /home/davidr/Proyectos/byebug/old_doc/hanoi.rb:3
179
+ at .../byebug/old_doc/hanoi.rb:4
178
180
  #1 Object.hanoi(n#Fixnum, a#Symbol, b#Symbol, c#Symbol)
179
- at /home/davidr/Proyectos/byebug/old_doc/hanoi.rb:4
180
- #2 Object.hanoi(n#Fixnum, a#Symbol, b#Symbol, c#Symbol)
181
- at /home/davidr/Proyectos/byebug/old_doc/hanoi.rb:4
182
- #3 <main> at /home/davidr/Proyectos/byebug/old_doc/hanoi.rb:34
181
+ at .../byebug/old_doc/hanoi.rb:8
182
+ #2 <top (required)> at .../byebug/old_doc/hanoi.rb:34
183
183
  (byebug)
184
184
  ```
185
185
 
@@ -231,7 +231,7 @@ frame #3, the value of `i_args` can be shown. Also note that the value of
231
231
  variable `n` is different.
232
232
 
233
233
 
234
- ## Unit Testing Session
234
+ ### Unit Testing Session
235
235
 
236
236
  In the previous sessions we've been calling byebug right at the outset, but this
237
237
  is probably not the mode of operation you will use the most. There are a number
@@ -436,7 +436,7 @@ the corresponding variables that _currently_ exist, and this might have changed
436
436
  since the time when the call was made.
437
437
 
438
438
 
439
- ## Byebug.start with a block
439
+ ### Byebug.start with a block
440
440
 
441
441
  We saw that `Byebug.start()` and `Byebug.stop()` allow fine-grain control over
442
442
  where byebug tracking should occur.
@@ -486,8 +486,7 @@ when another `Byebug.start` method is called inside of the outer one. However,
486
486
  if you are stopped inside byebug, issuing another `byebug` call will not have
487
487
  any effect even if it is nested inside another `Byebug.start`.
488
488
 
489
- ## Debugging Oddities: How debugging Ruby may be different from debugging other
490
- languages
489
+ ### Debugging Oddities: How debugging Ruby may be different from other languages
491
490
 
492
491
  If you are used to debugging in other languages like C, C++, Perl, Java or even
493
492
  Bash (see [bashdb](http://bashdb.sf.net)), there may be a number of things that
@@ -515,7 +514,7 @@ to Ruby who are familiar with other languages and debugging in them.
515
514
  * No Parameter Values in a Call Stack
516
515
  * Lines You Can Stop At
517
516
 
518
- ## Bouncing Around in Blocks (iterators)
517
+ #### Bouncing Around in Blocks (iterators)
519
518
 
520
519
  When debugging languages with coroutines like Python and Ruby, a method call may
521
520
  not necessarily go to the first statement after the method header. It's possible
@@ -596,7 +595,7 @@ The loop between lines 23-26 gets interleaved between those of
596
595
  `Sieve::next_prime`, lines 6-19 above.
597
596
 
598
597
 
599
- ### No Parameter Values in a Call Stack
598
+ #### No Parameter Values in a Call Stack
600
599
 
601
600
  In traditional debuggers, in a call stack you can generally see the names of the
602
601
  parameters and the values that were passed in.
@@ -615,7 +614,7 @@ _current_ class of the object. It has been contemplated that a style might be
615
614
  added which saves on call shorter "scalar" types of values and the class name.
616
615
 
617
616
 
618
- ### Lines You Can Stop At
617
+ #### Lines You Can Stop At
619
618
 
620
619
  As with the duplicate stops per control (e.g. `if` statement), until tools like
621
620
  debuggers get more traction among core ruby developers there are going to be
@@ -644,3 +643,116 @@ To be continued...
644
643
  * mixing in Byebug.debug with byebug
645
644
  * post-mortem debugging and setting up for that
646
645
  * references to videos
646
+
647
+ ## Getting in & out
648
+
649
+ ### Starting byebug
650
+
651
+ There is a wrapper script called `byebug` which basically `require`'s the gem
652
+ then loads `byebug` before its argument (the program to be debugged) is started.
653
+
654
+ ```
655
+ byebug [byebug-options] [--] ruby-script ruby-script-arguments
656
+ ```
657
+
658
+ If you don't need to pass dash options to your program, which might be confused
659
+ with byebug options, then you don't need to add the `--`. To get a brief list of
660
+ options and descriptions, use the `--help` option.
661
+
662
+ ```
663
+ $ byebug --help
664
+ byebug 1.4.0
665
+ Usage: byebug [options] <script.rb> -- <script.rb parameters>
666
+
667
+ Options:
668
+ -A, --annotate LEVEL Set annotation level
669
+ -d, --debug Set $DEBUG=true
670
+ -I, --include PATH Add PATH (single or multiple:path:list) to $LOAD_PATH
671
+ --no-quit Do not quit when script finishes
672
+ --no-rewrite-program Don't set $0 to the program debugged
673
+ --no-stop Do not stop when script is loaded
674
+ -nx Don't run any byebug initialization files
675
+ -r, --require SCRIPT Require library before script
676
+ --restart-script FILE Name of the script file to run. Erased after read
677
+ --script FILE Name of the script file to run
678
+ -x, --trace Turn on line tracing
679
+
680
+ Common options:
681
+ --verbose Turn on verbose mode
682
+ --help Show this message
683
+ --version Print program version
684
+ -v Print version number, then turn on verbose mode
685
+ ```
686
+
687
+ Many options appear as a long option name, such as `--help` and a short one
688
+ letter option name, such as `-h`. The list of options is detailed below:
689
+
690
+ * **-h | --help**. It causes `byebug` to print some basic help and exit
691
+ * **-v | --version**. It causes `byebug` to print its version number and
692
+ exit.
693
+ * **-A | --annotate <level>**. Set gdb-style annotation `level`, a number.
694
+ Additional information is output automatically when program state is changed.
695
+ This can be used by front-ends such as GNU Emacs to post this updated
696
+ information without having to poll for it.
697
+ * **-d | --debug**. Set `$DEBUG` to `true`. Compatible with Ruby's.
698
+ * **-I | --include <path>**. Add `path` to load path. `path` can be a single
699
+ path ar a colon separated path list.
700
+ * **-m | --post-mortem**. If your program raises an exception that isn't caught
701
+ you can enter byebug for inspection of what went wrong. You may also want to use
702
+ this option in conjunction with `--no-stop`. See also [Post-Mortem Debugging]().
703
+ * **--no-quit**. Restart `byebug` when your program terminates normally.
704
+ * **--no-rewrite-program**. Normally `byebug` will reset the program's name `$0`
705
+ from its name to the debugged program, and set the name in variable
706
+ `$BYEBUG_SCRIPT`. In the unlikely event you don't want to use this option.
707
+ * **--no-stop**. Normally `byebug` stops before executing the first statement.
708
+ If instead you want it to start running initially and perhaps break it later in
709
+ the execution, use this option.
710
+ * **--require | -r**. Require the library before executing the script. However,
711
+ if the library happened to be `debug`, we'll just ignore the require since we're
712
+ already a debugger. This option is compatible with Ruby's.
713
+ * **--script <file>**. Script to run before byebug's execution.
714
+ * **-x | --trace**. Turn on line tracing. Running `byebug --trace
715
+ <rubyscript>.rb` is pretty much like running `ruby -rtracer
716
+ <rubyscript>.rb`. If all you want to do however is get a linetrace, `tracer` is
717
+ most likely faster than `byebug`
718
+
719
+ ```
720
+ $ time ruby -rtracer old_doc/gcd.rb 24 31 >/dev/null
721
+
722
+ real 0m0.066s
723
+ user 0m0.048s
724
+ sys 0m0.016s
725
+
726
+ $ time byebug --trace old_doc/gcd.rb 24 31 >/dev/null
727
+
728
+ real 0m0.660s
729
+ user 0m0.588s
730
+ sys 0m0.056s
731
+ ```
732
+
733
+ ### Byebug default options
734
+
735
+ Byebug has many command-line options,; it seems that some people want to set
736
+ them differently from the defaults. For example, some people may want
737
+ `--no-quit` to be the default behavior. One could write a wrapper script or set
738
+ a shell alias to handle this. But `byebug` has another way to do it. Before
739
+ processing command options, if the file `$HOME/.byebugoptrc` is found, it is
740
+ loaded. If you want to set the defaults in some other way, you can put Ruby code
741
+ here and set variable `options` which is an OpenStruct. For example here's how
742
+ you'd set `-no-quit` and a personal message.
743
+
744
+ ```ruby
745
+ # This file contains how you want the default options to byebug to be set. Any
746
+ # Ruby code can be put here.
747
+ #
748
+ # byebug # Uncomment if you want to debug byebug!
749
+ options.control = false
750
+ puts "rocky's byebugrc run"
751
+ ```
752
+
753
+ Here are the default values in `options`
754
+
755
+ ```ruby
756
+ #<OpenStruct annotate=nil, no_rewrite_program=false, nx=false, quit=true,
757
+ restart_script=nil, script=nil, stop=true, tracing=false, verbose_long=false>
758
+ ```
data/README.md CHANGED
@@ -12,8 +12,7 @@ as a C extension, so it's fast. And it has a full test suite so it's (I hope)
12
12
  reliable.
13
13
 
14
14
  It allows you to see what is going on _inside_ a Ruby program while it executes
15
- and can do four main kinds of things (plus other things in support of these) to
16
- help you catch bugs in the act:
15
+ and can do four main kinds of things to help you catch bugs in the act:
17
16
 
18
17
  * Start your program or attach to it, specifying anything that might affect its
19
18
  behavior.
@@ -41,9 +40,8 @@ Simply drop
41
40
  byebug
42
41
 
43
42
  wherever you want to start debugging and the execution will stop there. If you
44
- are debugging rails, start the server in normal mode with `rails server` and
45
- once the execution get to your `byebug` command you will get a debugging
46
- terminal.
43
+ are debugging rails, start the server and once the execution get to your
44
+ `byebug` command you will get a debugging prompt.
47
45
 
48
46
  _If you are coming from debugger, notice that stopping execution using the word
49
47
  `debugger` doesn't work anymore unless you explicitly alias it._
data/bin/byebug CHANGED
@@ -28,9 +28,6 @@
28
28
  # Add <i>path</i> to <tt>$LOAD_PATH</tt>. Like the <tt>ruby -I</tt> command,
29
29
  # it supports multiple load paths separated by colons.
30
30
  #
31
- #<tt>--keep-frame-binding</tt>::
32
- # Keep frame bindings.
33
- #
34
31
  #<tt>-m | --post-mortem</tt>::
35
32
  # Activate post-mortem mode.
36
33
  #
@@ -106,14 +103,14 @@ end
106
103
 
107
104
  options = OpenStruct.new(
108
105
  'annotate' => Byebug.annotate,
109
- 'quit' => true,
110
106
  'no_rewrite_program' => false,
111
- 'stop' => true,
112
107
  'nx' => false,
108
+ 'quit' => true,
113
109
  'restart_script' => nil,
114
110
  'script' => nil,
111
+ 'stop' => true,
115
112
  'tracing' => false,
116
- 'verbose_long' => false,
113
+ 'verbose_long' => false
117
114
  )
118
115
 
119
116
  def process_options(options)
@@ -1,14 +1,13 @@
1
- require 'rubygems'
2
- require File.dirname(__FILE__) + "/lib/byebug/version"
1
+ require File.dirname(__FILE__) + '/lib/byebug/version'
3
2
 
4
3
  Gem::Specification.new do |s|
5
- s.name = %q{byebug}
6
- s.version = Byebug::VERSION
7
-
8
- s.authors = ["David Rodríguez", "Kent Sibilev", "Mark Moseley"]
9
- s.email = "deivid.rodriguez@mail.com"
10
- s.homepage = "http://github.com/deivid-rodriguez/byebug"
11
- s.summary = %q{Ruby 2.0 fast debugger - base + cli}
4
+ s.name = 'byebug'
5
+ s.version = Byebug::VERSION
6
+ s.authors = ['David Rodríguez', 'Kent Sibilev', 'Mark Moseley']
7
+ s.email = 'deivid.rodriguez@mail.com'
8
+ s.license = 'BSD'
9
+ s.homepage = 'http://github.com/deivid-rodriguez/byebug'
10
+ s.summary = %q{Ruby 2.0 fast debugger - base + cli}
12
11
  s.description = %q{Byebug is a Ruby 2.0 debugger. It's implemented using the
13
12
  Ruby 2.0 TracePoint C API for execution control and the Debug Inspector C
14
13
  API for call stack navigation. The core component provides support that
@@ -16,20 +15,19 @@ Gem::Specification.new do |s|
16
15
  stack frames among other things and it comes with an easy to use command
17
16
  line interface.}
18
17
 
19
- s.required_ruby_version = '>= 2.0.0'
20
- s.required_rubygems_version = ">= 2.0.3"
18
+ s.required_ruby_version = '>= 2.0.0'
21
19
 
22
- s.extra_rdoc_files = [ "README.md" ]
23
- s.files = `git ls-files`.split("\n")
24
- s.extensions << "ext/byebug/extconf.rb"
25
- s.executables = ["byebug"]
20
+ s.files = `git ls-files`.split("\n")
21
+ s.test_files = `git ls-files -- test/*`.split("\n")
22
+ s.executables = ['byebug']
23
+ s.extra_rdoc_files = ['README.md']
24
+ s.extensions = ['ext/byebug/extconf.rb']
26
25
 
27
26
  s.add_dependency "columnize", "~> 0.3.6"
28
27
  s.add_dependency "debugger-linecache", '~> 1.2.0'
28
+
29
29
  s.add_development_dependency 'rake', '~> 10.0.4'
30
30
  s.add_development_dependency 'rake-compiler', '~> 0.8.3'
31
31
  s.add_development_dependency 'mocha', '~> 0.14.0'
32
32
  s.add_development_dependency 'minitest', '~> 5.0.3'
33
-
34
- s.license = "BSD"
35
33
  end
@@ -197,7 +197,7 @@ Context_frame_file(int argc, VALUE *argv, VALUE self)
197
197
  VALUE loc;
198
198
 
199
199
  loc = dc_frame_location(context, frame_n);
200
- return rb_funcall(loc, rb_intern("absolute_path"), 0);
200
+ return rb_funcall(loc, rb_intern("path"), 0);
201
201
  }
202
202
 
203
203
  static VALUE
@@ -1,12 +1,16 @@
1
1
  require 'mkmf'
2
2
 
3
+ RbConfig::MAKEFILE_CONFIG['CC'] = ENV['CC'] if ENV['CC']
4
+
3
5
  if RUBY_VERSION < "2.0"
4
6
  STDERR.print("Ruby version is too old\n")
5
7
  exit(1)
6
8
  end
7
9
 
8
- $CFLAGS = '-Wall -Werror'
9
- $CFLAGS += ' -g3' if ENV['debug']
10
+ if RbConfig::MAKEFILE_CONFIG['CC'] =~ /gcc/
11
+ $CFLAGS = '-Wall -Werror'
12
+ $CFLAGS += ' -g3' if ENV['debug']
13
+ end
10
14
 
11
15
  dir_config("ruby")
12
16
  create_makefile("byebug")
@@ -173,7 +173,6 @@ module Byebug
173
173
  'show history save -- Show whether history record should be saved ' \
174
174
  'on exit' \
175
175
  'show history size -- Show the size of the command history'],
176
- ['keep-frame-bindings', 1, 'Save frame binding on each call'],
177
176
  ['linetrace', 3, 'Show line execution tracing'],
178
177
  ['linetrace+', 10,
179
178
  'Show whether different consecutive lines are shown in tracing'],
@@ -70,6 +70,8 @@ module Byebug
70
70
  # are working remotely and want to change the basename. Or we are eliding
71
71
  # filenames.
72
72
  def self.canonic_file(filename)
73
+ return '(nil)' if not filename
74
+
73
75
  # For now we want resolved filenames
74
76
  if Command.settings[:basename]
75
77
  File.basename(filename)
@@ -141,7 +143,6 @@ module Byebug
141
143
  protect :at_catchpoint
142
144
 
143
145
  def at_tracing(context, file, line)
144
- tracing_plus = Command.settings[:tracing_plus]
145
146
  if file != @last_file || line != @last_line ||
146
147
  Command.settings[:tracing_plus] == false
147
148
  @last_file = file
@@ -274,19 +275,15 @@ module Byebug
274
275
  end
275
276
 
276
277
  def preloop(commands, context)
277
- aprint('stopped') if Byebug.annotate.to_i > 2
278
- if context.dead? and not @byebug_context_was_dead
279
- if Byebug.annotate.to_i > 2
278
+ @byebug_context_was_dead = true if context.dead? and not
279
+ @byebug_context_was_dead
280
+
281
+ if Byebug.annotate.to_i > 2
282
+ aprint('stopped')
283
+ if @byebug_context_was_dead
280
284
  aprint('exited')
281
285
  print "The program finished.\n"
282
286
  end
283
- @byebug_context_was_dead = true
284
- end
285
-
286
- if Byebug.annotate.to_i > 2
287
- # if we are here, the stack frames have changed outside the command
288
- # loop (e.g. after a "continue" command), so we show the annotations
289
- # again
290
287
  breakpoint_annotations(commands, context)
291
288
  display_annotations(commands, context)
292
289
  annotation('stack', commands, context, "where")
@@ -308,8 +305,7 @@ module Byebug
308
305
  context.dead?
309
306
  end
310
307
  if not context.dead? and @@Show_annotations_run.find{|pat| cmd =~ pat}
311
- aprint 'starting' if Byebug.annotate.to_i > 2
312
-
308
+ aprint 'starting'
313
309
  @byebug_context_was_dead = false
314
310
  end
315
311
  end
@@ -1,3 +1,3 @@
1
1
  module Byebug
2
- VERSION = '1.4.0'
2
+ VERSION = '1.4.1'
3
3
  end
@@ -892,11 +892,9 @@ To be continued...
892
892
  * Command Files:: Command files
893
893
  * Quitting byebug:: How to leave byebug (quit, kill)
894
894
  * Calling from Program:: Calling byebug from inside your program
895
+ * Post-Mortem Debugging:: Enter byebug after an uncaught exception
895
896
  @end menu
896
897
 
897
- It is also possible to enter byebug when you have an uncaught exception (see
898
- @ref{Post-Mortem Debugging}).
899
-
900
898
  @node Starting byebug
901
899
  @section Starting byebug
902
900
 
@@ -0,0 +1,15 @@
1
+ # Greatest common divisor of a and b
2
+ def gcd a, b
3
+ x = [a,b].max
4
+ y = [a,b].min
5
+
6
+ while y != 0
7
+ r = x % y
8
+ x = y
9
+ y = r
10
+ end
11
+
12
+ x
13
+ end
14
+
15
+ puts gcd ARGV[0].to_i, ARGV[1].to_i
@@ -1,7 +1,5 @@
1
1
  require 'test/unit'
2
2
  require_relative 'triangle.rb'
3
- require 'byebug'
4
- Byebug.start
5
3
 
6
4
  class TestTri < Test::Unit::TestCase
7
5
  def test_basic
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: 1.4.0
4
+ version: 1.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Rodríguez
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-06-05 00:00:00.000000000 Z
13
+ date: 2013-06-15 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: columnize
@@ -165,6 +165,7 @@ files:
165
165
  - logo.png
166
166
  - old_doc/byebug.1
167
167
  - old_doc/byebug.texi
168
+ - old_doc/gcd.rb
168
169
  - old_doc/hanoi.rb
169
170
  - old_doc/primes.rb
170
171
  - old_doc/test-triangle.rb
@@ -252,11 +253,76 @@ required_rubygems_version: !ruby/object:Gem::Requirement
252
253
  requirements:
253
254
  - - '>='
254
255
  - !ruby/object:Gem::Version
255
- version: 2.0.3
256
+ version: '0'
256
257
  requirements: []
257
258
  rubyforge_project:
258
259
  rubygems_version: 2.0.3
259
260
  signing_key:
260
261
  specification_version: 4
261
262
  summary: Ruby 2.0 fast debugger - base + cli
262
- test_files: []
263
+ test_files:
264
+ - test/breakpoints_test.rb
265
+ - test/conditions_test.rb
266
+ - test/continue_test.rb
267
+ - test/display_test.rb
268
+ - test/edit_test.rb
269
+ - test/eval_test.rb
270
+ - test/examples/breakpoint1.rb
271
+ - test/examples/breakpoint2.rb
272
+ - test/examples/conditions.rb
273
+ - test/examples/continue.rb
274
+ - test/examples/display.rb
275
+ - test/examples/edit.rb
276
+ - test/examples/eval.rb
277
+ - test/examples/finish.rb
278
+ - test/examples/frame.rb
279
+ - test/examples/help.rb
280
+ - test/examples/info.rb
281
+ - test/examples/info2.rb
282
+ - test/examples/irb.rb
283
+ - test/examples/jump.rb
284
+ - test/examples/kill.rb
285
+ - test/examples/list.rb
286
+ - test/examples/method.rb
287
+ - test/examples/post_mortem.rb
288
+ - test/examples/quit.rb
289
+ - test/examples/reload.rb
290
+ - test/examples/restart.rb
291
+ - test/examples/save.rb
292
+ - test/examples/set.rb
293
+ - test/examples/set_annotate.rb
294
+ - test/examples/settings.rb
295
+ - test/examples/show.rb
296
+ - test/examples/source.rb
297
+ - test/examples/stepping.rb
298
+ - test/examples/tmate.rb
299
+ - test/examples/trace.rb
300
+ - test/examples/variables.rb
301
+ - test/finish_test.rb
302
+ - test/frame_test.rb
303
+ - test/help_test.rb
304
+ - test/info_test.rb
305
+ - test/jump_test.rb
306
+ - test/kill_test.rb
307
+ - test/list_test.rb
308
+ - test/method_test.rb
309
+ - test/post_mortem_test.rb
310
+ - test/quit_test.rb
311
+ - test/reload_test.rb
312
+ - test/repl_test.rb
313
+ - test/restart_test.rb
314
+ - test/save_test.rb
315
+ - test/set_test.rb
316
+ - test/show_test.rb
317
+ - test/source_test.rb
318
+ - test/stepping_test.rb
319
+ - test/support/breakpoint.rb
320
+ - test/support/context.rb
321
+ - test/support/matchers.rb
322
+ - test/support/mocha_extensions.rb
323
+ - test/support/processor.rb
324
+ - test/support/test_dsl.rb
325
+ - test/support/test_interface.rb
326
+ - test/test_helper.rb
327
+ - test/trace_test.rb
328
+ - test/variables_test.rb