trepanning 0.0.9 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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