perl – 如何解释Devel :: Leak的输出
发布时间:2020-12-15 22:01:37 所属栏目:大数据 来源:网络整理
导读:我在我的程序中运行了 Devel::Leak ,我不明白它给我的输出. 要开始,我看到它打印了一个指针列表.我可以在列表中获取该列表吗?然后我可以使用FindRef来查看它的来源. 例如: new 0xaebc28 : SV = PVGV(0x30e7e48) at 0xaebc28 REFCNT = 1 FLAGS = (GMG,SMG)
我在我的程序中运行了
Devel::Leak ,我不明白它给我的输出.
要开始,我看到它打印了一个指针列表.我可以在列表中获取该列表吗?然后我可以使用FindRef来查看它的来源. 例如: new 0xaebc28 : SV = PVGV(0x30e7e48) at 0xaebc28 REFCNT = 1 FLAGS = (GMG,SMG) IV = 0 NV = 0 PV = 0 MAGIC = 0x2db7dc0 MG_VIRTUAL = &PL_vtbl_glob MG_TYPE = PERL_MAGIC_glob(*) MG_OBJ = 0xaebc28 NAME = "SUPER::" NAMELEN = 7 GvSTASH = 0x76b228 "IO::File" GP = 0x314b170 SV = 0x30283c8 REFCNT = 1 IO = 0x0 FORM = 0x0 AV = 0x0 HV = 0x301fdb8 CV = 0x0 CVGEN = 0x0 GPFLAGS = 0x0 LINE = 161 FILE = "/mypath/perl_install/perl/lib/5.8.9/x86_64-linux/IO/File.pm" FLAGS = 0x0 EGV = 0xaebc28 "SUPER::" 或一堆较小的条目: new 0x161c268 : SV = RV(0x3029b40) at 0x161c268 REFCNT = 1 FLAGS = (ROK) RV = 0x161c218 我该怎么办?我得到Perl结构的东西(魔术,iv,pv,..),但是如何从这些行去知道我的泄漏发生在哪里? 解决方法
看看
Devel::LeakTrace的一个模块,它还记录了内存被分配的位置.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |