backtracer 0.5.2 → 0.6.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/VERSION +1 -1
- data/lib/backtracer.rb +13 -7
- data/lib/backtracer_inline.rb +7 -0
- metadata +3 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.6.1
|
data/lib/backtracer.rb
CHANGED
@@ -1,16 +1,20 @@
|
|
1
1
|
# this one display full BT with code, at the end [no performance loss]
|
2
2
|
require 'rbconfig'
|
3
|
-
|
3
|
+
DOZE = Config::CONFIG['host_os'] =~ /mswin|mingw/
|
4
4
|
|
5
5
|
require File.dirname(__FILE__) + "/shared"
|
6
6
|
|
7
7
|
at_exit {
|
8
8
|
if $! && !$!.is_a?(SystemExit) # SystemExit's are normal, not exceptional
|
9
|
-
|
10
|
-
|
9
|
+
print "\n\t" unless defined?($same_line)
|
10
|
+
puts $!.inspect + ' ' + $!.to_s
|
11
|
+
|
12
|
+
max = 0
|
13
|
+
$!.backtrace.each{|bt_line| max = [bt_line.length, max].max}
|
14
|
+
|
11
15
|
backtrace_with_code = $!.backtrace.map{ |bt_line|
|
12
16
|
next if bt_line.include? 'bin/backtracer' # binary lines...
|
13
|
-
if
|
17
|
+
if DOZE && bt_line[1..1] == ':'
|
14
18
|
|
15
19
|
drive, file, line, junk = bt_line.split(":")
|
16
20
|
#["C", "/dev/ruby/allgems/lib/allgems/GemWorker.rb", "91", "in `unpack'"]
|
@@ -20,11 +24,13 @@ at_exit {
|
|
20
24
|
end
|
21
25
|
line = line.to_i
|
22
26
|
actual_line = Tracer.get_line(file, line)
|
23
|
-
|
24
|
-
"#{
|
27
|
+
|
28
|
+
"%-#{max + 1}s #{"\n\t" unless defined?($same_line)}%s" % [bt_line, (actual_line.strip if actual_line)]
|
25
29
|
}.compact
|
26
30
|
puts backtrace_with_code
|
27
|
-
|
31
|
+
puts # blank line
|
32
|
+
$!.set_backtrace [] # avoid the original backtrace being outputted--though annoyingly it does still output its #to_s...
|
33
|
+
|
28
34
|
else
|
29
35
|
puts "(backtracer: no exception found to backtrace)" if $VERBOSE
|
30
36
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: backtracer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors: []
|
7
7
|
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-11-
|
12
|
+
date: 2009-11-19 00:00:00 -07:00
|
13
13
|
default_executable: backtracer
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -44,6 +44,7 @@ files:
|
|
44
44
|
- examples/run_large_style_output.rb
|
45
45
|
- lib/backtracer.rb
|
46
46
|
- lib/backtracer_ctrl_c_debugger.rb
|
47
|
+
- lib/backtracer_inline.rb
|
47
48
|
- lib/backtracer_locals.rb
|
48
49
|
- lib/backtracer_pinger.rb
|
49
50
|
- lib/backtracer_simple.rb
|