debase 0.2.1 → 0.2.2.beta1

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: 3ae7ee5a28642982913f3226bc0c2100be9cc11c
4
- data.tar.gz: c596d74c80ca1a043754f5dc4522a56de67ad39c
3
+ metadata.gz: 0a204eeb87e5c5825daab8bd4c2227232bdd3ecf
4
+ data.tar.gz: b1388e1f9c6e8742f77f4f2f1846fda3ead02e2a
5
5
  SHA512:
6
- metadata.gz: 6b683ad8fd2b2f91882e6a9912eb72e78755bb216c9d6bd9917f6e4b1c128742c966c1f239385ad44c486562be07d855900f4247ef5894b783923be7cda6d241
7
- data.tar.gz: 1676ca16289abf833fd3855b7a20fdd9830d9b30580f58b0f359dccc8839f5da02fe7b825b96f29fe872f3f3384f92e32432b6a396c210830f4228d3da3926ae
6
+ metadata.gz: 1bbfedb73da5c7bc16e49731ccabade30e09a2713e09708ba7aab85d982c06e3661f08c68712b76c779068253047ded44c31b518900bea9653ede6111dc18169
7
+ data.tar.gz: 08f470b94fc465b657eefc74af3a7a0cc4b647fe017cf85d5b52f8f451dda5effa9ede5e92284d3c8a6e0dddc4c03342f4157f3eb6e9f9ebfef02a47fd1cafe9
@@ -333,12 +333,12 @@ Context_stop_frame(VALUE self, VALUE frame)
333
333
  debug_context_t *debug_context;
334
334
 
335
335
  Data_Get_Struct(self, debug_context_t, debug_context);
336
- if(FIX2INT(frame) < 0 && FIX2INT(frame) >= debug_context->stack_size)
336
+ if(FIX2INT(frame) < 0 && FIX2INT(frame) >= debug_context->calced_stack_size)
337
337
  rb_raise(rb_eRuntimeError, "Stop frame is out of range.");
338
338
  /* we decrease stack size by frame and 1 because we use stop_frame after
339
339
  updating stack size. If that code will be changed this should be changed accordingly.
340
340
  */
341
- debug_context->stop_frame = debug_context->stack_size - FIX2INT(frame) - 1;
341
+ debug_context->stop_frame = debug_context->calced_stack_size - FIX2INT(frame) - 1;
342
342
 
343
343
  return frame;
344
344
  }
@@ -298,7 +298,7 @@ process_return_event(VALUE trace_point, void *data)
298
298
  /* it is important to check stop_frame after stack size updated
299
299
  if the order will be changed change Context_stop_frame accordingly.
300
300
  */
301
- if(context->stack_size == context->stop_frame)
301
+ if(context->calced_stack_size == context->stop_frame)
302
302
  {
303
303
  context->stop_next = 1;
304
304
  context->stop_frame = -1;
@@ -385,7 +385,6 @@ Debase_setup_tracepoints(VALUE self)
385
385
  process_call_event, NULL);
386
386
  rb_tracepoint_enable(tpCall);
387
387
  tpRaise = rb_tracepoint_new(Qnil, RUBY_EVENT_RAISE, process_raise_event, NULL);
388
- rb_tracepoint_enable(tpRaise);
389
388
  Debase_current_context(self);
390
389
 
391
390
  return Qnil;
@@ -511,6 +510,18 @@ Debase_set_verbose(VALUE self, VALUE value)
511
510
  return value;
512
511
  }
513
512
 
513
+ /*
514
+ * call-seq:
515
+ * Debase.tp_raise -> TracePoint
516
+ *
517
+ * Returns trace point we use to track :raise events
518
+ */
519
+ static VALUE
520
+ Debase_get_tp_raise(VALUE self)
521
+ {
522
+ return tpRaise;
523
+ }
524
+
514
525
  /*
515
526
  * Document-class: Debase
516
527
  *
@@ -530,6 +541,7 @@ Init_debase_internals()
530
541
  rb_define_module_function(mDebase, "contexts", Debase_contexts, 0);
531
542
  rb_define_module_function(mDebase, "breakpoints", Debase_breakpoints, 0);
532
543
  rb_define_module_function(mDebase, "catchpoints", Debase_catchpoints, 0);
544
+ rb_define_module_function(mDebase, "tp_raise", Debase_get_tp_raise, 0);
533
545
  rb_define_module_function(mDebase, "started?", Debase_started, 0);
534
546
  rb_define_module_function(mDebase, "verbose?", Debase_verbose, 0);
535
547
  rb_define_module_function(mDebase, "verbose=", Debase_set_verbose, 1);
@@ -48,6 +48,17 @@ module Debase
48
48
 
49
49
  def add_catchpoint(exception)
50
50
  catchpoints[exception] = 0
51
+ tp_raise.enable
52
+ end
53
+
54
+ def remove_catchpoint(exception)
55
+ catchpoints.delete(exception)
56
+ tp_raise.disable if catchpoints.empty?
57
+ end
58
+
59
+ def clear_catchpoints
60
+ catchpoints.clear
61
+ tp_raise.disable
51
62
  end
52
63
 
53
64
  #call-seq:
@@ -1,3 +1,3 @@
1
1
  module Debase
2
- VERSION = "0.2.1" unless defined? VERSION
2
+ VERSION = "0.2.2.beta1" unless defined? VERSION
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: debase
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dennis Ushakov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-19 00:00:00.000000000 Z
11
+ date: 2015-09-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: debase-ruby_core_source
@@ -125,12 +125,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
125
125
  version: '0'
126
126
  required_rubygems_version: !ruby/object:Gem::Requirement
127
127
  requirements:
128
- - - ">="
128
+ - - ">"
129
129
  - !ruby/object:Gem::Version
130
- version: '0'
130
+ version: 1.3.1
131
131
  requirements: []
132
132
  rubyforge_project: debase
133
- rubygems_version: 2.2.2
133
+ rubygems_version: 2.4.5.1
134
134
  signing_key:
135
135
  specification_version: 4
136
136
  summary: debase is a fast implementation of the standard Ruby debugger debug.rb for