我通過rbenv
安裝在Mac OS X v10.8.3紅寶石2的開發版本,並用它來編譯寶石我的工作我。我有一個我想調試的內存問題。不幸的是,每當我在rake spec
的上下文中運行valgrind
,gdb
,或cgdb
,我得到一個whole bunch of errors像這樣的:如何讓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
目錄不再存在。
我從valgrind
一個series of likely-related errors。下面舉例說明:
--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
。 Here 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。
請將錯誤和gdb輸出到你的問題。鏈接由於鏈接腐爛而變得陳舊和/或中斷。一旦發生這種情況,您的問題將無法用於尋求解決同一問題的人。此外,通過將您的信息置於場外,您可能會迫使那些想要幫助追查的人,這會浪費他們的時間。幫助我們通過將信息放在這裏來幫助您。 – 2014-08-14 19:38:24
你有沒有找到解決這個問題的方法?我有完全相同的問題,包括細節。 – 2014-09-12 19:17:05
排序的,雖然我還沒有嘗試過將它應用到'rbenv'。我想當你編譯rbenv和Ruby時,你必須在生成的二進制文件上真正運行'dsymutil'。這是我獲得Mac保留我的調試符號的唯一方法。 – 2014-09-12 19:28:45