Mountain Lion으로 업그레이드했을 때 IntelliJ 10 루비 디버거가 더 이상 작동하지 않는 것처럼 보입니다. 아래 오류가 발생하지만이를 수정하는 방법을 실제로 해석 할 수는 없습니다.IntelliJ 용 Mountain Lion에 ruby-debug-base19x를 어떻게 설치합니까?
/Users/kamilski81/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb
checking for rb_method_entry_t.body in method.h... no
checking for vm_core.h... no
/Users/kamilski81/.rvm/gems/[email protected]/gems/ruby_core_source-0.1.5/lib/ruby_core_source.rb:39: Use RbConfig instead of obsolete and deprecated Config.
checking for rb_method_entry_t.body in method.h... no
checking for vm_core.h... yes
checking for iseq.h... yes
checking for insns.inc... yes
checking for insns_info.inc... yes
checking for eval_intern.h... yes
creating Makefile
make
compiling breakpoint.c
compiling ruby_debug.c
ruby_debug.c:24:19: error: conflicting types for 'rb_iseq_compile_with_option'
RUBY_EXTERN VALUE rb_iseq_compile_with_option(VALUE src, VALUE file, VALUE line, VALUE opt); /* from iseq.c */
^
/Users/kamilski81/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby-1.9.3-p194/vm_core.h:505:7: note: previous declaration is here
VALUE rb_iseq_compile_with_option(VALUE src, VALUE file, VALUE filepath, VALUE line, VALUE opt);
^
ruby_debug.c:474:60: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
return rb_funcall2(context, idAtLine, RARRAY_LEN(args) - 1, RARRAY_PTR(args) + 1);
~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~^~~
ruby_debug.c:538:13: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
s_len = RSTRING_LEN(source);
^~~~~~~~~~~~~~~~~~~
/Users/kamilski81/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby/ruby.h:674:6: note: expanded from macro 'RSTRING_LEN'
RSTRING_EMBED_LEN(str) : \
^
/Users/kamilski81/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby/ruby.h:670:6: note: expanded from macro 'RSTRING_EMBED_LEN'
(long)((RBASIC(str)->flags >> RSTRING_EMBED_LEN_SHIFT) & \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ruby_debug.c:538:13: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
s_len = RSTRING_LEN(source);
^~~~~~~~~~~~~~~~~~~
/Users/kamilski81/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby/ruby.h:675:28: note: expanded from macro 'RSTRING_LEN'
RSTRING(str)->as.heap.len)
^
ruby_debug.c:539:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
f_len = strlen(file);
~ ^~~~~~~~~~~~
ruby_debug.c:684:98: error: too few arguments to function call, expected 5, have 4
rb_str_new_cstr("begin\nend"), rb_str_new_cstr("(exception catcher)"), INT2FIX(1), Qfalse);
^
/Users/kamilski81/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby-1.9.3-p194/vm_core.h:505:1: note: 'rb_iseq_compile_with_option' declared here
VALUE rb_iseq_compile_with_option(VALUE src, VALUE file, VALUE filepath, VALUE line, VALUE opt);
^
ruby_debug.c:1695:10: warning: implicit conversion loses integer precision: 'VALUE' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
return level;
~~~~~~ ^~~~~
ruby_debug.c:2310:37: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
int frames = jump_cfp - cfp + 2;
~~~~~~ ~~~~~~~~~~~~~~~^~~
ruby_debug.c:2378:53: warning: comparison of integers of different signs: 'long' and 'unsigned long' [-Wsign-compare]
if ((cfp->pc - cfp->iseq->iseq_encoded) >= (cfp->iseq->iseq_size - 1))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ ~~~~~~~~~~~~~~~~~~~~~~~~
ruby_debug.c:2392:27: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
for (i = 0; i < cfp->iseq->insn_info_size; i++)
~^~~~~~~~~~~~~~~~~~~~~~~~~~
8 warnings and 2 errors generated.
make: *** [ruby_debug.o] Error 1
완벽하게 작동합니다[email protected] # $ % 당신이 버전의 정확한 조합을 어떻게 알았는지 전혀 모르겠지만, 많은 시간과 두통을 덜어 줬습니다. 다시 한번 감사드립니다. – zwickilton
고마워, 너 락. 마지막 명령을 대체하는 응답을 게시했습니다. – RyanHennig
농담 해? ????? 나는 이것에 2 시간을 보냈다. 그리고 당신은 그 마술 조합을 생각해 낸다? – nicolas