byebug 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +10 -0
 - data/.travis.yml +8 -0
 - data/AUTHORS +10 -0
 - data/CHANGELOG.md +2 -0
 - data/CONTRIBUTING.md +1 -0
 - data/Gemfile +3 -0
 - data/LICENSE +20 -0
 - data/README.md +5 -0
 - data/Rakefile +28 -0
 - data/bin/byebug +395 -0
 - data/byebug.gemspec +29 -0
 - data/doc/hanoi.rb +35 -0
 - data/doc/primes.rb +28 -0
 - data/doc/rdebug-emacs.texi +1030 -0
 - data/doc/test-tri2.rb +18 -0
 - data/doc/tri3.rb +8 -0
 - data/doc/triangle.rb +12 -0
 - data/ext/byebug/breakpoint.c +476 -0
 - data/ext/byebug/byebug.c +512 -0
 - data/ext/byebug/byebug.h +131 -0
 - data/ext/byebug/context.c +424 -0
 - data/ext/byebug/extconf.rb +21 -0
 - data/ext/byebug/locker.c +53 -0
 - data/lib/byebug.rb +404 -0
 - data/lib/byebug/command.rb +232 -0
 - data/lib/byebug/commands/breakpoints.rb +153 -0
 - data/lib/byebug/commands/catchpoint.rb +56 -0
 - data/lib/byebug/commands/condition.rb +49 -0
 - data/lib/byebug/commands/continue.rb +38 -0
 - data/lib/byebug/commands/control.rb +110 -0
 - data/lib/byebug/commands/display.rb +122 -0
 - data/lib/byebug/commands/edit.rb +48 -0
 - data/lib/byebug/commands/enable.rb +202 -0
 - data/lib/byebug/commands/eval.rb +176 -0
 - data/lib/byebug/commands/finish.rb +43 -0
 - data/lib/byebug/commands/frame.rb +303 -0
 - data/lib/byebug/commands/help.rb +56 -0
 - data/lib/byebug/commands/info.rb +462 -0
 - data/lib/byebug/commands/irb.rb +123 -0
 - data/lib/byebug/commands/jump.rb +66 -0
 - data/lib/byebug/commands/kill.rb +51 -0
 - data/lib/byebug/commands/list.rb +94 -0
 - data/lib/byebug/commands/method.rb +84 -0
 - data/lib/byebug/commands/quit.rb +39 -0
 - data/lib/byebug/commands/reload.rb +40 -0
 - data/lib/byebug/commands/save.rb +90 -0
 - data/lib/byebug/commands/set.rb +210 -0
 - data/lib/byebug/commands/show.rb +246 -0
 - data/lib/byebug/commands/skip.rb +35 -0
 - data/lib/byebug/commands/source.rb +36 -0
 - data/lib/byebug/commands/stepping.rb +83 -0
 - data/lib/byebug/commands/threads.rb +189 -0
 - data/lib/byebug/commands/tmate.rb +36 -0
 - data/lib/byebug/commands/trace.rb +56 -0
 - data/lib/byebug/commands/variables.rb +199 -0
 - data/lib/byebug/context.rb +58 -0
 - data/lib/byebug/helper.rb +69 -0
 - data/lib/byebug/interface.rb +223 -0
 - data/lib/byebug/processor.rb +468 -0
 - data/lib/byebug/version.rb +3 -0
 - data/man/rdebug.1 +241 -0
 - data/test/breakpoints_test.rb +357 -0
 - data/test/conditions_test.rb +77 -0
 - data/test/continue_test.rb +44 -0
 - data/test/display_test.rb +141 -0
 - data/test/edit_test.rb +56 -0
 - data/test/eval_test.rb +92 -0
 - data/test/examples/breakpoint1.rb +15 -0
 - data/test/examples/breakpoint2.rb +7 -0
 - data/test/examples/conditions.rb +4 -0
 - data/test/examples/continue.rb +4 -0
 - data/test/examples/display.rb +5 -0
 - data/test/examples/edit.rb +3 -0
 - data/test/examples/edit2.rb +3 -0
 - data/test/examples/eval.rb +4 -0
 - data/test/examples/finish.rb +20 -0
 - data/test/examples/frame.rb +20 -0
 - data/test/examples/frame_threads.rb +31 -0
 - data/test/examples/help.rb +2 -0
 - data/test/examples/info.rb +38 -0
 - data/test/examples/info2.rb +3 -0
 - data/test/examples/info_threads.rb +48 -0
 - data/test/examples/irb.rb +6 -0
 - data/test/examples/jump.rb +14 -0
 - data/test/examples/kill.rb +2 -0
 - data/test/examples/list.rb +12 -0
 - data/test/examples/method.rb +15 -0
 - data/test/examples/post_mortem.rb +19 -0
 - data/test/examples/quit.rb +2 -0
 - data/test/examples/reload.rb +6 -0
 - data/test/examples/restart.rb +6 -0
 - data/test/examples/save.rb +3 -0
 - data/test/examples/set.rb +3 -0
 - data/test/examples/set_annotate.rb +12 -0
 - data/test/examples/settings.rb +1 -0
 - data/test/examples/show.rb +2 -0
 - data/test/examples/source.rb +3 -0
 - data/test/examples/stepping.rb +21 -0
 - data/test/examples/thread.rb +32 -0
 - data/test/examples/tmate.rb +10 -0
 - data/test/examples/trace.rb +7 -0
 - data/test/examples/trace_threads.rb +20 -0
 - data/test/examples/variables.rb +26 -0
 - data/test/finish_test.rb +48 -0
 - data/test/frame_test.rb +143 -0
 - data/test/help_test.rb +50 -0
 - data/test/info_test.rb +313 -0
 - data/test/irb_test.rb +81 -0
 - data/test/jump_test.rb +70 -0
 - data/test/kill_test.rb +48 -0
 - data/test/list_test.rb +145 -0
 - data/test/method_test.rb +70 -0
 - data/test/post_mortem_test.rb +27 -0
 - data/test/quit_test.rb +56 -0
 - data/test/reload_test.rb +44 -0
 - data/test/restart_test.rb +164 -0
 - data/test/save_test.rb +92 -0
 - data/test/set_test.rb +177 -0
 - data/test/show_test.rb +293 -0
 - data/test/source_test.rb +45 -0
 - data/test/stepping_test.rb +130 -0
 - data/test/support/breakpoint.rb +13 -0
 - data/test/support/context.rb +14 -0
 - data/test/support/matchers.rb +67 -0
 - data/test/support/mocha_extensions.rb +72 -0
 - data/test/support/processor.rb +7 -0
 - data/test/support/test_dsl.rb +206 -0
 - data/test/support/test_interface.rb +68 -0
 - data/test/test_helper.rb +10 -0
 - data/test/tmate_test.rb +44 -0
 - data/test/trace_test.rb +159 -0
 - data/test/variables_test.rb +119 -0
 - metadata +265 -0
 
