rbx-trepanning 0.0.1-universal-rubinius

Sign up to get free protection for your applications and to get access to all the features.
Files changed (205) hide show
  1. data/ChangeLog +376 -0
  2. data/LICENSE +25 -0
  3. data/NEWS +2 -0
  4. data/README.textile +28 -0
  5. data/Rakefile +165 -0
  6. data/THANKS +14 -0
  7. data/app/breakpoint.rb +218 -0
  8. data/app/breakpoint.rbc +3564 -0
  9. data/app/brkptmgr.rb +138 -0
  10. data/app/brkptmgr.rbc +2827 -0
  11. data/app/default.rb +61 -0
  12. data/app/default.rbc +1011 -0
  13. data/app/display.rb +35 -0
  14. data/app/display.rbc +968 -0
  15. data/app/frame.rb +98 -0
  16. data/app/frame.rbc +1808 -0
  17. data/app/irb.rb +112 -0
  18. data/app/irb.rbc +2111 -0
  19. data/app/iseq.rb +95 -0
  20. data/app/iseq.rbc +1801 -0
  21. data/app/method.rb +173 -0
  22. data/app/method.rbc +2492 -0
  23. data/app/mock.rb +13 -0
  24. data/app/mock.rbc +398 -0
  25. data/app/options.rb +123 -0
  26. data/app/options.rbc +2183 -0
  27. data/app/run.rb +86 -0
  28. data/app/run.rbc +1244 -0
  29. data/app/util.rb +49 -0
  30. data/app/util.rbc +1144 -0
  31. data/app/validate.rb +30 -0
  32. data/app/validate.rbc +676 -0
  33. data/bin/trepan.compiled.rbc +1043 -0
  34. data/bin/trepanx +63 -0
  35. data/bin/trepanx.compiled.rbc +985 -0
  36. data/interface/base_intf.rb +95 -0
  37. data/interface/base_intf.rbc +1742 -0
  38. data/interface/script.rb +104 -0
  39. data/interface/script.rbc +1642 -0
  40. data/interface/user.rb +91 -0
  41. data/interface/user.rbc +1418 -0
  42. data/io/base_io.rb +94 -0
  43. data/io/base_io.rbc +1404 -0
  44. data/io/input.rb +112 -0
  45. data/io/input.rbc +1979 -0
  46. data/io/null_output.rb +42 -0
  47. data/io/null_output.rbc +730 -0
  48. data/io/string_array.rb +156 -0
  49. data/io/string_array.rbc +2466 -0
  50. data/lib/trepanning.rb +398 -0
  51. data/lib/trepanning.rbc +6661 -0
  52. data/processor/breakpoint.rb +161 -0
  53. data/processor/command/alias.rb +55 -0
  54. data/processor/command/backtrace.rb +46 -0
  55. data/processor/command/base/cmd.rb +124 -0
  56. data/processor/command/base/subcmd.rb +213 -0
  57. data/processor/command/base/submgr.rb +179 -0
  58. data/processor/command/base/subsubcmd.rb +103 -0
  59. data/processor/command/base/subsubmgr.rb +184 -0
  60. data/processor/command/break.rb +100 -0
  61. data/processor/command/continue.rb +82 -0
  62. data/processor/command/delete.rb +30 -0
  63. data/processor/command/directory.rb +43 -0
  64. data/processor/command/disassemble.rb +103 -0
  65. data/processor/command/down.rb +54 -0
  66. data/processor/command/eval.rb +31 -0
  67. data/processor/command/exit.rb +58 -0
  68. data/processor/command/finish.rb +78 -0
  69. data/processor/command/frame.rb +89 -0
  70. data/processor/command/help.rb +146 -0
  71. data/processor/command/info.rb +28 -0
  72. data/processor/command/info_subcmd/breakpoints.rb +75 -0
  73. data/processor/command/info_subcmd/file.rb +153 -0
  74. data/processor/command/info_subcmd/method.rb +71 -0
  75. data/processor/command/info_subcmd/program.rb +59 -0
  76. data/processor/command/info_subcmd/variables.rb +40 -0
  77. data/processor/command/irb.rb +96 -0
  78. data/processor/command/kill.rb +70 -0
  79. data/processor/command/list.rb +296 -0
  80. data/processor/command/next.rb +66 -0
  81. data/processor/command/nexti.rb +59 -0
  82. data/processor/command/pr.rb +38 -0
  83. data/processor/command/ps.rb +40 -0
  84. data/processor/command/restart.rb +60 -0
  85. data/processor/command/set.rb +47 -0
  86. data/processor/command/set_subcmd/auto.rb +28 -0
  87. data/processor/command/set_subcmd/auto_subcmd/dis.rb +33 -0
  88. data/processor/command/set_subcmd/auto_subcmd/eval.rb +54 -0
  89. data/processor/command/set_subcmd/auto_subcmd/irb.rb +34 -0
  90. data/processor/command/set_subcmd/auto_subcmd/list.rb +34 -0
  91. data/processor/command/set_subcmd/basename.rb +26 -0
  92. data/processor/command/set_subcmd/debug.rb +27 -0
  93. data/processor/command/set_subcmd/debug_subcmd/dbgr.rb +36 -0
  94. data/processor/command/set_subcmd/debug_subcmd/skip.rb +23 -0
  95. data/processor/command/set_subcmd/debug_subcmd/step.rb +23 -0
  96. data/processor/command/set_subcmd/different.rb +60 -0
  97. data/processor/command/set_subcmd/hidelevel.rb +63 -0
  98. data/processor/command/set_subcmd/kernelstep.rb +61 -0
  99. data/processor/command/set_subcmd/max.rb +29 -0
  100. data/processor/command/set_subcmd/max_subcmd/list.rb +49 -0
  101. data/processor/command/set_subcmd/max_subcmd/stack.rb +50 -0
  102. data/processor/command/set_subcmd/max_subcmd/string.rb +54 -0
  103. data/processor/command/set_subcmd/max_subcmd/width.rb +49 -0
  104. data/processor/command/set_subcmd/substitute.rb +25 -0
  105. data/processor/command/set_subcmd/substitute_subcmd/path.rb +56 -0
  106. data/processor/command/set_subcmd/trace.rb +37 -0
  107. data/processor/command/set_subcmd/trace_subcmd/print.rb +57 -0
  108. data/processor/command/show.rb +27 -0
  109. data/processor/command/show_subcmd/alias.rb +43 -0
  110. data/processor/command/show_subcmd/args.rb +26 -0
  111. data/processor/command/show_subcmd/auto.rb +28 -0
  112. data/processor/command/show_subcmd/auto_subcmd/dis.rb +37 -0
  113. data/processor/command/show_subcmd/auto_subcmd/eval.rb +28 -0
  114. data/processor/command/show_subcmd/auto_subcmd/irb.rb +23 -0
  115. data/processor/command/show_subcmd/auto_subcmd/list.rb +22 -0
  116. data/processor/command/show_subcmd/basename.rb +22 -0
  117. data/processor/command/show_subcmd/debug.rb +27 -0
  118. data/processor/command/show_subcmd/debug_subcmd/dbgr.rb +21 -0
  119. data/processor/command/show_subcmd/debug_subcmd/skip.rb +22 -0
  120. data/processor/command/show_subcmd/debug_subcmd/step.rb +22 -0
  121. data/processor/command/show_subcmd/different.rb +27 -0
  122. data/processor/command/show_subcmd/hidelevel.rb +42 -0
  123. data/processor/command/show_subcmd/kernelstep.rb +37 -0
  124. data/processor/command/show_subcmd/max.rb +30 -0
  125. data/processor/command/show_subcmd/max_subcmd/list.rb +38 -0
  126. data/processor/command/show_subcmd/max_subcmd/stack.rb +36 -0
  127. data/processor/command/show_subcmd/max_subcmd/string.rb +42 -0
  128. data/processor/command/show_subcmd/max_subcmd/width.rb +37 -0
  129. data/processor/command/show_subcmd/trace.rb +29 -0
  130. data/processor/command/show_subcmd/trace_subcmd/print.rb +38 -0
  131. data/processor/command/source.rb +83 -0
  132. data/processor/command/step.rb +41 -0
  133. data/processor/command/tbreak.rb +19 -0
  134. data/processor/command/unalias.rb +44 -0
  135. data/processor/command/up.rb +87 -0
  136. data/processor/default.rb +56 -0
  137. data/processor/disassemble.rb +32 -0
  138. data/processor/eval.rb +96 -0
  139. data/processor/frame.rb +211 -0
  140. data/processor/help.rb +72 -0
  141. data/processor/hook.rb +133 -0
  142. data/processor/load_cmds.rb +101 -0
  143. data/processor/location.rb +128 -0
  144. data/processor/main.rb +394 -0
  145. data/processor/mock.rb +137 -0
  146. data/processor/msg.rb +28 -0
  147. data/processor/running.rb +230 -0
  148. data/processor/stepping.rb +115 -0
  149. data/processor/subcmd.rb +160 -0
  150. data/processor/validate.rb +355 -0
  151. data/test/data/enable.right +36 -0
  152. data/test/data/fname-with-blank.cmd +6 -0
  153. data/test/data/fname-with-blank.right +1 -0
  154. data/test/data/quit-Xdebug.right +3 -0
  155. data/test/data/quit.cmd +5 -0
  156. data/test/data/quit.right +0 -0
  157. data/test/example/fname with blank.rb +1 -0
  158. data/test/example/gcd-xx.rb +18 -0
  159. data/test/example/gcd.rb +19 -0
  160. data/test/example/gcd1.rb +24 -0
  161. data/test/example/null.rb +1 -0
  162. data/test/example/thread1.rb +3 -0
  163. data/test/functional/fn_helper.rb +112 -0
  164. data/test/functional/test-break-name.rb +52 -0
  165. data/test/functional/test-break.rb +51 -0
  166. data/test/functional/test-finish.rb +70 -0
  167. data/test/functional/test-fn_helper.rb +43 -0
  168. data/test/functional/test-list.rb +55 -0
  169. data/test/functional/test-next-bug.rb +49 -0
  170. data/test/functional/test-next.rb +101 -0
  171. data/test/functional/test-step.rb +272 -0
  172. data/test/functional/test-step2.rb +35 -0
  173. data/test/functional/test-tbreak.rb +41 -0
  174. data/test/integration/file-diff.rb +89 -0
  175. data/test/integration/helper.rb +78 -0
  176. data/test/integration/test-fname-with-blank.rb +12 -0
  177. data/test/integration/test-quit.rb +25 -0
  178. data/test/unit/cmd-helper.rb +46 -0
  179. data/test/unit/test-app-brkpt.rb +30 -0
  180. data/test/unit/test-app-brkptmgr.rb +51 -0
  181. data/test/unit/test-app-iseq.rb +49 -0
  182. data/test/unit/test-app-method.rb +54 -0
  183. data/test/unit/test-app-options.rb +61 -0
  184. data/test/unit/test-app-run.rb +16 -0
  185. data/test/unit/test-app-util.rb +28 -0
  186. data/test/unit/test-app-validate.rb +18 -0
  187. data/test/unit/test-base-subcmd.rb +61 -0
  188. data/test/unit/test-bin-trepanx.rb +48 -0
  189. data/test/unit/test-cmd-alias.rb +49 -0
  190. data/test/unit/test-cmd-break.rb +23 -0
  191. data/test/unit/test-cmd-exit.rb +27 -0
  192. data/test/unit/test-cmd-help.rb +101 -0
  193. data/test/unit/test-cmd-kill.rb +48 -0
  194. data/test/unit/test-intf-user.rb +46 -0
  195. data/test/unit/test-io-input.rb +27 -0
  196. data/test/unit/test-proc-eval.rb +37 -0
  197. data/test/unit/test-proc-frame.rb +79 -0
  198. data/test/unit/test-proc-help.rb +16 -0
  199. data/test/unit/test-proc-hook.rb +30 -0
  200. data/test/unit/test-proc-load_cmds.rb +41 -0
  201. data/test/unit/test-proc-location.rb +48 -0
  202. data/test/unit/test-proc-main.rb +96 -0
  203. data/test/unit/test-proc-validate.rb +91 -0
  204. data/test/unit/test-subcmd-help.rb +51 -0
  205. metadata +337 -0
