2012-01-06 16 views
7

के लिए सुरक्षित एमएम क्या किसी ने सेल्फएमएम डीबगिंग मेमोरी मैनेजर को डेल्फी एक्सई 2 में पोर्ट किया है? 2009 SafeMM on CodeCentral संकलित नहीं होगा क्योंकि आरटीएल अब मेमोरी फ़ंक्शंस के लिए इंटीजर के बजाय नेटिवइन्ट का उपयोग करता है।डेल्फी XE2

+0

क्या आपने अभी तक 'इंटेगर' की घोषणा' मूल 'की घोषणाओं को उचित नहीं माना है? – LaKraven

+1

मुझे यकीन नहीं है कि यह इतना आसान होगा। मैंने सोचा कि मैं पूछूंगा कि अगर कोई इसे स्वयं करने की कोशिश करने से पहले Win64 को पहले से ही सुरक्षित कर देता है, तो मुझे अन्य लोगों के प्रयासों की आवश्यकता नहीं है। –

+2

इन दिनों पूर्ण डीबग मोड में अधिकांश लोग [फास्टएमएम] (http://sourceforge.net/projects/fastmm/) का उपयोग नहीं करते हैं? ऐसा लगता है कि मैंने कभी भी उन सभी नास्टियों को पकड़ लिया है जो मैंने कभी फेंक दिया है और पूरी तरह से XE2 और 64-बिट है। –

उत्तर

3

मैंने कोड 0 सेंट्रल पर अपना Delphi XE2 port of SafeMM अपलोड किया है। मैंने सत्यापित किया है कि यह 4 जीबी से बड़े ब्लॉक को सही ढंग से आवंटित करता है और यह Win64 अनुप्रयोग में उपयोग किए जाने पर 4 जीबी से अधिक छोटे ब्लॉक आवंटित कर सकता है और यह अभी भी Win32 अनुप्रयोगों में सही तरीके से काम करता है।

मैंने 7 जुलाई 2012 को एक कोड को ठीक करने के लिए सुरक्षित कॉलम को क्रैश करने का कारण बनने के लिए सुरक्षित कोड को क्रैश करने का कारण बना दिया है जब दो धागे एक ही समय में एक बड़े ब्लॉक (> 4 केबी) को मुक्त करने का प्रयास करते हैं। यह बग अपने मूल डेवलपर द्वारा सेफएमएम के संस्करण 0.3 में पेश किया गया था। यदि आप डेल्फी के पुराने संस्करण के साथ सेफएमएम के इस संस्करण का उपयोग कर रहे हैं, तो आपको मेरे संस्करण में किए गए महत्वपूर्ण खंड में FreeLargeBlock में कोड को लपेटने की आवश्यकता होगी।

संबंधित मुद्दे