trepanning 0.0.8 → 0.0.9
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +289 -443
- data/NEWS +3 -0
- data/app/options.rb +1 -1
- data/app/run.rb +1 -2
- data/interface/script.rb +2 -2
- data/lib/trepanning.rb +1 -1
- data/processor/breakpoint.rb +5 -6
- data/processor/command/base/subcmd.rb +7 -5
- data/processor/command/base/submgr.rb +2 -2
- data/processor/command/disassemble.rb +10 -11
- data/processor/command/info_subcmd/file.rb +2 -2
- data/processor/command/irb.rb +1 -1
- data/processor/command/kill.rb +2 -2
- data/processor/command/list.rb +4 -4
- data/processor/command/nocache.rb +1 -1
- data/processor/command/set_subcmd/substitute_subcmd/eval.rb +1 -1
- data/processor/main.rb +1 -1
- data/processor/running.rb +0 -1
- data/test/data/enable.cmd +12 -0
- data/test/data/enable.right +36 -0
- data/test/data/fname-with-blank.cmd +6 -0
- data/test/data/fname-with-blank.right +1 -0
- data/test/data/quit.cmd +5 -0
- data/test/data/quit.right +0 -0
- data/test/example/null.rb +1 -0
- data/test/integration/helper.rb +45 -26
- data/test/unit/test-app-file.rb +1 -0
- metadata +10 -7
- data/data/custom_require.rb +0 -44
- data/data/irbrc +0 -41
- data/data/prelude.rb +0 -38
data/test/unit/test-app-file.rb
CHANGED
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 9
|
9
|
+
version: 0.0.9
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- R. Bernstein
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-12-
|
17
|
+
date: 2010-12-25 00:00:00 -05:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -124,9 +124,6 @@ files:
|
|
124
124
|
- app/run.rb
|
125
125
|
- app/condition.rb
|
126
126
|
- bin/trepan
|
127
|
-
- data/custom_require.rb
|
128
|
-
- data/prelude.rb
|
129
|
-
- data/irbrc
|
130
127
|
- interface/script.rb
|
131
128
|
- interface/base_intf.rb
|
132
129
|
- interface/user.rb
|
@@ -267,6 +264,12 @@ files:
|
|
267
264
|
- processor/command/backtrace.rb
|
268
265
|
- processor/command/condition.rb
|
269
266
|
- processor/command/reload_subcmd/command.rb
|
267
|
+
- test/data/enable.cmd
|
268
|
+
- test/data/quit.cmd
|
269
|
+
- test/data/fname-with-blank.cmd
|
270
|
+
- test/data/enable.right
|
271
|
+
- test/data/quit.right
|
272
|
+
- test/data/fname-with-blank.right
|
270
273
|
- test/example/fname with blank.rb
|
271
274
|
- test/example/null.rb
|
272
275
|
- test/example/thread1.rb
|
@@ -333,7 +336,7 @@ rdoc_options:
|
|
333
336
|
- --main
|
334
337
|
- README
|
335
338
|
- --title
|
336
|
-
- Trepan 0.0.
|
339
|
+
- Trepan 0.0.9 Documentation
|
337
340
|
require_paths:
|
338
341
|
- lib
|
339
342
|
required_ruby_version: !ruby/object:Gem::Requirement
|
data/data/custom_require.rb
DELETED
@@ -1,44 +0,0 @@
|
|
1
|
-
#--
|
2
|
-
# Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
|
3
|
-
# All rights reserved.
|
4
|
-
# See LICENSE.txt for permissions.
|
5
|
-
#++
|
6
|
-
|
7
|
-
module Kernel
|
8
|
-
|
9
|
-
##
|
10
|
-
# The Kernel#require from before RubyGems was loaded.
|
11
|
-
|
12
|
-
alias gem_original_require require
|
13
|
-
|
14
|
-
##
|
15
|
-
# When RubyGems is required, Kernel#require is replaced with our own which
|
16
|
-
# is capable of loading gems on demand.
|
17
|
-
#
|
18
|
-
# When you call <tt>require 'x'</tt>, this is what happens:
|
19
|
-
# * If the file can be loaded from the existing Ruby loadpath, it
|
20
|
-
# is.
|
21
|
-
# * Otherwise, installed gems are searched for a file that matches.
|
22
|
-
# If it's found in gem 'y', that gem is activated (added to the
|
23
|
-
# loadpath).
|
24
|
-
#
|
25
|
-
# The normal <tt>require</tt> functionality of returning false if
|
26
|
-
# that file has already been loaded is preserved.
|
27
|
-
|
28
|
-
def require(path) # :doc:
|
29
|
-
gem_original_require path
|
30
|
-
rescue LoadError => load_error
|
31
|
-
if load_error.message.end_with?(path)
|
32
|
-
if Gem.try_activate(path)
|
33
|
-
return gem_original_require(path)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
raise load_error
|
38
|
-
end
|
39
|
-
|
40
|
-
private :require
|
41
|
-
private :gem_original_require
|
42
|
-
|
43
|
-
end unless Kernel.private_method_defined?(:gem_original_require)
|
44
|
-
|
data/data/irbrc
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
# -*- Ruby -*-
|
2
|
-
# Copyright (C) 2010 Rocky Bernstein <rockyb@rubyforge.net>
|
3
|
-
# We use this as the default startup file for irb inside trepan
|
4
|
-
# Down the line we will have a way for folks to add/override this
|
5
|
-
# with their own file.
|
6
|
-
IRB.conf[:PROMPT_MODE] = :SIMPLE
|
7
|
-
IRB.conf[:PROMPT][:SIMPLE] =
|
8
|
-
{:PROMPT_C=>"trepan ?> ",
|
9
|
-
:PROMPT_I=>"trepan >> ",
|
10
|
-
:PROMPT_N=>"trepan >> ",
|
11
|
-
:PROMPT_S=>nil,
|
12
|
-
:RETURN=>"=> %s\n"}
|
13
|
-
|
14
|
-
# Using dbgr to issue a debugger statement inside irb:
|
15
|
-
# dbgr %w(info program)
|
16
|
-
# dbgr 'info program' # also works
|
17
|
-
# But...
|
18
|
-
# dbgr info program # wrong!
|
19
|
-
#
|
20
|
-
puts "You are in a trepan session. You should have access to program scope."
|
21
|
-
puts "'dbgr', 'step', 'ne', 'q', 'cont' commands have been added."
|
22
|
-
|
23
|
-
if defined?($trepan) && $trepan
|
24
|
-
puts 'You should have access to debugger state via global variable $trepan'
|
25
|
-
end
|
26
|
-
if defined?($trepan_frame) && $trepan_frame
|
27
|
-
puts 'You should have access to the program frame via global variable $trepan_frame'
|
28
|
-
end
|
29
|
-
if defined?($trepan_cmdproc) && $trepan_cmdproc
|
30
|
-
puts 'You should have access to the command processor via global variable $trepan_cmdproc'
|
31
|
-
end
|
32
|
-
|
33
|
-
# Monkeypatch to save the current IRB statement to be run.
|
34
|
-
class IRB::Context
|
35
|
-
alias_method :_trepan_original_evaluate, :evaluate
|
36
|
-
def evaluate(line, line_no)
|
37
|
-
$trepan_irb_statements = line
|
38
|
-
_trepan_original_evaluate(line, line_no)
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
data/data/prelude.rb
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
|
2
|
-
# Mutex
|
3
|
-
|
4
|
-
class Mutex
|
5
|
-
def synchronize
|
6
|
-
self.lock
|
7
|
-
begin
|
8
|
-
yield
|
9
|
-
ensure
|
10
|
-
self.unlock rescue nil
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
# Thread
|
16
|
-
|
17
|
-
class Thread
|
18
|
-
MUTEX_FOR_THREAD_EXCLUSIVE = Mutex.new
|
19
|
-
def self.exclusive
|
20
|
-
MUTEX_FOR_THREAD_EXCLUSIVE.synchronize{
|
21
|
-
yield
|
22
|
-
}
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
module Kernel
|
27
|
-
module_function
|
28
|
-
def require_relative(relative_feature)
|
29
|
-
c = caller.first
|
30
|
-
e = c.rindex(/:\d+:in /)
|
31
|
-
file = $`
|
32
|
-
if /\A\((.*)\)/ =~ file # eval, etc.
|
33
|
-
raise LoadError, "require_relative is called in #{$1}"
|
34
|
-
end
|
35
|
-
absolute_feature = File.expand_path(File.join(File.dirname(file), relative_feature))
|
36
|
-
require absolute_feature
|
37
|
-
end
|
38
|
-
end
|