【问题标题】:Using perlbrew to build a perl with debugging symbols使用 perlbrew 构建带有调试符号的 perl
【发布时间】:2012-03-08 09:04:03
【问题描述】:

我正在尝试追踪一个分段错误,我已经能够将其隔离为不同版本 Perl 上的几行代码。我使用 perlbrew 来管理我的各种版本进行开发和测试,但是它没有构建带有调试符号的 perl,所以使用 gdb 分析核心转储文件是毫无用处的。

那么在启用调试符号的情况下构建 perlbrew 的最佳方法是什么。如果可能的话,我希望能够让它成为一个单独的 perl,我可以切换到而不是覆盖同一版本的标准 perl。

【问题讨论】:

    标签: perl segmentation-fault debug-symbols perlbrew


    【解决方案1】:
    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 读取符号...(未找到调试符号) ",所以很明显我仍然缺少一些东西。
    • -DEBUGGING=both 那时可能还不存在?检查INSTALL 文件以获得正确的发行版。 (-Doptimise=-g 甚至在那时也应该可以工作。)当你使用古老的软件时,你真的应该提到它。 (5.8 于 10 年前首次发布。5.8 和 5.10 不再受支持,5.12 也即将停产。)
    • 感谢有关特定版本选项的提示。我选择了perlbrew install perl-5.8.8 --as='perl-5.8.8-debug' -Doptimize='-g',它就像一个魅力。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-16
    • 1970-01-01
    • 2019-08-18
    • 2011-04-27
    相关资源
    最近更新 更多