trace_tree 0.3.4 → 0.3.6
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/.gitignore +1 -1
- data/Gemfile.lock +39 -0
- data/lib/trace_tree/point/ccall_kernel_extend.rb +1 -1
- data/lib/trace_tree/point/ccall_module_include.rb +1 -1
- data/lib/trace_tree/point/ccall_module_prepend.rb +1 -1
- data/lib/trace_tree/point.rb +19 -22
- data/lib/trace_tree/version.rb +1 -1
- data/lib/trace_tree.rb +4 -3
- data/trace_tree.gemspec +1 -1
- metadata +12 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2e25619d4cd4911fa6248e38af2f84091885e7cd7d9093904bc2867ebabf9ddc
|
4
|
+
data.tar.gz: 0d86d05a65e21f29445a4592551fa4c796e2b05d080c51524323792be673e82b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3ca5976e6b6008403116961966cf257a36fcb8ff23bddbd240dbacd1096c39da42f5cdc4bb247d3cdc7c6468147b2bf010668de943f856e73e55f7305e48e8b9
|
7
|
+
data.tar.gz: f145a4f9bc64aa48c7d75ddc1f61178dbe548b5e14815fd460de4d113cd72ec182f0a067122893284049412a0f4f8d7fb9a3d9fcbb333d2205fbbcbc97d7c81c
|
data/.gitignore
CHANGED
data/Gemfile.lock
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
trace_tree (0.3.5)
|
5
|
+
binding_of_callers (~> 0.2.3)
|
6
|
+
tree_graph (~> 0.2.4)
|
7
|
+
tree_html (~> 0.1.10)
|
8
|
+
|
9
|
+
GEM
|
10
|
+
remote: https://rubygems.org/
|
11
|
+
specs:
|
12
|
+
binding_of_caller (1.0.0)
|
13
|
+
debug_inspector (>= 0.0.1)
|
14
|
+
binding_of_callers (0.2.3)
|
15
|
+
binding_of_caller (~> 1.0)
|
16
|
+
pry (>= 0.10.0)
|
17
|
+
coderay (1.1.3)
|
18
|
+
debug_inspector (1.1.0)
|
19
|
+
method_source (1.0.0)
|
20
|
+
minitest (5.17.0)
|
21
|
+
pry (0.14.2)
|
22
|
+
coderay (~> 1.1)
|
23
|
+
method_source (~> 1.0)
|
24
|
+
rake (13.0.6)
|
25
|
+
tree_graph (0.2.4)
|
26
|
+
tree_html (0.1.10)
|
27
|
+
|
28
|
+
PLATFORMS
|
29
|
+
ruby
|
30
|
+
|
31
|
+
DEPENDENCIES
|
32
|
+
bundler (~> 2.4.0)
|
33
|
+
minitest (~> 5.0)
|
34
|
+
pry
|
35
|
+
rake (>= 12.3.3)
|
36
|
+
trace_tree!
|
37
|
+
|
38
|
+
BUNDLED WITH
|
39
|
+
2.4.1
|
@@ -3,7 +3,7 @@ class TraceTree
|
|
3
3
|
class CcallKernelExtend < Point
|
4
4
|
def parameters
|
5
5
|
first_callee = callees[0]
|
6
|
-
first_callee.respond_to?(:mixin) ? first_callee.mixin : first_callee.
|
6
|
+
first_callee.respond_to?(:mixin) ? first_callee.mixin : first_callee.class_name
|
7
7
|
end
|
8
8
|
|
9
9
|
def self.event_class_method
|
@@ -9,7 +9,7 @@ class TraceTree
|
|
9
9
|
# first callee should be append_features(), check if it is native or custom
|
10
10
|
def parameters
|
11
11
|
first_callee = callees[0]
|
12
|
-
Module == first_callee.class_name ? first_callee.return_value : first_callee.
|
12
|
+
Module == first_callee.class_name ? first_callee.return_value : first_callee.class_name
|
13
13
|
end
|
14
14
|
|
15
15
|
end
|
@@ -8,7 +8,7 @@ class TraceTree
|
|
8
8
|
|
9
9
|
def parameters
|
10
10
|
first_callee = callees[0]
|
11
|
-
Module == first_callee.class_name ? first_callee.return_value : first_callee.
|
11
|
+
Module == first_callee.class_name ? first_callee.return_value : first_callee.class_name
|
12
12
|
end
|
13
13
|
|
14
14
|
end
|
data/lib/trace_tree/point.rb
CHANGED
@@ -7,7 +7,8 @@ class TraceTree
|
|
7
7
|
include TreeGraphable
|
8
8
|
include TreeHtmlable
|
9
9
|
|
10
|
-
attr_reader :
|
10
|
+
attr_reader :thread, :frame_env
|
11
|
+
attr_reader :call_symbol, :class_name
|
11
12
|
attr_accessor :terminal, :config
|
12
13
|
|
13
14
|
Interfaces = [:event, :defined_class, :method_id, :path, :lineno]
|
@@ -73,24 +74,31 @@ EOM
|
|
73
74
|
|
74
75
|
@return_value = trace_point.return_value if x_return?
|
75
76
|
@thread = Thread.current
|
77
|
+
return if thread?
|
76
78
|
|
77
|
-
|
78
|
-
|
79
|
-
@
|
80
|
-
@
|
79
|
+
if event == :c_call || event == :c_return
|
80
|
+
@call_symbol = '#'
|
81
|
+
@frame_env = method_id
|
82
|
+
@class_name = defined_class
|
83
|
+
return
|
81
84
|
end
|
85
|
+
|
86
|
+
there = trace_point.binding.of_caller(3)
|
87
|
+
current = BindingOfCallers::Revealed.new there
|
88
|
+
@call_symbol = current.call_symbol
|
89
|
+
@frame_env = current.frame_env.to_sym
|
90
|
+
@class_name = current.klass
|
82
91
|
rescue => e
|
83
|
-
puts e
|
92
|
+
puts e.message
|
93
|
+
puts(Interfaces.each_with_object({}){|attr, h| h[attr] = send(attr)})
|
94
|
+
puts e.backtrace
|
95
|
+
raise e
|
84
96
|
end
|
85
97
|
|
86
98
|
def b_call?
|
87
99
|
event == :b_call
|
88
100
|
end
|
89
101
|
|
90
|
-
def c_call?
|
91
|
-
event == :c_call
|
92
|
-
end
|
93
|
-
|
94
102
|
def class?
|
95
103
|
event == :class
|
96
104
|
end
|
@@ -157,22 +165,12 @@ EOM
|
|
157
165
|
@km ||= "#{class_name}#{call_symbol}#{method_name}"
|
158
166
|
end
|
159
167
|
|
160
|
-
def class_name
|
161
|
-
c_call? ? defined_class : current.klass
|
162
|
-
rescue
|
163
|
-
puts event
|
164
|
-
end
|
165
|
-
|
166
168
|
def method_name
|
167
|
-
return method_id if c_call
|
169
|
+
return method_id if event == :c_call
|
168
170
|
return frame_env if b_call? || class?
|
169
171
|
(method_id == frame_env) ? method_id : "#{method_id} -> #{frame_env}"
|
170
172
|
end
|
171
173
|
|
172
|
-
def call_symbol
|
173
|
-
c_call? ? '#' : current.call_symbol
|
174
|
-
end
|
175
|
-
|
176
174
|
def source_location
|
177
175
|
"#{path}:#{lineno}"
|
178
176
|
end
|
@@ -182,7 +180,6 @@ EOM
|
|
182
180
|
end
|
183
181
|
|
184
182
|
class Loader
|
185
|
-
|
186
183
|
attr_reader :point_classes, :config
|
187
184
|
|
188
185
|
def initialize *enhancement, config
|
data/lib/trace_tree/version.rb
CHANGED
data/lib/trace_tree.rb
CHANGED
@@ -23,6 +23,7 @@ class Binding
|
|
23
23
|
end
|
24
24
|
|
25
25
|
class TraceTree
|
26
|
+
RB_VER = RUBY_VERSION.split('.')[0..1].join('.').to_f
|
26
27
|
|
27
28
|
MainFile = __FILE__
|
28
29
|
|
@@ -215,9 +216,9 @@ class TraceTree
|
|
215
216
|
|
216
217
|
# binding.pry
|
217
218
|
|
218
|
-
stacks[trace_points.first.thread]
|
219
|
-
|
220
|
-
|
219
|
+
thread_stack = stacks[trace_points.first.thread]
|
220
|
+
frame = thread_stack[0].callees[0].callees[0]
|
221
|
+
RB_VER >= 2.7 ? frame : frame.callees[0]
|
221
222
|
end
|
222
223
|
|
223
224
|
def trace_points_array
|
data/trace_tree.gemspec
CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
21
21
|
spec.require_paths = ["lib"]
|
22
22
|
|
23
|
-
spec.add_development_dependency "bundler", "
|
23
|
+
spec.add_development_dependency "bundler", "~> 2.4.0"
|
24
24
|
spec.add_development_dependency "rake", ">= 12.3.3"
|
25
25
|
spec.add_development_dependency "minitest", "~> 5.0"
|
26
26
|
spec.add_development_dependency "pry"
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trace_tree
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ken
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-01-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 2.4.0
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 2.4.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,7 +108,7 @@ dependencies:
|
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: 0.1.10
|
111
|
-
description:
|
111
|
+
description:
|
112
112
|
email:
|
113
113
|
- block24block@gmail.com
|
114
114
|
executables: []
|
@@ -119,6 +119,7 @@ files:
|
|
119
119
|
- ".travis.yml"
|
120
120
|
- CODE_OF_CONDUCT.md
|
121
121
|
- Gemfile
|
122
|
+
- Gemfile.lock
|
122
123
|
- LICENSE.txt
|
123
124
|
- README.md
|
124
125
|
- Rakefile
|
@@ -162,7 +163,7 @@ homepage: https://github.com/turnon/trace_tree
|
|
162
163
|
licenses:
|
163
164
|
- MIT
|
164
165
|
metadata: {}
|
165
|
-
post_install_message:
|
166
|
+
post_install_message:
|
166
167
|
rdoc_options: []
|
167
168
|
require_paths:
|
168
169
|
- lib
|
@@ -177,8 +178,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
177
178
|
- !ruby/object:Gem::Version
|
178
179
|
version: '0'
|
179
180
|
requirements: []
|
180
|
-
rubygems_version: 3.1
|
181
|
-
signing_key:
|
181
|
+
rubygems_version: 3.4.1
|
182
|
+
signing_key:
|
182
183
|
specification_version: 4
|
183
184
|
summary: Print TracePoint(:b_call, :b_return, :c_call, :c_return, :call, :return,
|
184
185
|
:class, :end, :thread_begin, :thread_end) in tree view, to console or html
|