2012-02-16 11 views
7

私は、異なるバージョンのPerl上で単なる数行のコードに分離できたセグメンテーションフォールトを追跡しようとしています。私はperlbrewを使ってさまざまなバージョンの開発とテストを管理していますが、perlにデバッグシンボルを組み込んでいないので、gdbを使ってコアダンプファイルを解析するのは無駄です。perlbrewを使用してデバッグシンボル付きのperlを構築する

だから、デバッグシンボルを有効にしてperlbrewビルドを有効にするにはどうすればよいですか。可能であれば、同じバージョンの標準を上書きするのではなく、別のperlに切り替えることができるようにしたいと考えています。

答えて

11
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を参照してください。

+0

これはちょうど私が探していたようですが、動作しないようです。私はこのコマンドを実行した。 '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

+0

'-DEBUGGING = both'は当時存在していなかったでしょうか?正しいバージョンのディストリビューションについては、 'INSTALL'ファイルを確認してください。 ( '-Doptimise = -g'は当時でも動作するはずです)古代のソフトウェアを使用しているときは、本当に言及する必要があります。 (5.8が最初にリリースされたのは10年前、5.8と5.10はサポートされなくなり、5.12もEOLされる予定です) – ikegami

+0

バージョン固有のオプションについてのヒントをありがとう。私は 'perlbrew install perl-5.8.8 --as = 'perl-5.8.8-debug' -Doptimize = '-g''と一緒に行って、魅力的に機能しました。ありがとう。 – mpeters

関連する問題