के आउटपुट की व्याख्या कैसे करूं, मैंने अपने प्रोग्राम में 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
मैं इस के साथ क्या करते हैं? मुझे पर्ल संरचना सामग्री (जादू, iv, पीवी, ..) मिलती है, लेकिन मैं यह कहने के लिए कैसे कहूं कि मेरी रिसाव कहां हो रही है?
http://blog.woobling.org/2009/05/become-hero-plumber.html; यह भी देखें http://stackoverflow.com/questions/1359771/perl-memory-usage-profiling-and-leak-detection, http://stackoverflow.com/questions/2223721/common-perl-memory-reference-leak -पटरर्न, http://stackoverflow.com/questions/1663498/finding-a-perl-memory-leak, http://stackoverflow.com/questions/295385/are-there-any-tools-for-finding -मेमरी-लीक्स-इन-माय-पर्ल-प्रोग्राम – Ether
@ लिंक के लिए अन्य धन्यवाद। अधिकतर मैं यह पहचानने के लिए देख रहा हूं कि इन लीक किए गए ऑब्जेक्ट्स को एकत्रित नहीं किया जा रहा है। – mmccoo