| 
         @@ -0,0 +1,31 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            byebug
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            @should_break = false
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            t = Thread.new do
         
     | 
| 
      
 6 
     | 
    
         
            +
              while !@should_break
         
     | 
| 
      
 7 
     | 
    
         
            +
                A.new.a
         
     | 
| 
      
 8 
     | 
    
         
            +
                sleep 0.1
         
     | 
| 
      
 9 
     | 
    
         
            +
              end
         
     | 
| 
      
 10 
     | 
    
         
            +
            end
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            class A
         
     | 
| 
      
 13 
     | 
    
         
            +
              def a
         
     | 
| 
      
 14 
     | 
    
         
            +
                b
         
     | 
| 
      
 15 
     | 
    
         
            +
              end
         
     | 
| 
      
 16 
     | 
    
         
            +
              def b
         
     | 
| 
      
 17 
     | 
    
         
            +
                c
         
     | 
| 
      
 18 
     | 
    
         
            +
                2
         
     | 
| 
      
 19 
     | 
    
         
            +
              end
         
     | 
| 
      
 20 
     | 
    
         
            +
              def c
         
     | 
| 
      
 21 
     | 
    
         
            +
                d('a')
         
     | 
| 
      
 22 
     | 
    
         
            +
                3
         
     | 
| 
      
 23 
     | 
    
         
            +
              end
         
     | 
| 
      
 24 
     | 
    
         
            +
              def d(e)
         
     | 
| 
      
 25 
     | 
    
         
            +
                5
         
     | 
| 
      
 26 
     | 
    
         
            +
              end
         
     | 
| 
      
 27 
     | 
    
         
            +
            end
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
            A.new.a
         
     | 
| 
      
 30 
     | 
    
         
            +
            @should_break = true
         
     | 
| 
      
 31 
     | 
    
         
            +
            t.join
         
     | 
