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.

STDERR Output

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

This entry was posted in Better Code, Cutting Edge and tagged , , . Bookmark the permalink.

7 Responses to Enoki Next EAP: Debugging RubyMotion Apps

  1. eric says:

    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:
    en:
    “controllers”:
    “shared”:
    “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 says:

      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

      • eric says:

        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. Steve says:

    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!

    Steve

    • Dennis Ushakov says:

      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. macdevign says:

    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 ?

    • Dennis Ushakov says:

      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

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>