debase 0.2.5.beta1 → 0.2.5.beta2
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.
- checksums.yaml +4 -4
- data/.travis.yml +19 -8
- data/README.md +5 -8
- data/debase.gemspec +5 -7
- data/ext/breakpoint.c +6 -1
- data/ext/debase_internals.c +3 -1
- data/ext/debase_internals.h +10 -0
- data/ext/extconf.rb +4 -2
- data/lib/debase/version.rb +1 -1
- data/test/test_base.rb +1 -1
- data/test/test_catchpoint.rb +1 -1
- data/test/test_load.rb +3 -0
- metadata +9 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f72fc7418f0d2523e9994f16a2a9a42192cca366056373fe14bc1757d01eb5f1
|
4
|
+
data.tar.gz: c4c75cfc0116c4f9aa5a3a8d031e13f04c296d2045079e8d4c77a6b289f02c49
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 90bbed3a6fd7bde7e68cc204d0fbdf22dbc0c3df1dedd24437960ab565deb52f5675a33ef00df0f8f89ca5f6134f9561d4cd0ff51b3391c1b9aa8d96e7497190
|
7
|
+
data.tar.gz: 5591bc6a7f129ca7599387d54dcc98a7ce1cc76a69457e6b8a03080c033cd235afd5c6c8eb5c54e3b7a7f66e087122837f8429d8e38d0d2473c92eb86ea15df2
|
data/.travis.yml
CHANGED
@@ -2,19 +2,30 @@ language: ruby
|
|
2
2
|
os:
|
3
3
|
- linux
|
4
4
|
- osx
|
5
|
-
before_install:
|
6
|
-
- gem install bundler
|
7
5
|
rvm:
|
8
|
-
- 2.0
|
6
|
+
- 2.0
|
9
7
|
- 2.1
|
10
8
|
- 2.2
|
11
9
|
- 2.3
|
12
|
-
- 2.4
|
13
|
-
- 2.5
|
14
|
-
- 2.6
|
10
|
+
- 2.4
|
11
|
+
- 2.5
|
12
|
+
- 2.6
|
13
|
+
- 2.7
|
14
|
+
- 3.0
|
15
15
|
- ruby-head
|
16
16
|
|
17
17
|
matrix:
|
18
18
|
exclude:
|
19
|
-
|
20
|
-
|
19
|
+
- os: osx
|
20
|
+
rvm: 2.0
|
21
|
+
- os: osx
|
22
|
+
rvm: 2.1
|
23
|
+
- os: osx
|
24
|
+
rvm: 2.2
|
25
|
+
- os: osx
|
26
|
+
rvm: 2.3
|
27
|
+
allow_failures:
|
28
|
+
- os: osx
|
29
|
+
rvm: 3.0
|
30
|
+
- os: osx
|
31
|
+
rvm: ruby-head
|
data/README.md
CHANGED
@@ -1,17 +1,14 @@
|
|
1
1
|
[gem]: https://rubygems.org/gems/debase
|
2
|
-
[travis]: https://travis-ci.org/denofevil/debase
|
3
|
-
[jb_badges]: https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub
|
4
2
|
|
5
|
-
|
3
|
+
[travis]: https://travis-ci.org/ruby-debug/debase
|
4
|
+
|
6
5
|
[][gem]
|
7
|
-
[][jb_badges]
|
6
|
+
[][travis]
|
9
7
|
|
10
8
|
## Overview
|
11
9
|
|
12
|
-
debase is a fast implementation of the standard debugger debug.rb for
|
13
|
-
|
14
|
-
by utilizing a TracePoint mechanism in the Ruby C API.
|
10
|
+
debase is a fast implementation of the standard debugger debug.rb for Ruby 2.0.0. The faster execution speed and 2.0.0
|
11
|
+
compatibility is achieved by utilizing a TracePoint mechanism in the Ruby C API.
|
15
12
|
|
16
13
|
## Requirements
|
17
14
|
|
data/debase.gemspec
CHANGED
@@ -6,19 +6,17 @@ Gem::Specification.new do |s|
|
|
6
6
|
s.name = "debase"
|
7
7
|
s.version = Debase::VERSION
|
8
8
|
s.license = "MIT"
|
9
|
-
s.authors = ["Dennis Ushakov"]
|
10
|
-
s.email = ["dennis.ushakov@gmail.com"]
|
11
|
-
s.homepage = "https://github.com/
|
9
|
+
s.authors = ["Alexandr Evstigneev", "Dennis Ushakov"]
|
10
|
+
s.email = ["hurricup@gmail.com", "dennis.ushakov@gmail.com"]
|
11
|
+
s.homepage = "https://github.com/ruby-debug/debase"
|
12
12
|
s.summary = %q{debase is a fast implementation of the standard Ruby debugger debug.rb for Ruby 2.0}
|
13
13
|
s.description = <<-EOF
|
14
|
-
debase is a fast implementation of the standard Ruby debugger debug.rb for Ruby 2.0
|
14
|
+
debase is a fast implementation of the standard Ruby debugger debug.rb for Ruby 2.0+.
|
15
15
|
It is implemented by utilizing a new Ruby TracePoint class. The core component
|
16
16
|
provides support that front-ends can build on. It provides breakpoint
|
17
17
|
handling, bindings for stack frames among other things.
|
18
18
|
EOF
|
19
19
|
|
20
|
-
s.rubyforge_project = "debase"
|
21
|
-
|
22
20
|
s.files = `git ls-files`.split("\n")
|
23
21
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
24
22
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
@@ -28,7 +26,7 @@ Gem::Specification.new do |s|
|
|
28
26
|
|
29
27
|
s.required_ruby_version = ">= 2.0"
|
30
28
|
|
31
|
-
s.add_dependency "debase-ruby_core_source", ">= 0.10.
|
29
|
+
s.add_dependency "debase-ruby_core_source", ">= 0.10.12"
|
32
30
|
s.add_development_dependency "test-unit"
|
33
31
|
s.add_development_dependency "rake"
|
34
32
|
end
|
data/ext/breakpoint.c
CHANGED
@@ -257,7 +257,12 @@ check_breakpoint_expr(VALUE breakpoint_object, VALUE trace_point)
|
|
257
257
|
|
258
258
|
args = rb_ary_new3(2, breakpoint->expr, binding);
|
259
259
|
result = rb_protect(eval_expression, args, &error);
|
260
|
-
|
260
|
+
if(error){
|
261
|
+
rb_set_errinfo(Qnil);
|
262
|
+
return 0;
|
263
|
+
}
|
264
|
+
|
265
|
+
return RTEST(result);
|
261
266
|
}
|
262
267
|
|
263
268
|
static VALUE
|
data/ext/debase_internals.c
CHANGED
@@ -594,7 +594,9 @@ Debase_debug_load(int argc, VALUE *argv, VALUE self)
|
|
594
594
|
rb_load_protect(file, 0, &state);
|
595
595
|
if (0 != state)
|
596
596
|
{
|
597
|
-
|
597
|
+
VALUE error_info = rb_errinfo();
|
598
|
+
rb_set_errinfo(Qnil);
|
599
|
+
return error_info;
|
598
600
|
}
|
599
601
|
return Qnil;
|
600
602
|
}
|
data/ext/debase_internals.h
CHANGED
@@ -4,6 +4,16 @@
|
|
4
4
|
#include "ruby.h"
|
5
5
|
#include "ruby/debug.h"
|
6
6
|
|
7
|
+
#include <version.h>
|
8
|
+
#if RUBY_API_VERSION_CODE == 20500
|
9
|
+
#include <vm_core.h>
|
10
|
+
#include <iseq.h>
|
11
|
+
#endif
|
12
|
+
|
13
|
+
#if RUBY_API_VERSION_CODE >= 30000
|
14
|
+
#include <internal/hash.h>
|
15
|
+
#endif
|
16
|
+
|
7
17
|
typedef struct rb_trace_arg_struct rb_trace_point_t;
|
8
18
|
|
9
19
|
/* Debase::Context */
|
data/ext/extconf.rb
CHANGED
@@ -40,9 +40,11 @@ hdrs = proc {
|
|
40
40
|
config_file = File.join(File.dirname(__FILE__), 'config_options.rb')
|
41
41
|
load config_file if File.exist?(config_file)
|
42
42
|
|
43
|
+
$CFLAGS += ' -Werror=implicit-function-declaration'
|
44
|
+
|
43
45
|
if ENV['debase_debug']
|
44
|
-
$CFLAGS+=' -Wall -Werror'
|
45
|
-
$CFLAGS+=' -g3'
|
46
|
+
$CFLAGS += ' -Wall -Werror'
|
47
|
+
$CFLAGS += ' -g3'
|
46
48
|
end
|
47
49
|
|
48
50
|
dir_config("ruby")
|
data/lib/debase/version.rb
CHANGED
data/test/test_base.rb
CHANGED
@@ -25,7 +25,7 @@ class TestRubyDebug < Test::Unit::TestCase
|
|
25
25
|
# File.basename(Debugger.current_context.frame_file))
|
26
26
|
# assert_raises(ArgumentError) {Debugger.current_context.frame_file(1, 2)}
|
27
27
|
# assert_raises(ArgumentError) {Debugger.current_context.frame_file(15)}
|
28
|
-
assert_equal(19, Debugger.current_context.stack_size)
|
28
|
+
# assert_equal(19, Debugger.current_context.stack_size)
|
29
29
|
# assert_equal(TestRubyDebug, Debugger.current_context.frame_class)
|
30
30
|
assert_equal(false, Debugger.current_context.dead?, 'Not dead yet!')
|
31
31
|
ensure
|
data/test/test_catchpoint.rb
CHANGED
@@ -5,7 +5,7 @@ require File.expand_path("helper", File.dirname(__FILE__))
|
|
5
5
|
|
6
6
|
class TestRubyDebugCatchpoint < Test::Unit::TestCase
|
7
7
|
def test_catchpoints
|
8
|
-
|
8
|
+
assert_equal({}, Debugger.catchpoints)
|
9
9
|
Debugger.start_
|
10
10
|
assert_equal({}, Debugger.catchpoints)
|
11
11
|
Debugger.add_catchpoint('ZeroDivisionError')
|
data/test/test_load.rb
CHANGED
@@ -24,6 +24,9 @@ class TestDebugLoad < Test::Unit::TestCase
|
|
24
24
|
|
25
25
|
# Without stopping
|
26
26
|
bt = Debugger.debug_load(prog_script, false)
|
27
|
+
if !bt.nil? && bt.is_a?(Exception)
|
28
|
+
STDERR.puts bt.backtrace.join("\n")
|
29
|
+
end
|
27
30
|
assert_equal(nil, bt)
|
28
31
|
assert(Debugger.started?)
|
29
32
|
Debugger.stop
|
metadata
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: debase
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.5.
|
4
|
+
version: 0.2.5.beta2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
+
- Alexandr Evstigneev
|
7
8
|
- Dennis Ushakov
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date:
|
12
|
+
date: 2021-01-12 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: debase-ruby_core_source
|
@@ -16,14 +17,14 @@ dependencies:
|
|
16
17
|
requirements:
|
17
18
|
- - ">="
|
18
19
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.10.
|
20
|
+
version: 0.10.12
|
20
21
|
type: :runtime
|
21
22
|
prerelease: false
|
22
23
|
version_requirements: !ruby/object:Gem::Requirement
|
23
24
|
requirements:
|
24
25
|
- - ">="
|
25
26
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.10.
|
27
|
+
version: 0.10.12
|
27
28
|
- !ruby/object:Gem::Dependency
|
28
29
|
name: test-unit
|
29
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -53,11 +54,12 @@ dependencies:
|
|
53
54
|
- !ruby/object:Gem::Version
|
54
55
|
version: '0'
|
55
56
|
description: |2
|
56
|
-
debase is a fast implementation of the standard Ruby debugger debug.rb for Ruby 2.0
|
57
|
+
debase is a fast implementation of the standard Ruby debugger debug.rb for Ruby 2.0+.
|
57
58
|
It is implemented by utilizing a new Ruby TracePoint class. The core component
|
58
59
|
provides support that front-ends can build on. It provides breakpoint
|
59
60
|
handling, bindings for stack frames among other things.
|
60
61
|
email:
|
62
|
+
- hurricup@gmail.com
|
61
63
|
- dennis.ushakov@gmail.com
|
62
64
|
executables: []
|
63
65
|
extensions:
|
@@ -117,7 +119,7 @@ files:
|
|
117
119
|
- test/test_catchpoint.rb
|
118
120
|
- test/test_load.rb
|
119
121
|
- test/test_reload_bug.rb
|
120
|
-
homepage: https://github.com/
|
122
|
+
homepage: https://github.com/ruby-debug/debase
|
121
123
|
licenses:
|
122
124
|
- MIT
|
123
125
|
metadata: {}
|
@@ -136,7 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
136
138
|
- !ruby/object:Gem::Version
|
137
139
|
version: 1.3.1
|
138
140
|
requirements: []
|
139
|
-
rubygems_version: 3.
|
141
|
+
rubygems_version: 3.1.4
|
140
142
|
signing_key:
|
141
143
|
specification_version: 4
|
142
144
|
summary: debase is a fast implementation of the standard Ruby debugger debug.rb for
|