8

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.

user7936
  • 13
  • 1
  • 4

5 Answers5

5

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
3

The shoes console. Press Alt+/ (or apple+/ on a mac) to see the stack trace of your application.

Drew Olson
  • 3,709
  • 3
  • 23
  • 14
2

Note that if you use Alt + / you'll have to run that "before" starting the app

rogerdpack
  • 62,887
  • 36
  • 269
  • 388
1

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

Brian Phillips
  • 12,693
  • 3
  • 29
  • 26
0

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.

greg
  • 93
  • 5