rbx-trepanning 0.0.2-universal-rubinius-1.2

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.
Files changed (205) hide show
  1. data/ChangeLog +376 -0
  2. data/LICENSE +25 -0
  3. data/NEWS +2 -0
  4. data/README.textile +35 -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 +49 -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,35 @@
1
+ A debugger for Rubinius 1.2.x
2
+
3
+ bc. [sudo] gem install rbx-trepanning
4
+
5
+ should get you going.
6
+
7
+ There is a "google group mailing list":http://groups.google.com/group/ruby-debugger for Ruby debuggers.
8
+
9
+ To run initially:
10
+
11
+ bc.
12
+ $ trepanx my-ruby-program.rb
13
+
14
+ Or to call from inside your code:
15
+
16
+ bc. require 'trepanning'
17
+ debugger # Don't stop here...
18
+ work # but stop here.
19
+
20
+ If you want an immediate stop:
21
+
22
+ bc. debugger(:immediate=>true)
23
+
24
+ Finally, if you put in your .trepanx
25
+
26
+ bc. Rubinius::Loader.debugger = proc {
27
+ require 'trepanning';
28
+ Trepan.start(:skip_loader => :Xdebug)
29
+ }
30
+
31
+ Then you can use the -Xdebug option the Ruby, e.g.
32
+
33
+ bc. rbx -Xdebug my-ruby-program.rb
34
+
35
+ 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-1.2.gem",
27
+ "pkg/#{gemspec.name}-#{gemspec.version}-universal-rubinius-1.2.gem")
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.