Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Make this work on 1.9.3! (Really the heavy lifting was done in rb-thr…

…eadframe). Adjust dependent versions acceptance.
  • Loading branch information...
commit 830440c79ee6d2b543a18b18d6796ae516aea938 1 parent 642a6c0
@rocky authored
View
4 lib/trepanning.rb
@@ -42,7 +42,7 @@ def initialize(settings={})
# FIXME: Tracing through intialization code is slow. Need to figure
# out better ways to do this.
th = Thread.current
- th.exec_event_tracing = true
+ th.exec_event_tracing = true
@settings = Trepan::DEFAULT_SETTINGS.merge(settings)
@input = @settings[:input] || STDIN
@@ -111,7 +111,7 @@ def initialize(settings={})
clear_trace_func
@intf[-1].close
end
- th.exec_event_tracing = false
+ th.exec_event_tracing = false
end
# The method is called when we want to do debugger command completion
View
2  processor/command/debug.rb
@@ -42,7 +42,7 @@ def run(args)
# Values we need to save before munging them
old_tracing = th.tracing
- old_exec_event_tracing = th.exec_event_tracing
+ old_exec_event_tracing = th.exec_event_tracing?
old_mutex = @proc.core.mutex
old_next_level = @proc.next_level
old_step_count = @proc.core.step_count
View
12 processor/command/finish.rb
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-# Copyright (C) 2010, 2011 Rocky Bernstein <rockyb@rubyforge.net>
+# Copyright (C) 2010-2012 Rocky Bernstein <rockyb@rubyforge.net>
require_relative '../command'
class Trepan::Command::FinishCommand < Trepan::Command
@@ -9,9 +9,13 @@ class Trepan::Command::FinishCommand < Trepan::Command
HELP = <<-HELP
#{NAME} [levels]
-Continue execution until the program is about to leaving the current
-function or switch context via yielding or ending a block which was
-yield to. Sometimes this is called 'step out'.
+Continue execution until the program is about to:
+
+* leave the current function, or
+* switch context via yielding back or finishing a block which was
+ yielded to.
+
+Sometimes this is called 'step out'.
When `levels' is specified, that many frame levels need to be
popped. The default is 1. Note that 'yield' and exceptions raised my
View
3  test/functional/test-recursive-bt.rb
@@ -88,7 +88,7 @@ def factorial(n)
" #1 METHOD TestRecursiveBt#factorial(n) in file test-recursive-bt.rb at line 37",
"... above line repeated 3 times",
" #5 METHOD TestRecursiveBt#test_recursive_backtrace() in file test-recursive-bt.rb at line 42",
- " #6 METHOD TestRecursiveBt#run(runner) in file unit.rb at line 695",
+ " #6 METHOD TestRecursiveBt#run(runner) in file unit.rb at line xxx",
"(More stack frames follow...)",
"-- ",
"if n > 0",
@@ -96,6 +96,7 @@ def factorial(n)
"return 1",
"-- ",
"d.stop"]
+ d.intf[-1].output.output[-8].sub!(/at line \d+$/, 'at line xxx')
compare_output(out, d, cmds)
end
View
10 trepanning.gemspec
@@ -14,12 +14,12 @@ A modular, testable, Ruby debugger using some of the best ideas from ruby-debug,
Some of the core debugger concepts have been rethought. As a result, some of this may be experimental.
-This version works only with a patched version of Ruby 1.9.2 and rb-threadframe.
+This version works only with a patched version of Ruby 1.9.2 or Ruby 1.9.3 and rb-threadframe.
See also rbx-trepanning for a version that works with Rubinius.
EOF
- spec.add_dependency('rb-threadframe', '~> 0.40')
- spec.add_dependency('rb-trace', '>= 0.5')
+ spec.add_dependency('rb-threadframe', '>= 0.39.9')
+ spec.add_dependency('rb-trace', '>= 0.5.9')
spec.add_dependency('linecache-tf', '>= 1.0')
spec.add_dependency('columnize')
spec.add_development_dependency('diff-lcs') # For testing only
@@ -34,8 +34,8 @@ EOF
spec.license = 'MIT'
spec.platform = Gem::Platform::RUBY
spec.require_path = 'lib'
- spec.required_ruby_version = '~> 1.9.2frame'
- spec.summary = 'Modular Ruby 1.9.2 Debugger'
+ # spec.required_ruby_version = '~> 1.9.2frame'
+ spec.summary = 'Modular Ruby 1.9.2 or 1.9.3 Debugger'
spec.version = Trepan::VERSION
# Make the readme file the start page for the generated html
Please sign in to comment.
Something went wrong with that request. Please try again.