| 
         @@ -0,0 +1,38 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            byebug
         
     | 
| 
      
 2 
     | 
    
         
            +
            def bla(a, b)
         
     | 
| 
      
 3 
     | 
    
         
            +
              a + b
         
     | 
| 
      
 4 
     | 
    
         
            +
            end
         
     | 
| 
      
 5 
     | 
    
         
            +
            2
         
     | 
| 
      
 6 
     | 
    
         
            +
            3
         
     | 
| 
      
 7 
     | 
    
         
            +
            4
         
     | 
| 
      
 8 
     | 
    
         
            +
            5
         
     | 
| 
      
 9 
     | 
    
         
            +
            6
         
     | 
| 
      
 10 
     | 
    
         
            +
            bla("a" * 30, "b")
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            class A
         
     | 
| 
      
 13 
     | 
    
         
            +
              def initialize
         
     | 
| 
      
 14 
     | 
    
         
            +
                @foo = "bar"
         
     | 
| 
      
 15 
     | 
    
         
            +
                @bla = "blabla"
         
     | 
| 
      
 16 
     | 
    
         
            +
              end
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
              def a
         
     | 
| 
      
 19 
     | 
    
         
            +
                a = "1" * 30
         
     | 
| 
      
 20 
     | 
    
         
            +
                b = 2
         
     | 
| 
      
 21 
     | 
    
         
            +
                @foo
         
     | 
| 
      
 22 
     | 
    
         
            +
              end
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
              def c
         
     | 
| 
      
 25 
     | 
    
         
            +
                a = BasicObject.new
         
     | 
| 
      
 26 
     | 
    
         
            +
                a
         
     | 
| 
      
 27 
     | 
    
         
            +
              end
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
              def b
         
     | 
| 
      
 30 
     | 
    
         
            +
                a
         
     | 
| 
      
 31 
     | 
    
         
            +
                e = "%.2f"
         
     | 
| 
      
 32 
     | 
    
         
            +
                e
         
     | 
| 
      
 33 
     | 
    
         
            +
              end
         
     | 
| 
      
 34 
     | 
    
         
            +
            end
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
            A.new.b
         
     | 
| 
      
 37 
     | 
    
         
            +
            A.new.a
         
     | 
| 
      
 38 
     | 
    
         
            +
            A.new.c
         
     | 
| 
         @@ -0,0 +1,48 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            byebug
         
     | 
| 
      
 2 
     | 
    
         
            +
            def bla(a, b)
         
     | 
| 
      
 3 
     | 
    
         
            +
              a + b
         
     | 
| 
      
 4 
     | 
    
         
            +
            end
         
     | 
| 
      
 5 
     | 
    
         
            +
            2
         
     | 
| 
      
 6 
     | 
    
         
            +
            3
         
     | 
| 
      
 7 
     | 
    
         
            +
            4
         
     | 
| 
      
 8 
     | 
    
         
            +
            5
         
     | 
| 
      
 9 
     | 
    
         
            +
            6
         
     | 
| 
      
 10 
     | 
    
         
            +
            bla("a" * 30, "b")
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            class A
         
     | 
| 
      
 13 
     | 
    
         
            +
              def initialize
         
     | 
| 
      
 14 
     | 
    
         
            +
                @foo = "bar"
         
     | 
| 
      
 15 
     | 
    
         
            +
                @bla = "blabla"
         
     | 
| 
      
 16 
     | 
    
         
            +
              end
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
              def a
         
     | 
| 
      
 19 
     | 
    
         
            +
                a = "1" * 30
         
     | 
| 
      
 20 
     | 
    
         
            +
                b = 2
         
     | 
| 
      
 21 
     | 
    
         
            +
                @foo
         
     | 
| 
      
 22 
     | 
    
         
            +
              end
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
              def c
         
     | 
| 
      
 25 
     | 
    
         
            +
                a = BasicObject.new
         
     | 
| 
      
 26 
     | 
    
         
            +
                a
         
     | 
| 
      
 27 
     | 
    
         
            +
              end
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
              def b
         
     | 
| 
      
 30 
     | 
    
         
            +
                a
         
     | 
| 
      
 31 
     | 
    
         
            +
                e = "%.2f"
         
     | 
| 
      
 32 
     | 
    
         
            +
                e
         
     | 
| 
      
 33 
     | 
    
         
            +
              end
         
     | 
| 
      
 34 
     | 
    
         
            +
            end
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
            @break = false
         
     | 
