मेरे डायरेक्टएक्स एप्लिकेशन के अंत में मुझे "डायरेक्ट 3 डी डिवाइस में एक गैर-शून्य संदर्भ गणना है, जिसका अर्थ है कि कुछ ऑब्जेक्ट जारी नहीं किए गए थे।" आवेदन बड़ा है और मेरे द्वारा लिखित नहीं है, मैं डीबगिंग के बारे में कैसे जा सकता हूं कि कौन से संसाधन जारी नहीं किए जा रहे हैं?डायरेक्टएक्स 10 संसाधन लीक
उत्तर
आप here वर्णित अनुसार डायरेक्टएक्स कंट्रोल पैनल उपयोगिता का उपयोग कर सकते हैं। "मेमोरी लीक पर ब्रेक करें" चेक बॉक्स चालू करें, फिर आप यह पता लगाने के लिए "ऑलोकिड तोड़ें" का उपयोग कर सकते हैं कि कौन सा संसाधन मुक्त नहीं हुआ था।
पहला कदम डायरेक्टएक्स डीबग डीएलएल, via the DirectX Control Panel का उपयोग करना है। (आईआईआरसी, जब आप डायरेक्टएक्स एसडीके स्थापित करते हैं, तो ये एक वैकल्पिक आइटम होते हैं, इसलिए आपको उन्हें इंस्टॉल करने की आवश्यकता हो सकती है।)
जब आप अपना आवेदन अगली बार चलाते हैं, तो डायरेक्टएक्स आपको लीकिंग के बारे में अधिक जानकारी देनी चाहिए।
D3DX: Set HKLM\Software\Microsoft\Direct3D\D3DXBreakOnAllocId=0x1c17 to debug
allocation id ^^^^^^
या, इस तरह::
Direct3D9: (WARN) :Memory Address: 00385580 lAllocID=1 dwSize=000047f8, (pid=00000474)
allocation id^
बार जब आप एक आवंटन आईडी है, तो आप जब कि आवंटन होता है को तोड़ने के लिए डायरेक्ट बता सकते हैं विशेष रूप से, आप इस तरह की एक पंक्ति के लिए देखने के लिए चाहता हूँ अपने प्रोग्राम में, डायरेक्टएक्स कंट्रोल पैनल में Break on AllocID
सेटिंग सेट करके (या उपरोक्त वर्णित रजिस्ट्री कुंजी सेट करके)।
फिर, यह कॉलस्टैक की जांच करने की बात है कि यह देखने के लिए कि डायरेक्टएक्स कॉल क्या शामिल है।
क्या यह विधि डीएक्स 10 के साथ काम करती है? मुझे कोई चेतावनी संदेश नहीं दिख रहा है – yxk
उत्तर डीएक्स 10 के लिए अप्रासंगिक है, केवल डीएक्स 9 पर लागू होता है जब पूछताछकर्ता ने स्पष्ट रूप से DX10 जानकारी का अनुरोध किया था। – IneQuation
- 1. डायरेक्टएक्स 9 से डायरेक्टएक्स 10
- 2. शेडर्स में डायरेक्टएक्स शेडर संसाधन देखें
- 3. .NET संसाधन लीक Gotchas
- 4. डायरेक्टएक्स
- 5. डायरेक्टएक्स
- 6. डायरेक्टएक्स
- 7. डायरेक्टएक्स
- 8. थ्रेडलोकल संसाधन लीक और वीक रेफरेंस
- 9. शुरुआत के लिए कुछ अच्छे डायरेक्टएक्स संसाधन क्या हैं?
- 10. वीसी 10
- 11. डायरेक्टएक्स 9.0
- 12. डायरेक्टएक्स/ओपनजीएल
- 13. डायरेक्टएक्स 11
- 14. डायरेक्टएक्स/शार्पडीएक्स
- 15. डायरेक्टएक्स/ओपनजीएल
- 16. डायरेक्टएक्स डेस्कटॉप
- 17. लीक
- 18. डायरेक्टएक्स सेट एकल पिक्सेल
- 19. मिक्सिंग डायरेक्टएक्स और ओपनजीएल
- 20. ओपनजीएल/डायरेक्टएक्स हुक - FRAPS
- 21. डायरेक्टएक्स या ओपनजीएल
- 22. PHP इमेजिक मेमोरी लीक
- 23. डायरेक्टएक्स के साथ डेस्कटॉप कैप्चर
- 24. डेल्फी - डायरेक्टएक्स - ओएसडी/स्क्रीन ओवरले
- 25. जावा पर डायरेक्टएक्स संभव है?
- 26. डब्ल्यूपीएफ मेमोरी लीक
- 27. मेमोरी लीक
- 28. मेमोरी लीक
- 29. यूआईडीएटीपीकर लीक
- 30. मेमोरी लीक
क्या इस काम को DX10 के साथ करने का कोई तरीका है? – yxk
उत्तर डीएक्स 10 के लिए अप्रासंगिक है, केवल डीएक्स 9 पर लागू होता है जब पूछताछकर्ता ने स्पष्ट रूप से DX10 जानकारी का अनुरोध किया था। – IneQuation