gpt4 book ai didi

ruby - 如何让 rbenv 继续调试符号?

转载 作者:数据小太阳 更新时间:2023-10-29 07:00:51 24 4
gpt4 key购买 nike

我在 Mac OS X v10.8.3 上通过 rbenv 安装了 Ruby 2 的开发版本,并使用它来编译我正在开发的 gem。我有一个内存问题,我想调试。不幸的是,每当我在 rake spec 的上下文中运行 valgrindgdbcgdb 时,我都会得到一个whole bunch of errors像这样:

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 目录已不存在。

我得到一个 series of likely-related errors来自 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

根据对另一个问题的回答,我尝试在 gdb 中运行 info targetHere is the output.

有什么方法可以指示 rbenv 将调试符号放在不会被清理的地方吗?

我正在使用通过自制软件安装的 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 的文档:

Both ruby-build and rbenv install accept the -k or --keep flag, which tells ruby-build to keep the downloaded source after installation. This can be useful if you need to use gdb and memprof with Ruby.

所以尝试 ruby-build install X -k,其中 X 是版本号。

关于ruby - 如何让 rbenv 继续调试符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16427462/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com