7
我試圖找到一個分段錯誤,我已經能夠隔離到不同版本的Perl上的幾行代碼。我使用perlbrew來管理我的各種版本以進行開發和測試,但它不會使用調試符號構建perl,所以使用gdb來分析核心轉儲文件是非常沒用的。使用perlbrew構建一個帶有調試符號的perl
那麼什麼是最好的方式讓perlbrew與啓用調試符號生成。如果可能的話,我希望能夠讓它成爲一個單獨的perl,我可以切換到而不是覆蓋相同版本的標準版本。
我試圖找到一個分段錯誤,我已經能夠隔離到不同版本的Perl上的幾行代碼。我使用perlbrew來管理我的各種版本以進行開發和測試,但它不會使用調試符號構建perl,所以使用gdb來分析核心轉儲文件是非常沒用的。使用perlbrew構建一個帶有調試符號的perl
那麼什麼是最好的方式讓perlbrew與啓用調試符號生成。如果可能的話,我希望能夠讓它成爲一個單獨的perl,我可以切換到而不是覆蓋相同版本的標準版本。
perlbrew install -v 5.14.2 --as=5.14.2d -DEBUGGING=-g
(--as
把它以不同的名稱,這樣你就可以保持你現有的基礎之上。)
還有包括上述之類的東西下面,你肯定不需要:
perlbrew install -v 5.14.2 --as=5.14.2d -DEBUGGING=both
請參閱Perl發行版的根目錄中的INSTALL
。
這看起來就像我正在尋找的,但它似乎並沒有工作。我運行了這個命令'perlbrew install perl-5.8.8 --as ='perl-5.8.8-debug'-DEBUGGING = both'。然後用gdb檢查它,我運行了'gdb/home/mpeters/perl5/perlbrew/perls/perl-5.8.8-debug/bin/perl',而gdb仍然說「從/ home/mpeters/perl5/perlbrew/perls/perl-5.8.8-debug/bin/perl ...(沒有找到調試符號)「,所以顯然我仍然缺少一些東西。 – mpeters 2012-02-24 15:25:38
'-DEBUGGING =兩個'可能當時不存在?檢查正確版本發行版的'INSTALL'文件。 ('-Doptimise = -g'應該可以工作。)當你使用古老的軟件時,你應該提及它。 (5.8在10年前首次發佈,5.8和5.10不再支持,而5.12也將被EOLed) – ikegami 2012-02-24 16:45:25
感謝有關選項特定版本的提示。我用'perlbrew install perl-5.8.8 --as ='perl-5.8.8-debug'-Doptimize =' - g'',它的功能就像一個魅力。謝謝。 – mpeters 2012-03-01 19:32:37