gpt4 book ai didi

perl - *** 检测到 glibc *** perl : double free or corruption (! prev): 0x0c2b7138 ***

转载 作者:行者123 更新时间:2023-12-04 18:54:42 24 4
gpt4 key购买 nike

在运行 perl 程序时,我遇到了以下错误

*** 检测到 glibc *** perl: 双重释放或损坏 (!prev): 0x0c2b7138 ***
/lib/tls/i686/cmov/libc.so.6[0xb7daea85]
/lib/tls/i686/cmov/libc.so.6(cfree+0x90)[0xb7db24f0]
perl(Perl_pregfree+0x3e)[0x80a004e]
perl(perl_destruct+0xcf1)[0x806b711]
/usr/local/lib/perl/5.8.8/auto/threads/threads.so[0xb79d2dfb]
/usr/local/lib/perl/5.8.8/auto/threads/threads.so[0xb79d2f9b]
/usr/local/lib/perl/5.8.8/auto/threads/threads.so[0xb79d5fbb]
/lib/tls/i686/cmov/libpthread.so.0[0xb7e974fb]
/lib/tls/i686/cmov/libc.so.6(克隆+0x5e)[0xb7e19e5e]

我的操作系统是 Ubuntu 8.04,Perl 版本是 5.8.8

我的脚本包含线程...我无法共享代码,但想知道是否有人遇到过此类错误以及您如何解决/接近/分析它。除了解决此类问题外,是否有任何工具/日志可供我引用。

谢谢您的支持。

P.S:我知道线程不是任何人的理想 friend 。但是我不控制使用 perl 的决定。我只是在维护代码。

最佳答案

打开您的代码并将其放在问题发生之前的某个位置:

$DB::single=1;

然后运行
PERL5OPT='-dt'  perl yourscript.pl 

并击中

中央]

重复直到问题再次出现。 (注意它是否在失败之前停止在您的手动断点处)。

然后迭代地向前/向后移动手动断点,直到您在终止点之前拥有它(您也可以使用一堆打印命令找到死亡点),然后从那里尝试工作,可能使用崩溃前的内省(introspection)。

这将(希望)帮助您生成一个显示问题的测试用例。

关于perl - *** 检测到 glibc *** perl : double free or corruption (! prev): 0x0c2b7138 ***,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/882422/

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