Enoki Next EAP: Debugging RubyMotion Apps

Hello everyone,

There’s a lot of excitement around RubyMotion support in RubyMine and we’re quite happy about that. We believe the debugging features may bring still more joy to your iOS development. So, please welcome RubyMine Enoki EAP (build 124.67) with RubyMotion debugging options!

RubyMotion Debugger

First of all now you can run the debugging session and add breakpoints to stop execution so you can analyze variables and run your code step by step:

Please note the work on the feature is in progress so you can’t use watches so far.

LLDB Commands

You may prefer working with LLDB commands so we’ve added the special LLDB tab for you:

GDB is not supported yet, but in the next versions you will be able to choose which debugger to use.


Sometimes the easiest way is the best one. So you can just output to console:

Please visit release notes page for more details and screenshots and download the EAP build to try it out.

Please note, we’re still investigating problems with upgrade and application signing on Mac OS X, so the full installation is needed if you’re on Mac.

Develop with pleasure!
JetBrains RubyMine Team

Comments below can no longer be edited.

7 Responses to Enoki Next EAP: Debugging RubyMotion Apps

  1. Avatar

    eric says:

    November 28, 2012

    As first impression, I don’t like the new folder icons…
    You still have to fix the autocomplete when i18n yaml files use “” for keys, like:
    “does_not_exist”: “This %{model} does not exist!”

    The autocomplete will do: t(“controllers”.”shared”.”does_not_exist”), which is not valid, the correct one is: t(“controllers.shared.does_not_exist”)
    I hope that you’ll fix this before the final release

    • Tatiana Vasilyeva

      Tatiana Vasilyeva says:

      November 29, 2012

      Hi, Eric

      Thanks for your feedback. We’ve added an issues to our tracker. Please watch for a progress there: http://youtrack.jetbrains.com/issue/RUBY-12598

      • Avatar

        eric says:

        December 1, 2012

        hi Tatiana, I see that is set as fixed, thanks!

        there is another bug (which is on the 4.x too):
        – edit an image
        – got to the vcs changes (alt + 9)
        – check the diff on the image (alt + d)
        – it correctly opens it, but now try to press *any* key, the current window will be hidden. This is also not working trying to go to the next changed file from the image diff (ctrl + pg down)

        It’s very frustrating especially as the images are in the assets folder, they happen to be the first one changed

  2. Avatar

    Steve says:

    November 29, 2012

    Great work on getting debugger integration working!

    A few nits to pick.

    The console tab is really slow in displaying the results of the REPL. It can take seconds to display the result of 5+3 for example. Also, it may be impossible to do this, but can the REPL be active when the program is stopped at a breakpoint so that you can examine/evaluate ruby expressions in the REPL?

    Thanks for your great work!


    • Avatar

      Dennis Ushakov says:

      November 29, 2012

      Looks like REPL console results are not taking lots of time to display, but rather do not display at all until mouse is moved. We’ll try to figure out why with RubyMotion team.
      There’s an issue for second request, we discussed it with RubyMotion team and internally evaluation in the debugger would work this way.

  3. Avatar

    macdevign says:

    December 5, 2012

    Just my curiosity. A question pertaining to interactive debugger .

    I understand that Rubymotion is based on macruby and rubymine is able to debug rubymotion app interactively but not macruby. Is it possible for interactive debugger to work for macruby in appcode ?

    • Avatar

      Dennis Ushakov says:

      December 20, 2012

      Most likely it will work. However, there may be 2 major problems:
      1. I’m not sure will it pick debug symbols and thus breakpoints may not work.
      2. It requires very long combination of gdb commands to get it to show single instance variable in treeview. So it may be not very convenient

Discover more