| 
      
 37 
     | 
    
         
            +
            t1 = Thread.new do
         
     | 
| 
      
 38 
     | 
    
         
            +
              while true
         
     | 
| 
      
 39 
     | 
    
         
            +
                break if @break
         
     | 
| 
      
 40 
     | 
    
         
            +
                sleep 0.02
         
     | 
| 
      
 41 
     | 
    
         
            +
              end
         
     | 
| 
      
 42 
     | 
    
         
            +
            end
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
            A.new.b
         
     | 
| 
      
 45 
     | 
    
         
            +
            A.new.a
         
     | 
| 
      
 46 
     | 
    
         
            +
            A.new.c
         
     | 
| 
      
 47 
     | 
    
         
            +
            @break = true
         
     | 
| 
      
 48 
     | 
    
         
            +
            t1.join
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            byebug
         
     | 
| 
         @@ -0,0 +1,32 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            byebug
         
     | 
| 
      
 2 
     | 
    
         
            +
            class ThreadExample
         
     | 
| 
      
 3 
     | 
    
         
            +
              def initialize
         
     | 
| 
      
 4 
     | 
    
         
            +
                Thread.main[:should_break] = false
         
     | 
| 
      
 5 
     | 
    
         
            +
              end
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
              def launch
         
     | 
| 
      
 8 
     | 
    
         
            +
                @t1 = Thread.new do
         
     | 
| 
      
 9 
     | 
    
         
            +
                  while true
         
     | 
| 
      
 10 
     | 
    
         
            +
                    break if Thread.main[:should_break]
         
     | 
| 
      
 11 
     | 
    
         
            +
                    sleep 0.02
         
     | 
| 
      
 12 
     | 
    
         
            +
                  end
         
     | 
| 
      
 13 
     | 
    
         
            +
                end
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                @t2 = Thread.new do
         
     | 
| 
      
 16 
     | 
    
         
            +
                  while true
         
     | 
| 
      
 17 
     | 
    
         
            +
                    sleep 0.02
         
     | 
| 
      
 18 
     | 
    
         
            +
                  end
         
     | 
| 
      
 19 
     | 
    
         
            +
                end
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
                @t1.join
         
     | 
| 
      
 22 
     | 
    
         
            +
                Thread.main[:should_break]
         
     | 
| 
      
 23 
     | 
    
         
            +
              end
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
              def kill
         
     | 
| 
      
 26 
     | 
    
         
            +
                @t2.kill
         
     | 
| 
      
 27 
     | 
    
         
            +
              end
         
     | 
| 
      
 28 
     | 
    
         
            +
            end
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
            t = ThreadExample.new
         
     | 
| 
      
 31 
     | 
    
         
            +
            t.launch
         
     | 
| 
      
 32 
     | 
    
         
            +
            t.kill
         
     | 
| 
         @@ -0,0 +1,26 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            byebug
         
     | 
| 
      
 2 
     | 
    
         
            +
            class VariablesExample
         
     | 
| 
      
 3 
     | 
    
         
            +
              SOMECONST = 'foo' unless defined?(SOMECONST)
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
              def initialize
         
     | 
| 
      
 6 
     | 
    
         
            +
                $glob = 100
         
     | 
| 
      
 7 
     | 
    
         
            +
                @inst_a = 1
         
     | 
| 
      
 8 
     | 
    
         
            +
                @inst_b = 2
         
     | 
| 
      
 9 
     | 
    
         
            +
                @inst_c = "1" * 40
         
     | 
| 
      
 10 
     | 
    
         
            +
                @inst_d = BasicObject.new
         
     | 
| 
      
 11 
     | 
    
         
            +
                @@class_c = 3
         
     | 
| 
      
 12 
     | 
    
         
            +
              end
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
              def run
         
     | 
| 
      
 15 
     | 
    
         
            +
                a = 4
         
     | 
| 
      
 16 
     | 
    
         
            +
                b = [1, 2, 3].map do |i|
         
     | 
| 
      
 17 
     | 
    
         
            +
                  a * i
         
     | 
| 
      
 18 
     | 
    
         
            +
                end
         
     | 
| 
      
 19 
     | 
    
         
            +
                b
         
     | 
| 
      
 20 
     | 
    
         
            +
              end
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
            end
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
            v = VariablesExample.new
         
     | 
| 
      
 25 
     | 
    
         
            +
            v.run
         
     | 
| 
      
 26 
     | 
    
         
            +
            v
         
     |