data/ChangeLog ADDED
@@ -0,0 +1,376 @@
1
+ 2010-09-27 rocky <rockyb@rubyforge.org>
2
+
3
+ * README.textile: README tyhpo
4
+
5
+ 2010-09-27 rocky <rockyb@rubyforge.org>
6
+
7
+ * README.textile: Add rbx-require-relative to README
8
+
9
+ 2010-09-27 rocky <rockyb@rubyforge.org>
10
+
11
+ * README.textile: Readme typo
12
+
13
+ 2010-09-27 rocky <rockyb@rubyforge.org>
14
+
15
+ * README.textile: Readme typo
16
+
17
+ 2010-09-27 rocky <rockyb@rubyforge.org>
18
+
19
+ * README.textile: Small readme tweak
20
+
21
+ 2010-09-27 rocky <rockyb@rubyforge.org>
22
+
23
+ * .gemspec, README.textile: Add README
24
+
25
+ 2010-09-27 rocky <rockyb@rubyforge.org>
26
+
27
+ * test/unit/test-bin-trepan.rb: Add unit test for bin/trepan
28
+
29
+ 2010-09-27 rocky <rockyb@rubyforge.org>
30
+
31
+ * lib/trepanning.rb, processor/main.rb,
32
+ test/unit/test-app-options.rb, test/unit/test-app-run.rb: Run
33
+ debugger user profile and set initial directory. Add options test.
34
+
35
+ 2010-09-27 rocky <rockyb@rubyforge.org>
36
+
37
+ * processor/command/set_subcmd/max_subcmd/list.rb,
38
+ processor/command/show_subcmd/max_subcmd/list.rb: Add "set/show max
39
+ list"
40
+
41
+ 2010-09-27 rocky <rockyb@rubyforge.org>
42
+
43
+ * processor/command/list.rb,
44
+ processor/command/set_subcmd/max_subcmd/stack.rb,
45
+ processor/default.rb: Add "set/show max list"
46
+
47
+ 2010-09-27 rocky <rockyb@rubyforge.org>
48
+
49
+ * app/frame.rb, processor/command/continue.rb,
50
+ processor/command/list.rb, processor/command/nexti.rb,
51
+ processor/command/set_subcmd/auto_subcmd/list.rb,
52
+ processor/command/show_subcmd/auto_subcmd/list.rb,
53
+ processor/command/step.rb, processor/frame.rb, processor/main.rb,
54
+ processor/mock.rb, processor/validate.rb: Add "list" and set/show
55
+ autolist commands. Somewhat buggy.
56
+
57
+ 2010-09-27 rocky <rockyb@rubyforge.org>
58
+
59
+ * .gemspec, lib/trepanning.rb, processor/command/directory.rb,
60
+ processor/command/kill.rb, processor/default.rb,
61
+ processor/location.rb, processor/main.rb: Add gdb-like 'directory'
62
+ command so we can trace into rubinius source.
63
+
64
+ 2010-09-26 rocky <rockyb@rubyforge.org>
65
+
66
+ * .gemspec, Rakefile, lib/trepanning.rb: Need require-relative
67
+ dependency.
68
+
69
+ 2010-09-26 rocky <rockyb@rubyforge.org>
70
+
71
+ * processor/command/restart.rb: Sync with rb-trepanning
72
+
73
+ 2010-09-26 rocky <rockyb@rubyforge.org>
74
+
75
+ * Rakefile, app/default.rb, app/options.rb, app/run.rb, bin/trepan,
76
+ lib/trepanning.rb, processor/command/restart.rb,
77
+ processor/default.rb, processor/mock.rb, processor/validate.rb,
78
+ test/unit/test-app-run.rb: Rbdbgr->Trepanning
79
+
80
+ 2010-09-26 rocky <rockyb@rubyforge.org>
81
+
82
+ * THANKS: Text hacking
83
+
84
+ 2010-09-26 rocky <rockyb@rubyforge.org>
85
+
86
+ * THANKS: Text hacking
87
+
88
+ 2010-09-26 rocky <rockyb@rubyforge.org>
89
+
90
+ * processor/command/down.rb, processor/command/up.rb: Add "up" and
91
+ "down" commands - this time, for sure!
92
+
93
+ 2010-09-26 rocky <rockyb@rubyforge.org>
94
+
95
+ * doc/debugger.html, lib/trepanning.rb, processor/command/frame.rb,
96
+ processor/frame.rb, processor/main.rb: Add "up" and "down" commands.
97
+ Renstatate more of trepan's CmdProcessor frame routines.
98
+
99
+ 2010-09-25 rocky <rockyb@rubyforge.org>
100
+
101
+ * .gemspec, app/default.rb, app/options.rb: Add executable. Pick up
102
+ right command init file.
103
+
104
+ 2010-09-25 rocky <rockyb@rubyforge.org>
105
+
106
+ * .gemspec, AUTHORS, Rakefile, THANKS, app/options.rb, app/run.rb,
107
+ bin/.gitignore, bin/trepan, processor/command/break.rb: Add code to
108
+ invoke from outset. Complete with debugger options. Needs
109
+ improvement to skip over the crap before main.__script__ starts.
110
+ Numerous other small changes.
111
+
112
+ 2010-09-25 rocky <rockyb@rubyforge.org>
113
+
114
+ * .gemspec, .gitignore, AUTHORS, ChangeLog, NEWS, Rakefile,
115
+ debugger.rb, lib/.gitignore, lib/trepanning.rb, processor/eval.rb,
116
+ processor/mock.rb: Administrivia: do things to make a gem.
117
+ debugger.rb -> lib/trepanning.rb So you now: require 'trepanning'
118
+
119
+ 2010-09-25 rocky <rockyb@rubyforge.org>
120
+
121
+ * doc/.gitignore, doc/debugger.html: Start revised documentation.
122
+
123
+ 2010-09-25 rocky <rockyb@rubyforge.org>
124
+
125
+ * app/default.rb, debugger.rb, processor/command/restart.rb,
126
+ processor/command/show_subcmd/args.rb, processor/mock.rb: Add
127
+ "restart" command. YAY! Means we also have "show args".
128
+
129
+ 2010-09-25 rocky <rockyb@rubyforge.org>
130
+
131
+ * app/run.rb, debugger.rb, processor/command/break.rb,
132
+ processor/eval.rb, processor/main.rb, test/unit/test-app-run.rb:
133
+ Bang on eval(). I think I've got it this time. Start run/restart.
134
+
135
+ 2010-09-25 rocky <rockyb@rubyforge.org>
136
+
137
+ * app/frame.rb, test/unit/test-proc-help.rb,
138
+ test/unit/test-proc-hook.rb, test/unit/test-subcmd-help.rb:
139
+ Stuffthat didn't seem to get committed last time.
140
+
141
+ 2010-09-25 rocky <rockyb@rubyforge.org>
142
+
143
+ * processor/command/base/cmd.rb, processor/eval.rb,
144
+ processor/main.rb: Add more tests back in. Attempt to disembowl eval
145
+ code. I think some bugs were fixed.
146
+
147
+ 2010-09-25 rocky <rockyb@rubyforge.org>
148
+
149
+ * app/breakpoint.rb, app/frame.rb, debugger.rb,
150
+ processor/breakpoint.rb, processor/command/backtrace.rb,
151
+ processor/command/base/cmd.rb, processor/command/break.rb,
152
+ processor/command/delete.rb, processor/command/source.rb,
153
+ processor/frame.rb, processor/main.rb, test/unit/cmd-helper.rb,
154
+ test/unit/test-unit-exit.rb: debugger.rb : remove show_ip option.
155
+ Goes in processor. bang on breakpoint code. move some to
156
+ processor/breakpoint.rb processor/breakpoint.rb: more error checking
157
+ info app/frame.rb: describe() pass in options - add show IP
158
+ parameter. remove duplicate ip location
159
+ app/breakpoint.rb: change IP location indicator from + to @. Is this
160
+ right? base/cmd.rb: run_code() was wrong. Other misc bugs fixed.
161
+
162
+ 2010-09-24 rocky <rockyb@rubyforge.org>
163
+
164
+ * processor/command/alias.rb: Reinstate showing aliases code in
165
+ "alias" command
166
+
167
+ 2010-09-24 rocky <rockyb@rubyforge.org>
168
+
169
+ * processor/command/exit.rb: Update help for exit
170
+
171
+ 2010-09-24 rocky <rockyb@rubyforge.org>
172
+
173
+ * processor/command/exit.rb, processor/command/frame.rb: frame.rb:
174
+ was in wrong category exit.rb: add q!
175
+
176
+ 2010-09-24 rocky <rockyb@rubyforge.org>
177
+
178
+ * LICENSE, app/breakpoint.rb, app/frame.rb, debugger.rb,
179
+ processor/breakpoint.rb, processor/command/base/subsubcmd.rb,
180
+ processor/command/eval.rb,
181
+ processor/command/info_subcmd/program.rb, processor/command/ps.rb,
182
+ processor/command/set_subcmd/max.rb,
183
+ processor/command/set_subcmd/max_subcmd/.gitignore,
184
+ processor/command/set_subcmd/max_subcmd/stack.rb,
185
+ processor/command/set_subcmd/max_subcmd/string.rb,
186
+ processor/command/set_subcmd/max_subcmd/width.rb,
187
+ processor/command/show_subcmd/max.rb,
188
+ processor/command/show_subcmd/max_subcmd/.gitignore,
189
+ processor/command/show_subcmd/max_subcmd/stack.rb,
190
+ processor/command/show_subcmd/max_subcmd/string.rb,
191
+ processor/command/show_subcmd/max_subcmd/width.rb,
192
+ processor/default.rb, processor/eval.rb, processor/main.rb: Add max
193
+ set/show subcommands "info program" processor eval now sets filename
194
+ and we now store breakpoint ids. prompt is more inline with other
195
+ debuggers :-(
196
+
197
+ 2010-09-23 rocky <rockyb@rubyforge.org>
198
+
199
+ * debugger/.gitignore, debugger/Makefile,
200
+ debugger/command/.gitignore, debugger/command/base/.gitignore,
201
+ debugger/command/base/cmd.rb, debugger/command/set.rb,
202
+ debugger/old/.gitignore, debugger/old/command.rb,
203
+ debugger/old/debug_client.rb, debugger/old/debug_server.rb,
204
+ debugger/old/debugger.rb, debugger/old/interface.rb,
205
+ debugger/old/output.rb, debugger/old/standard_commands.rb,
206
+ debugger/old/vm_commands.rb, processor/command/base/subsubcmd.rb,
207
+ processor/command/base/subsubmgr.rb, processor/command/exit.rb,
208
+ processor/command/set_subcmd/auto.rb,
209
+ processor/command/set_subcmd/auto_subcmd/.gitignore,
210
+ processor/command/set_subcmd/auto_subcmd/eval.rb,
211
+ processor/command/show_subcmd/auto.rb,
212
+ processor/command/show_subcmd/auto_subcmd/.gitignore,
213
+ processor/command/show_subcmd/auto_subcmd/eval.rb,
214
+ processor/main.rb, processor/running.rb: Add subsub commands. In
215
+ particular: set/show autoeval.
216
+
217
+ 2010-09-23 rocky <rockyb@rubyforge.org>
218
+
219
+ * debugger.rb, debugger/command/info.rb, debugger/command/show.rb,
220
+ processor/command/break.rb, processor/command/info.rb,
221
+ processor/command/info_subcmd/.gitignore,
222
+ processor/command/info_subcmd/breakpoints.rb,
223
+ processor/command/info_subcmd/method.rb,
224
+ processor/command/info_subcmd/variables.rb,
225
+ processor/command/set.rb, processor/command/set_subcmd/.gitignore,
226
+ processor/command/set_subcmd/different.rb,
227
+ processor/command/show_subcmd/different.rb, processor/default.rb,
228
+ processor/mock.rb, processor/subcmd.rb: Finish up last of commands
229
+ to be converted from reference debugger. Add some of routines from
230
+ trepan for 1.9.2.
231
+
232
+ 2010-09-23 rocky <rockyb@rubyforge.org>
233
+
234
+ * processor/command/base/subcmd.rb,
235
+ processor/command/base/submgr.rb, processor/command/show.rb,
236
+ processor/command/show_subcmd/.gitignore,
237
+ processor/command/show_subcmd/alias.rb, processor/help.rb,
238
+ processor/subcmd.rb: Add first subcommand: show. Take "alias" from
239
+ trepan as the first subcommand.
240
+
241
+ 2010-09-23 rocky <rockyb@rubyforge.org>
242
+
243
+ * debugger.rb, debugger/command/nexti.rb,
244
+ processor/command/base/cmd.rb, processor/command/disassemble.rb,
245
+ processor/command/nexti.rb, processor/eval.rb, processor/main.rb:
246
+ Move over "nexti" command. Figure out "disassemble" problem.
247
+ main.rb: add traceback on internal error.
248
+
249
+ 2010-09-23 rocky <rockyb@rubyforge.org>
250
+
251
+ * debugger.rb, debugger/command/delete.rb,
252
+ debugger/command/disassemble.rb, debugger/command/frame.rb,
253
+ debugger/command/tb.rb, processor/command/backtrace.rb,
254
+ processor/command/break.rb, processor/command/delete.rb,
255
+ processor/command/disassemble.rb, processor/command/frame.rb,
256
+ processor/command/tbreak.rb, processor/main.rb: Move over delete,
257
+ frame, tbreak, backtrace, break and diassemble.
258
+
259
+ 2010-09-23 rocky <rockyb@rubyforge.org>
260
+
261
+ * Rakefile, processor/command/backtrace.rb: Small changes.
262
+
263
+ 2010-09-23 rocky <rockyb@rubyforge.org>
264
+
265
+ * debugger/command/break.rb, debugger/command/help.rb,
266
+ debugger/command/step.rb, processor/command/break.rb,
267
+ processor/command/next.rb, processor/command/step.rb: Add 'step'.
268
+ Start 'break'.
269
+
270
+ 2010-09-23 rocky <rockyb@rubyforge.org>
271
+
272
+ * debugger/command/backtrace.rb, processor/command/backtrace.rb,
273
+ processor/command/continue.rb, processor/command/next.rb: Add
274
+ backtrace
275
+
276
+ 2010-09-23 rocky <rockyb@rubyforge.org>
277
+
278
+ * debugger.rb, processor/frame.rb, processor/hook.rb,
279
+ processor/main.rb: Move process-command code from debugger.rb into
280
+ into processor/main.rb Add hook code from 1.9.2 trepan. Not used yet
281
+ though.
282
+
283
+ 2010-09-22 rocky <rockyb@rubyforge.org>
284
+
285
+ * debugger.rb, debugger/command/eval.rb,
286
+ processor/command/base/cmd.rb, processor/command/eval.rb,
287
+ processor/command/help.rb, processor/command/next.rb,
288
+ processor/mock.rb: Add command eval. Short help working In 1.8
289
+ class.constants are strings while in 1.9 class.constants are
290
+ symbols.
291
+
292
+ 2010-09-22 rocky <rockyb@rubyforge.org>
293
+
294
+ * Makefile, debugger.rb, debugger/command/continue.rb,
295
+ debugger/command/kill.rb, processor/command/alias.rb,
296
+ processor/command/continue.rb, processor/command/next.rb,
297
+ processor/command/unalias.rb, test/unit/test-cmd-alias.rb: Add
298
+ 'continue', 'alias', and 'unalias' commands.
299
+
300
+ 2010-09-22 rocky <rockyb@rubyforge.org>
301
+
302
+ * Rakefile, debugger.rb, debugger/command/next.rb,
303
+ processor/command/help.rb, processor/command/next.rb,
304
+ processor/frame.rb, processor/main.rb, test/unit/test-cmd-help.rb:
305
+ First stepping command, "next" now does something.
306
+
307
+ 2010-09-22 rocky <rockyb@rubyforge.org>
308
+
309
+ * test/unit/test-proc-main.rb, test/unit/test-proc-validate.rb: Unit
310
+ tests for processor/main.rb and processor/validate.rb
311
+
312
+ 2010-09-22 rocky <rockyb@rubyforge.org>
313
+
314
+ * processor/command/kill.rb, processor/main.rb,
315
+ processor/validate.rb: Add validation routines. Some parts are
316
+ commented out for now.
317
+
318
+ 2010-09-22 rocky <rockyb@rubyforge.org>
319
+
320
+ * Rakefile, app/breakpoint.rb, app/display.rb, app/frame.rb,
321
+ app/util.rb, debugger.rb, debugger/breakpoint.rb,
322
+ debugger/display.rb, debugger/frame.rb,
323
+ processor/command/base/cmd.rb, processor/command/kill.rb,
324
+ processor/load_cmds.rb, processor/main.rb, processor/msg.rb,
325
+ test/unit/test-app-util.rb, test/unit/test-intf-user.rb: Our first
326
+ commands -- 'help' and 'kill' under the reorganization!
327
+
328
+ 2010-09-22 rocky <rockyb@rubyforge.org>
329
+
330
+ * .gitignore, Rakefile, app/.gitignore, app/default.rb,
331
+ app/mock.rb, debugger/command/next.rb, interface/.gitignore,
332
+ interface/base_intf.rb, interface/script.rb, interface/user.rb,
333
+ io/.gitignore, io/base_io.rb, io/input.rb, io/string_array.rb,
334
+ processor/.gitignore, processor/command/.gitignore,
335
+ processor/command/base/.gitignore, processor/command/base/cmd.rb,
336
+ processor/command/help.rb, processor/command/kill.rb,
337
+ processor/default.rb, processor/load_cmds.rb, processor/main.rb,
338
+ processor/mock.rb, test/unit/.gitignore, test/unit/cmd-helper.rb,
339
+ test/unit/test-cmd-help.rb, test/unit/test-cmd-kill.rb,
340
+ test/unit/test-io-input.rb, test/unit/test-proc-load_cmds.rb: Get
341
+ command loading boilerplate. Help is there now. Interface added. And
342
+ even some of the unit tests!
343
+
344
+ 2010-09-21 rocky <rockyb@rubyforge.org>
345
+
346
+ * debugger/command/base/cmd.rb: Small cleanup before big
347
+ reorganization
348
+
349
+ 2010-09-21 rocky <rockyb@rubyforge.org>
350
+
351
+ * Makefile, Rakefile, debugger.rb, debugger/.gitignore,
352
+ debugger/Makefile, debugger/breakpoint.rb,
353
+ debugger/command/backtrace.rb, debugger/command/base/.gitignore,
354
+ debugger/command/base/cmd.rb, debugger/command/break.rb,
355
+ debugger/command/continue.rb, debugger/command/delete.rb,
356
+ debugger/command/disassemble.rb, debugger/command/eval.rb,
357
+ debugger/command/frame.rb, debugger/command/help.rb,
358
+ debugger/command/info.rb, debugger/command/kill.rb,
359
+ debugger/command/next.rb, debugger/command/nexti.rb,
360
+ debugger/command/set.rb, debugger/command/show.rb,
361
+ debugger/command/step.rb, debugger/command/tb.rb,
362
+ debugger/commands.rb, debugger/display.rb, debugger/frame.rb: Put
363
+ all commands in the 'command' directory. Add temporary hack to keep
364
+ Command.command singleton array from growing on running each
365
+ debugger command.
366
+
367
+ 2010-09-18 rvm <rocky-rvm@static-71-183-236-17.nycmny.fios.verizon.net>
368
+
369
+ * .gitignore, debugger.rb, debugger/command/.gitignore,
370
+ debugger/command/eval.rb, debugger/command/kill.rb,
371
+ debugger/commands.rb: Move commands to a 'command' directory.
372
+
373
+ 2010-09-17 rvm <rocky-rvm@static-71-183-236-17.nycmny.fios.verizon.net>
374
+
375
+ * Initial debugger import from rubinius.
376
+
data/LICENSE ADDED
@@ -0,0 +1,25 @@
1
+ Copyright (c) 2010, Rocky Bernstein
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions are met:
6
+
7
+ * Redistributions of source code must retain the above copyright notice, this
8
+ list of conditions and the following disclaimer.
9
+ * Redistributions in binary form must reproduce the above copyright notice
10
+ this list of conditions and the following disclaimer in the documentation
11
+ and/or other materials provided with the distribution.
12
+ * Neither the name of the Evan Phoenix nor the names of its contributors
13
+ may be used to endorse or promote products derived from this software
14
+ without specific prior written permission.
15
+
16
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
20
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
22
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
23
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
data/NEWS ADDED
@@ -0,0 +1,2 @@
1
+ Dec 25, 2010
2
+ First general release. Port of trepanning debugger for Ruby 1.9.2.
data/README.textile ADDED
@@ -0,0 +1,28 @@
1
+ A debugger for Rubinius 1.1
2
+
3
+ Right now this debugger is beta code. To install you'll need to install
4
+ columnize (from gemcutter.org) and rbx-linecache, the rubinius branch
5
+
6
+ bc.
7
+ $ gem install columnize
8
+ $ gem install rbx-require-relative
9
+ ...
10
+ $ svn co http://rocky-hacks.rubyforge.org/svn/linecache/branches/rubinius rbx-linecache
11
+ $ cd rbx-lineache
12
+ $ rake install # add "sudo" if needed
13
+
14
+ There is a "google group mailing list":http://groups.google.com/group/ruby-debugger for Ruby debuggers.
15
+
16
+ If rbx-trepanning is installed, here is the preferred way to run:
17
+
18
+ bc. require 'trepanning'
19
+ Trepan.debug # Don't stop here...
20
+ work # but stop here.
21
+
22
+ or if you haven't mucked around with $0 and ARGV, you might try:
23
+
24
+ bc. Trepan.debug(:set_restart=>true)
25
+
26
+ which informs the debugger on how to restart the program (via the restart command) using the values of ARGV and $0 at the time Trepan.debug was called.
27
+
28
+ There is extensive on-line help. Run "help" inside the debugger.
data/Rakefile ADDED
@@ -0,0 +1,165 @@
1
+ #!/usr/bin/env rake
2
+ # Are we Rubinius? We'll test by checking the specific function we need.
3
+ raise RuntimeError, 'This package is for Rubinius 1.2 or 1.2.1dev only!' unless
4
+ Object.constants.include?('Rubinius') &&
5
+ Rubinius.constants.include?('VM') &&
6
+ %w(1.2 1.2.1dev).member?(Rubinius::VERSION)
7
+
8
+ require 'rubygems'
9
+ require 'rake/gempackagetask'
10
+ require 'rake/rdoctask'
11
+ require 'rake/testtask'
12
+
13
+ ROOT_DIR = File.dirname(__FILE__)
14
+ require File.join %W(#{ROOT_DIR} app options)
15
+
16
+ def gemspec
17
+ @gemspec ||= eval(File.read('.gemspec'), binding, '.gemspec')
18
+ end
19
+
20
+ desc "Build the gem"
21
+ task :package=>:gem
22
+ task :gem=>:gemspec do
23
+ Dir.chdir(ROOT_DIR) do
24
+ sh "gem build .gemspec"
25
+ FileUtils.mkdir_p 'pkg'
26
+ FileUtils.mv("#{gemspec.name}-#{gemspec.version}-universal-rubinius.gem",
27
+ 'pkg')
28
+ end
29
+ end
30
+
31
+ desc "Install the gem locally"
32
+ task :install => :gem do
33
+ Dir.chdir(ROOT_DIR) do
34
+ sh %{gem install --local pkg/#{gemspec.name}-#{gemspec.version}}
35
+ end
36
+ end
37
+
38
+ require 'rbconfig'
39
+ RUBY_PATH = File.join(RbConfig::CONFIG['bindir'],
40
+ RbConfig::CONFIG['RUBY_INSTALL_NAME'])
41
+
42
+ def run_standalone_ruby_files(list)
43
+ puts '*' * 40
44
+ list.each do |ruby_file|
45
+ system(RUBY_PATH, ruby_file)
46
+ end
47
+ end
48
+
49
+ def run_standalone_ruby_file(directory)
50
+ puts ('*' * 10) + ' ' + directory + ' ' + ('*' * 10)
51
+ Dir.chdir(directory) do
52
+ Dir.glob('*.rb').each do |ruby_file|
53
+ puts(('-' * 20) + ' ' + ruby_file + ' ' + ('-' * 20))
54
+ system(RUBY_PATH, ruby_file)
55
+ end
56
+ end
57
+ end
58
+
59
+ desc 'Create a GNU-style ChangeLog via git2cl'
60
+ task :ChangeLog do
61
+ system('git log --pretty --numstat --summary | git2cl > ChangeLog')
62
+ end
63
+
64
+ desc 'Test units - the smaller tests'
65
+ Rake::TestTask.new(:'test:unit') do |t|
66
+ t.test_files = FileList['test/unit/**/test-*.rb']
67
+ # t.pattern = 'test/**/*test-*.rb' # instead of above
68
+ t.verbose = true
69
+ end
70
+
71
+ desc 'Test functional - the medium-sized tests'
72
+ Rake::TestTask.new(:'test:functional') do |t|
73
+ t.test_files = FileList['test/functional/**/test-*.rb']
74
+ t.verbose = true
75
+ end
76
+
77
+ desc 'Test integration - end-to-end blackbox tests'
78
+ Rake::TestTask.new(:'test:integration') do |t|
79
+ t.test_files = FileList['test/integration/**/test-*.rb']
80
+ t.verbose = true
81
+ end
82
+
83
+ desc 'Test everything - unit tests for now.'
84
+ task :default => :test
85
+ task :test do
86
+ exceptions = %w(test:unit test:functional test:integration).collect do |task|
87
+ begin
88
+ Rake::Task[task].invoke
89
+ nil
90
+ rescue => e
91
+ e
92
+ end
93
+ end.compact
94
+
95
+ exceptions.each {|e| puts e;puts e.backtrace }
96
+ raise "Test failures" unless exceptions.empty?
97
+ end
98
+
99
+ desc "Run each Ruby app file in standalone mode."
100
+ task :'check:app' do
101
+ run_standalone_ruby_file(File.join(%W(#{ROOT_DIR} app)))
102
+ end
103
+
104
+ desc "Run each command in standalone mode."
105
+ task :'check:commands' do
106
+ run_standalone_ruby_file(File.join(%W(#{ROOT_DIR} processor command)))
107
+ end
108
+
109
+ desc "Run each of the sub-sub commands in standalone mode."
110
+ task :'check:sub:commands' do
111
+ p "#{ROOT_DIR}/processor/command/*_subcmd/*_subcmd/*.rb"
112
+ Dir.glob("#{ROOT_DIR}/processor/command/*_subcmd").each do |sub_dir|
113
+ run_standalone_ruby_file(sub_dir)
114
+ end
115
+ end
116
+
117
+ desc "Run each processor Ruby file in standalone mode."
118
+ task :'check:processor' do
119
+ run_standalone_ruby_file(File.join(%W(#{ROOT_DIR} processor)))
120
+ end
121
+
122
+ task :'check:functional' do
123
+ run_standalone_ruby_file(File.join(%W(#{ROOT_DIR} test functional)))
124
+ end
125
+
126
+ desc "Run each unit test in standalone mode."
127
+ task :'check:unit' do
128
+ run_standalone_ruby_file(File.join(%W(#{ROOT_DIR} test unit)))
129
+ end
130
+
131
+ desc "Generate the gemspec"
132
+ task :generate do
133
+ puts gemspec.to_ruby
134
+ end
135
+
136
+ desc "Validate the gemspec"
137
+ task :gemspec do
138
+ gemspec.validate
139
+ end
140
+
141
+ # --------- RDoc Documentation ------
142
+ desc "Generate rdoc documentation"
143
+ Rake::RDocTask.new("rdoc") do |rdoc|
144
+ rdoc.rdoc_dir = 'doc'
145
+ rdoc.title = "rbx-trepaning #{Trepanning::VERSION} Documentation"
146
+
147
+ rdoc.rdoc_files.include(%w(lib/trepanning.rb processor/*.rb
148
+ processor/command/*.rb
149
+ app/*.rb intf/*.rb io/*.rb
150
+ ))
151
+ end
152
+
153
+ desc "Same as rdoc"
154
+ task :doc => :rdoc
155
+
156
+ task :clobber_package do
157
+ FileUtils.rm_rf File.join(ROOT_DIR, 'pkg')
158
+ end
159
+
160
+ task :clobber_rdoc do
161
+ FileUtils.rm_rf File.join(ROOT_DIR, 'doc')
162
+ end
163
+
164
+ desc "Remove built files"
165
+ task :clean => [:clobber_package, :clobber_rdoc]
data/THANKS ADDED
@@ -0,0 +1,14 @@
1
+ This code builds off of code from the Rubinius reference debugger. At
2
+ the time it was created, Brian Ford and Evan Phoenix were the primary
3
+ forces behind that. See the AUTHORS file in the Rubinius distribution
4
+ for a complete list of Rubinius authors.
5
+
6
+ I am very grateful to Evan Phoenix for so graciously and willingly making
7
+ the numerous little changes that I think not only improve the debugging
8
+ experience, but increase location reporting and live introspection.
9
+
10
+ Ideas and in some cases command structure or exact text from help,
11
+ command name, command structure, and errors messages have come from
12
+ gdb and ruby-debug. The creative force and author of ruby-debug is
13
+ Kent Sibilev. Other ideas from other debuggers are used here; in
14
+ particular, the debugger that comes distributed with Python, pdb.