trepanning 0.0.9 → 0.1.0
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/ChangeLog +237 -0
- data/NEWS +8 -0
- data/Rakefile +3 -2
- data/app/breakpoint.rb +8 -8
- data/app/brkptmgr.rb +86 -85
- data/app/client.rb +60 -0
- data/app/core.rb-consider +198 -0
- data/app/default.rb +17 -7
- data/app/disassemble.rb +12 -2
- data/app/options.rb +51 -20
- data/app/yarv.rb +183 -0
- data/bin/trepan +15 -9
- data/data/custom_require.rb +44 -0
- data/data/irbrc +41 -0
- data/data/prelude.rb +38 -0
- data/interface/base_intf.rb +10 -4
- data/interface/client.rb +79 -0
- data/interface/comcodes.rb +18 -0
- data/interface/server.rb +142 -0
- data/io/base_io.rb +57 -3
- data/io/tcpclient.rb +122 -0
- data/io/tcpfns.rb +31 -0
- data/io/tcpserver.rb +137 -0
- data/lib/trepanning.rb +57 -28
- data/processor/command/base/cmd.rb +10 -6
- data/processor/command/base/subcmd.rb +13 -1
- data/processor/command/directory.rb +15 -8
- data/processor/command/disassemble.rb +3 -2
- data/processor/command/help.rb +71 -19
- data/processor/command/info_subcmd/args.rb +2 -3
- data/processor/command/info_subcmd/breakpoints.rb +2 -3
- data/processor/command/info_subcmd/file.rb +2 -3
- data/processor/command/info_subcmd/frame.rb +2 -3
- data/processor/command/info_subcmd/iseq.rb +4 -5
- data/processor/command/info_subcmd/locals.rb +2 -3
- data/processor/command/info_subcmd/program.rb +2 -3
- data/processor/command/info_subcmd/registers.rb +2 -3
- data/processor/command/info_subcmd/return.rb +2 -3
- data/processor/command/info_subcmd/thread.rb +2 -3
- data/processor/command/list.rb +10 -6
- data/processor/command/reload.rb +1 -1
- data/processor/command/reload_subcmd/command.rb +29 -16
- data/processor/command/server.rb +70 -0
- data/processor/command/set_subcmd/auto.rb +2 -3
- data/processor/command/set_subcmd/basename.rb +2 -3
- data/processor/command/set_subcmd/debug.rb +2 -3
- data/processor/command/set_subcmd/different.rb +2 -3
- data/processor/command/set_subcmd/events.rb +2 -3
- data/processor/command/set_subcmd/hidelevel.rb +6 -7
- data/processor/command/set_subcmd/highlight.rb +32 -0
- data/processor/command/set_subcmd/max.rb +2 -3
- data/processor/command/set_subcmd/return.rb +2 -3
- data/processor/command/set_subcmd/sp.rb +2 -3
- data/processor/command/set_subcmd/substitute.rb +2 -3
- data/processor/command/set_subcmd/timer.rb +2 -3
- data/processor/command/set_subcmd/trace.rb +3 -4
- data/processor/command/show_subcmd/alias.rb +3 -3
- data/processor/command/show_subcmd/args.rb +2 -3
- data/processor/command/show_subcmd/auto.rb +1 -2
- data/processor/command/show_subcmd/basename.rb +2 -3
- data/processor/command/show_subcmd/debug.rb +1 -2
- data/processor/command/show_subcmd/different.rb +2 -1
- data/processor/command/show_subcmd/events.rb +2 -2
- data/processor/command/show_subcmd/hidelevel.rb +2 -3
- data/processor/command/show_subcmd/highlight.rb +23 -0
- data/processor/command/show_subcmd/macro.rb +2 -1
- data/processor/command/show_subcmd/max.rb +2 -3
- data/processor/command/show_subcmd/trace.rb +2 -3
- data/processor/command/source.rb +78 -28
- data/processor/default.rb +3 -2
- data/processor/load_cmds.rb +39 -19
- data/processor/location.rb +11 -7
- data/processor/main.rb +31 -15
- data/processor/mock.rb +22 -7
- data/processor/msg.rb +24 -8
- data/test/data/fname-with-blank.right +3 -0
- data/test/data/quit.right +2 -0
- data/test/functional/test-break-long.rb +87 -0
- data/test/functional/tmp/b3.rb +5 -0
- data/test/functional/tmp/immediate-bug1.rb +9 -0
- data/test/integration/helper.rb +14 -11
- data/test/integration/test-fname-with-blank.rb +5 -1
- data/test/integration/test-quit.rb +6 -2
- data/test/unit/cmd-helper.rb +9 -4
- data/test/unit/mock-helper.rb +9 -0
- data/test/unit/test-app-brkpt.rb +4 -4
- data/test/unit/test-app-brkptmgr.rb +2 -2
- data/test/unit/test-app-file.rb +0 -1
- data/test/unit/test-app-options.rb +26 -5
- data/test/unit/test-base-subcmd.rb +0 -1
- data/test/unit/test-cmd-alias.rb +0 -1
- data/test/unit/test-cmd-break.rb +0 -4
- data/test/unit/test-cmd-endisable.rb +1 -3
- data/test/unit/test-cmd-help.rb +0 -1
- data/test/unit/test-cmd-kill.rb +4 -5
- data/test/unit/test-cmd-quit.rb +4 -7
- data/test/unit/test-cmd-source.rb +33 -0
- data/test/unit/test-cmd-step.rb +0 -2
- data/test/unit/test-io-tcp.rb +32 -0
- data/test/unit/test-io-tcpclient.rb +53 -0
- data/test/unit/test-io-tcpserver.rb +49 -0
- data/test/unit/test-proc-main.rb +2 -2
- metadata +195 -175
- data/processor/command/stepi.rb +0 -63
- data/test/functional/tmp/b1.rb +0 -5
- data/test/functional/tmp/s1.rb +0 -9
- data/test/functional/tmp/t2.rb +0 -6
- data/test/integration/try-test-enable.rb +0 -11
data/processor/command/stepi.rb
DELETED
@@ -1,63 +0,0 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
# Copyright (C) 2010 Rocky Bernstein <rockyb@rubyforge.net>
|
3
|
-
require_relative 'base/cmd'
|
4
|
-
require_relative '../../app/condition'
|
5
|
-
class Trepan::Command::StepICommand < Trepan::Command
|
6
|
-
|
7
|
-
unless defined?(HELP)
|
8
|
-
HELP =
|
9
|
-
"stepi
|
10
|
-
|
11
|
-
Step by VM instruction(s).
|
12
|
-
|
13
|
-
Examples:
|
14
|
-
stepi # step 1 instruction
|
15
|
-
stepi 1 # same as above
|
16
|
-
|
17
|
-
Related and similar is the 'step', 'next' (step over) and 'finish' (step out)
|
18
|
-
commands. All of these are slower than running to a breakpoint.
|
19
|
-
|
20
|
-
See also the commands:
|
21
|
-
'skip', 'jump' (there's no 'hop' yet), 'continue', 'return' and
|
22
|
-
'finish' for other ways to progress execution.
|
23
|
-
"
|
24
|
-
|
25
|
-
CATEGORY = 'running'
|
26
|
-
NAME = File.basename(__FILE__, '.rb')
|
27
|
-
NEED_RUNNING = true
|
28
|
-
SHORT_HELP = 'Step VM instruction(s)'
|
29
|
-
|
30
|
-
end
|
31
|
-
|
32
|
-
include Trepan::Condition
|
33
|
-
# This method runs the command
|
34
|
-
def run(args)
|
35
|
-
opts = {:stop_events => Set.new(%w(insn))}
|
36
|
-
@proc.core.step_events |= Trace::INSN_EVENT_MASK
|
37
|
-
condition = nil
|
38
|
-
if args.size == 1
|
39
|
-
# Form is: "step" which means "step 1"
|
40
|
-
step_count = 0
|
41
|
-
else
|
42
|
-
count_str = args[1]
|
43
|
-
int_opts = {
|
44
|
-
:msg_on_error =>
|
45
|
-
"The 'step' command argument must eval to an integer. Got: %s" %
|
46
|
-
count_str,
|
47
|
-
:min_value => 1
|
48
|
-
}.merge(opts)
|
49
|
-
count = @proc.get_an_int(count_str, int_opts)
|
50
|
-
return unless count
|
51
|
-
# step 1 is core.step_count = 0 or "stop next event"
|
52
|
-
step_count = count - 1
|
53
|
-
end
|
54
|
-
@proc.step(step_count, opts, condition)
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
if __FILE__ == $0
|
59
|
-
require_relative '../mock'
|
60
|
-
name = File.basename(__FILE__, '.rb')
|
61
|
-
dbgr, cmd = MockDebugger::setup(name)
|
62
|
-
p cmd.run([name])
|
63
|
-
end
|
data/test/functional/tmp/b1.rb
DELETED
data/test/functional/tmp/s1.rb
DELETED
data/test/functional/tmp/t2.rb
DELETED