7

Mac OS X v10.8.3経由で Ruby 2 の開発バージョンをインストールし、rbenvそれを使用して作業中の gem をコンパイルしています。デバッグしたいメモリの問題があります。残念ながら、valgrindgdb、またはcgdbを のコンテキストで実行するとrake spec、次のようなエラーが大量に発生します。

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ディレクトリはもう存在しません。

から関連する可能性のある一連のエラーが発生valgrindます。以下に例を示します。

--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内で実行してみgdbました。これが出力です。

rbenvデバッグ シンボルをクリーンアップされない場所に配置するように指示できる方法はありますか?

自作でインストールしたGCC 4.7.1を使用しています。私の正確な Ruby バージョン文字列はruby 2.1.0dev (2013-04-01 trunk 40029) [x86_64-darwin12.3.0]で、私のrbenvバージョンは 0.4.0 です。

4

1 に答える 1

3

ruby-buildのドキュメントによると:

ruby-build と rbenv install はどちらも -k または --keep フラグを受け入れます。これにより、インストール後にダウンロードしたソースを保持するよう ruby​​-build に指示します。これは、Ruby で gdb と memprof を使用する必要がある場合に役立ちます。

Xruby-build install X -kはバージョン番号です。

于 2014-10-20T21:44:19.353 に答える