Debugger doesn't work on Mac Mojave in 2019.3.1

Answered

I've had to roll back to 2019.1.4 to get a working debugger.

I'm using rbenv, though hopefully that shouldn't be an issue.

I've tried installing the debugging gems by clicking yes when the IDE prompts me. It throws an error log (included below).

I've tried, instead, to install the gems manually. Same result.

I've tried installing older, non beta versions of the gems. RubyMine doesn't recognize that debase and ruby-debug-ide are installed, then.

I've tried to upgrade to the latest EAP version. Same result.

I VERY much miss the features in the newest version of RubyMine, but I NEED a working debugger. At this point, it looks like it's a RubyMine issue itself, not an issue with the gems or my OS.

Any ideas?

Log when trying to install via IDE prompt:

current directory: /Users/scotia.draven/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/debase-0.3.0.beta20/ext
/Users/scotia.draven/.rbenv/versions/2.7.0/bin/ruby -I /Users/scotia.draven/.rbenv/versions/2.7.0/lib/ruby/2.7.0 -r ./siteconf20200108-89221-1m5kdhn.rb extconf.rb
/Users/scotia.draven/.rbenv/sources/2.7.0/ruby-2.7.0
checking for vm_core.h... no
checking for vm_core.h... no
checking for vm_core.h... yes
checking for iseq.h... yes
checking for method.h... yes
checking for version.h... yes
creating Makefile

current directory: /Users/scotia.draven/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/debase-0.3.0.beta20/ext
make "DESTDIR=" clean

current directory: /Users/scotia.draven/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/debase-0.3.0.beta20/ext
make "DESTDIR="
compiling breakpoint.c
In file included from breakpoint.c:3:
In file included from ./debase_internals.h:15:
In file included from ./debugger_util.h:20:
insns.def:1484:7: error: incomplete definition of type 'struct rb_builtin_function'
1 - bf->argc;
~~^
/Users/scotia.draven/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/debase-ruby_core_source-0.10.9/lib/debase/ruby_core_source/ruby-2.7.0-p0/vm_core.h:574:22: note: forward declaration of 'struct rb_builtin_function'
typedef const struct rb_builtin_function *RB_BUILTIN;
^
1 error generated.
make: *** [breakpoint.o] Error 1

make failed, exit code 2

Log when installing gems manually:

/usr/local/bin/fish -c "bash -c 'env RBENV_VERSION=2.7.0 /usr/local/Cellar/rbenv/1.1.2/libexec/rbenv exec ruby /Users/scotia.draven/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/ruby-debug-ide-0.8.0.beta19/bin/rdebug-ide --key-value --step-over-in-blocks --disable-int-handler --evaluation-timeout 10 --evaluation-control --time-limit 100 --memory-limit 0 --rubymine-protocol-extensions --port 55816 --host 0.0.0.0 --dispatcher-port 55817 -- /Users/scotia.draven/Documents/Books/Little-Book-Of-Ruby-Code-Archive/LittleBookOfRuby/03/adventure1.rb'"

Traceback (most recent call last):

4: from /Users/scotia.draven/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/ruby-debug-ide-0.8.0.beta19/bin/rdebug-ide:197:in `<main>'

3: from /Users/scotia.draven/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/ruby-debug-ide-0.8.0.beta19/lib/ruby-debug-ide.rb:97:in `debug_program'

2: from /Users/scotia.draven/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/ruby-debug-ide-0.8.0.beta19/lib/ruby-debug-ide.rb:86:in `prepare_debugger'

1: from /Users/scotia.draven/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/ruby-debug-ide-0.8.0.beta19/lib/ruby-debug-ide.rb:78:in `start_server'

/Users/scotia.draven/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/debase-0.3.0.beta20/lib/debase.rb:72:in `start': undefined local variable or method `disable_all_iseqs' for Debase:Module (NameError)




Process finished with exit code 1

 

2 comments
Comment actions Permalink

Hello,

have you tried debugging with another Ruby versions? 2.7 isn't supported yet, its support is going to be implemented in 2020.1: https://youtrack.jetbrains.com/issue/RUBY-25586

0
Comment actions Permalink

I don't think I have... but if it's not supported yet, why does it work in an older version of RubyMine?

Update: Installed 2.6.5 via rbenv, ran debugger, worked.

Thanks for the replies. Still don't understand why it works on an older version of Rubymine with Ruby 2.7.0, but 2.6.5 is acceptable and looking forward to the new version of RM that will handle 2.7.0.

This is now solved for me. Thank you.

0

Please sign in to leave a comment.