Shoes has some built in dump commands (Shoes.debug), but are there other tools that can debug the code without injecting debug messages throughout? Something like gdb would be great.
5 Answers
You can also use Shoes.show_log to automatically open a debug console.
-
"puts" (and "p") messages should appear in stdout in the terminal window from which you launched the shoes application. This is working with Shoes 4.0.0.pre5 running on jruby 9.1.0.0 - but I can't speak for earlier versions of Shoes. – Andrew Faulkner Jun 14 '16 at 07:08
The shoes console. Press Alt+/ (or apple+/ on a mac) to see the stack trace of your application.

- 3,709
- 3
- 23
- 14
Note that if you use Alt + / you'll have to run that "before" starting the app

- 62,887
- 36
- 269
- 388
Have you looked at the ruby-debug gem?
% sudo gem install ruby-debug
The rdebug executable gives you a similar interface to gdb (breakpoint setting, etc). You just simply execute your script with rdebug instead of ruby.
You can also do something like this to avoid manually setting breakpoints:
class Foo
require 'ruby-debug'
def some_method_somewhere
debugger # acts like a breakpoint is set at this point
end
end
Here's a tutorial on ruby-debug: http://www.datanoise.com/articles/2006/7/12/tutorial-on-ruby-debug

- 12,693
- 3
- 29
- 26
-
-
This is useful debugging info, but its not clear how to apply to Shoes. – jrhicks Sep 11 '09 at 03:39
I was a bit confused about the Apple-/ (or Alt-/) bit mentioned here. What I ended up doing was running ./shoes with no arguments, which popped up the console, then started my app with ./shoes my_app.rb.

- 93
- 5