2012-07-31 3 views
2

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 

답변

9

그래서 문제의 원인은 linecache19였습니다. 작동하려면 -v 0.5.13이 필요했습니다.

gem install ruby-debug-base19x -v 0.11.30.pre10 
gem install ruby-debug-ide -v 0.4.17.beta14 
curl -L "http://rubyforge.org/frs/download.php/75414/linecache19-0.5.13.gem" -o /tmp/linecache19-0.5.13.gem 
gem install /tmp/linecache19-0.5.13.gem 

는하지만, 내 생각 엔 linecache19 -v 0.5.13이 http://rubyforge.org/frs/?group_id=8883&release_id=46302

행운을 빌어에서 다운로드 할 필요가 있다는 것입니다.

+2

완벽하게 작동합니다[email protected] # $ % 당신이 버전의 정확한 조합을 어떻게 알았는지 전혀 모르겠지만, 많은 시간과 두통을 덜어 줬습니다. 다시 한번 감사드립니다. – zwickilton

+0

고마워, 너 락. 마지막 명령을 대체하는 응답을 게시했습니다. – RyanHennig

+0

농담 해? ????? 나는 이것에 2 시간을 보냈다. 그리고 당신은 그 마술 조합을 생각해 낸다? – nicolas

2

내가 RubyMine을 사용하고, 그래서 상황이 조금 다를 수 있습니다 만, 동일해야합니다 ..

당신은 gem install에 의해 두 개의 보석을 설치해야합니다

archive-tar-minitar 
ruby_core_source 

그런 다음에 IDE, 디버거를 실행하십시오. 그 자체로 필요한 보석을 만들어야합니다. 오류가 발생하면 일부 보석이 누락 될 수 있으므로 신중하게 오류를 읽고 gem install을 사용하여 설치하십시오.

RubyMine 4.5와 내 응용 프로그램으로 새로 설치 한 Mountain Lion을 사용해 보았지만 문제없이 작동합니다. (저는 Xcode 4.4를 사용하고 있습니다)

+1

나는 그것을이 내부 RubyMine를 실행하고 IntelliJ 10.4에서 시험해 보았습니다. 다시 작동하기 시작했습니다. RubyMine이 몇 가지 패치를 만들었을지 모릅니다. – Kamilski81

-2

debugger 보석을 사용하십시오.

  • 루비 debug19 메인테이너 유지되지 않습니다 : 포크

    이유는 debugger readme 인용 없습니다 루비 코어에서 패치에도 불구하고

    • , 어떤 보석 출시 2 년 이상에! - 9/1/09.
    • 알려진 작동중인 1.9.3 버전을 릴리스하라는 요청은 무시되었습니다.
    • rubyforge 문제에 응답하지 않으며 github 문제가 열려 있지 않습니다.
  • 현재 설치가 고통 스럽습니다. manually downloading gems from rubyforge이 필요하고 컴파일러 플래그 또는 recompiling ruby으로 설치해야합니다.
  • 미래의 루비를 위해 알맞은 루비 디버거가 필요합니다!

저는 거의 새로운 문제점을 가지고 새로운 디버거 젬을 사용했습니다.

2

@ Kamilski81의 대답에서 명령을 사용했지만 마지막은 작동하지 않았습니다. 여기에 다운로드하고 설치하는 명령으로 대체 마지막으로 그의 명령은 다음과 같습니다

gem install ruby-debug-base19x -v 0.11.30.pre10 
gem install ruby-debug-ide -v 0.4.17.beta14 
curl -L "http://rubyforge.org/frs/download.php/75414/linecache19-0.5.13.gem" -o /tmp/linecache19-0.5.13.gem 
gem install /tmp/linecache19-0.5.13.gem 
+0

저 "curied 연결이 거부되었습니다"실패 –

1

재 : linecache19 - 나는 https://github.com/robmathews/linecache19-0.5.13/issues/1을 제기 - 그래서 당신은 지금 그것을 얻을 수 있습니다 $ gem install linecache19-patched Fetching: linecache19-patched-0.5.13.gem (100%) Successfully installed linecache19-patched-0.5.13 Couldn't find file to include 'VERSION' from lib/linecache19.rb Installing ri documentation for linecache19-patched-0.5.13 1 gem installed $

관련 문제