तो, कुछ हालिया परिवर्तनों के बाद हमने पाया कि हमारे सबसे पुराने अनुप्रयोगों में से एक कभी-कभी शट डाउन पर क्रैश हो रहा है। यह या तो "रनटाइम त्रुटि 216" संदेशों या विंडोज त्रुटि रिपोर्टिंग के एक संदेश में प्रकट होता है कि एप्लिकेशन ने काम करना बंद कर दिया है। एप्लिकेशन पहले से ही OutputDebugString
उत्सर्जित कर रहा है-हर मोड़ पर संदेश और AFAICT हमारे सभी कोड को पूरा करने के लिए सही तरीके से निष्पादित किया जाता है। सभी विनाशकों को सभी अंतिमकरण खंड और वर्ग विनाशक कहा जाता है, जिनमें से कोई भी अपवाद नहीं उठा रहा है।एक क्रैश डीबग कैसे करें जो केवल एप्लिकेशन शट डाउन पर होता है? (डेल्फी)
इसके अलावा, न तो पागल एक्सेप्ट और न ही फास्टएमएम 4 के पूर्ण डीबग मोड के बारे में शिकायत करने के लिए कुछ भी प्रतीत होता है (हालांकि यह एक गलत निष्कर्ष हो सकता है क्योंकि क्रैश हो सकता है कि उन घटकों के अपने अंतिमकरण कोड से पहले भी क्रैश हो सकता है)।
तो, आप क्या करेंगे? आप कहां से शुरू करेंगे?
यह सवाल विशिष्ट उदाहरण मैं वर्तमान में इतना का सामना करना पड़ रहा हूँ मैं जानबूझ विवरण जा रहा हूँ के बारे में की तुलना में समस्याओं के इस वर्ग के लिए सामान्य दृष्टिकोण के बारे में अधिक माना जाता है। यह पूछने के लिए स्वतंत्र महसूस करें कि क्या आपको लगता है कि वे डिबगिंग दृष्टिकोण की पसंद के लिए प्रासंगिक हो सकते हैं और मैं उन्हें बाद में जोड़ूंगा।
एक वीसीएल बग है जो शटडाउन पर एवी के रूप में प्रकट होता है। यह 'मालिक' रूपों के विनाश से संबंधित है। मैं 'application.Run' के बाद .dpr फ़ाइल में रूपों को स्पष्ट रूप से बंद करके इसे चारों ओर काम करता हूं। यदि आप 'एप्लिकेशन' को आपके लिए बंद करने देते हैं तो बालों के संदर्भों में समस्याएं हो सकती हैं। –
@ डेविड: यह दिलचस्प लगता है। क्या आपके पास इसके लिए क्यूसी नंबर है? हालांकि, मुख्य रूप को छोड़कर मैं मालिक के रूप में संबंधित माता-पिता के रूप में कोड में सभी रूपों को बना रहा हूं। क्या आप जिस मुद्दे पर बात कर रहे हैं, उस मामले में भी लागू होगा? –
यदि आप सब कुछ नीचे लाने के लिए आवेदन के विनाश पर भरोसा कर रहे हैं, तो मैं जिस बग के बारे में बात कर रहा हूं वह लागू हो सकता है। अपनी .dpr फ़ाइल में 'MainForm.Free' डालने का प्रयास करें। मैं क्यूसी नंबर देखेंगे। –