2013-05-07 2 views
7

Mac OS X v10.8.3에서 rbenv을 통해 Ruby 2의 개발 버전을 설치했고, 작업중인 gem을 컴파일하는데 사용하고 있습니다. 디버깅 할 메모리 문제가 있습니다.rbenv에서 디버깅 기호를 유지하려면 어떻게합니까?

warning: Could not find object file "/private/var/folders/5f/h1s00nhn0rv4ckkpg4k_bwhr0000gn/T/ruby-build.20130331232604.54521/ruby-2.0.0-dev/main.o" - no debug information available for "main.c". 

물론, ruby-build 디렉토리가 더 이상 존재하지 : 나는 rake spec의 맥락에서 valgrind, gdb, 또는 cgdb를 실행할 때마다 불행하게도, 나는 whole bunch of errors 하나 같이 얻을.

series of likely-related errorsvalgrind입니다.

--2564-- /Users/jwoods/.rbenv/versions/2.0.0-dev/lib/libyaml-0.2.dylib: 
--2564-- dSYM directory is missing; consider using --dsymutil=yes 

내가 --dsymutil=yes 옵션, 나는 gdb에서 기본적으로 동일하다 오류가 얻을 사용하려고하면 : 다른 질문에 대한 답변 당

warning: (x86_64) /private/var/folders/5f/h1s00nhn0rv4ckkpg4k_bwhr0000gn/T/ruby-build.20130331232604.54521/ruby-2.0.0-dev/ext/openssl/ossl_bn.o unable to open object file 

를, 내가 실행하려고 여기에 예 info target inside gdb. Here is the output.

rbenv에는 디버깅 기호를 어딘가에 정리하도록 지시 할 수있는 방법이 있습니까?

나는 homebrew를 통해 설치 한 GCC 4.7.1을 사용하고 있습니다. 내 정확한 Ruby 버전 문자열은 ruby 2.1.0dev (2013-04-01 trunk 40029) [x86_64-darwin12.3.0]이고, 내 rbenv 버전은 0.4.0입니다. ruby-build에 대한 설명서에 따르면

+0

오류 및 gdb 출력을 질문으로 이동하십시오. 링크가 부패하거나 링크 썩음으로 인해 중단됩니다. 그런 문제가 발생하면 같은 문제에 대한 답변을 얻으려고하는 사람들에게 질문을 쓸모 없게됩니다. 또한, 귀하의 정보를 오프 사이트에두면, 당신은 그들을 추격하는 것을 도울 수있는 사람들을 강요합니다. 그것은 그들의 시간을 낭비합니다. 여기에 정보를 입력하면 도움을 드리겠습니다. –

+0

당신은 이것에 대한 해결책을 찾았습니까? 나는 세부 사항을 포함하여 정확하게 동일한 질문을 가지고있다. –

+0

일종의, 나는 그것을 'rbenv'에 적용하려고 시도하지 않았습니다. 나는 당신이 rbenv와 Ruby를 컴파일 할 때 실제로 결과 바이너리에'dsymutil'을 실행해야한다고 생각합니다. 이것이 내 맥을 디버깅 심볼로 유지할 수있는 유일한 방법이다. –

답변

1

:

루비 빌드 및 설치 후 다운로드 소스를 유지하기 위해 루비 빌드를 알려주는 -k 또는 --keep 플래그를 받아 설치 rbenv 모두. Ruby에서 gdb와 memprof를 사용해야하는 경우 유용 할 수 있습니다.

그래서 ruby-build install X -k을 시도하십시오. 여기서 X는 버전 번호입니다.

관련 문제