2009-10-20 10 views
9

हमारे .NET 2.0 एप्लिकेशन में से एक यादृच्छिक रूप से गायब होने लगा। इवेंट लॉग में कोई रिकॉर्ड नहीं है, डॉ वाटसन क्रैश डंप उत्पन्न नहीं करता है, कुछ भी नहीं ....NET एप्लिकेशन की समस्या निवारण कैसे करें जो अभी गायब हो जाती है?

इस एप्लिकेशन का निवारण कैसे करें?

+0

क्या आप कोई पी/आवेषण कॉल करते हैं? –

+0

सीधे नहीं। हम क्रिस्टल रिपोर्ट्स का उपयोग करते हैं, जो ऐसी कॉल कर सकते हैं। वैसे भी, आवेदन बिना किसी समस्या के एक वर्ष के लिए काम किया। – alex

+0

क्या आप किसी भी COM घटक का उपयोग करते हैं? –

उत्तर

0

अधिक संभावनाएं:

  • (आसान) का उपयोग करें procmon क्या संसाधन (फ़ाइलें, रजिस्ट्री को देखने के लिए, आदि) WinDbg or ProcExp तरह
  • (और अधिक कठिन सरल डिबगर) का उपयोग करने के लिए है कि कार्यक्रम तक पहुँचने या हो रही है से इनकार पहुँच
  • (सबसे कठिन) प्रक्रिया (attach Visual Studio's debugger from the EXE's Registry settings के लिए एक बड़ा ol 'डिबगर अनुलग्न करें, या 0 की जाँच)
5

1) ईवेंट ईवेंट हैंडलर को AppDomain.UnhandledException ईवेंट से अटैच करें और अपवाद ऑब्जेक्ट लॉग करें।

AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); 

2) WPF के लिए एक धागा अपवाद संचालक

Application.ThreadException += 
    new System.Threading.ThreadExceptionEventHandler(Application_ThreadException); 

संलग्न करें और सिल्वरलाइट आप और अधिक अपवाद संचालकों, उदा ऐप्स का उपयोग करना आवेदन। डिस्पैचर अननहेल्ड अपवाद और अनुप्रयोग। अनचाहे अपवाद क्रमशः, लेकिन इस परिदृश्य में ये आपकी रूचि नहीं रखते हैं। मैं उन्हें पूर्णता के लिए शामिल करता हूं।

+1

इसे संभाला जाता है - कोई लॉग रिकॉर्ड नहीं। – alex

2

प्रत्येक प्रासंगिक अनुभाग के बाद लॉग चरणों को शामिल करने के लिए कोड को संशोधित करें, और फिर यह देखने के लिए लॉग फ़ाइल जांचें कि यह कहां जा रहा है।

तो यह और भी शुरू नहीं करता है, तो है कि आप कुछ भी बता दूँगा ...

3

हम एक ऐसी ही समस्या हुई। हमारे पास AppDomain.UnhandledException के लिए एक कार्यक्रम था लेकिन यह भी इसे छोड़ रहा था। जब हमने क्लिपबोर्ड सामग्री का परीक्षण किया तो यह एक SystemAccessViolation बन गया।

यदि यह समान है (ईजी स्किपिंग AppDomain.UnhandledException ईवेंट) तो मैं इंटरऑप के आस-पास लॉग सब कुछ और आपकी प्रक्रिया के बाहर से 'शत्रुतापूर्ण' डेटा कॉल और कोड की समीक्षा करने का सुझाव दूंगा। इसे ट्रैक करने में हमें कई सप्ताह लग गए और इसे ठीक करने के लिए एक पंक्ति में बदलाव आया।

इसके अलावा, वीएस में एमडीए चालू करें और इसके साथ अपना प्रोग्राम चलाएं और देखें कि क्या आपको त्रुटियां मिलती हैं या नहीं।

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