हमारे एप्लिकेशन में अजीब घातक सिस्टम का अनुभव होता है। एक्सेसऑलिओशन अपवाद। हम इन्हें देखते हैं क्योंकि हमने अपवाद लॉग करने के लिए AppDomain.CurrentDomain.UnhandledException ईवेंट कॉन्फ़िगर किया है।सिस्टम का कारण ढूंढ रहा है .AccessViolationException
Exception: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Bootstrap.Run() in e:\build-dir\src\Bootstrap.cs:line 25
अपवाद ही संदेश के अलावा कोई और जानकारी है प्रतीत नहीं होता है "पढ़ने के लिए या संरक्षित स्मृति लिखने के लिए प्रयास किया गया। इस बार एक संकेत है कि अन्य स्मृति भ्रष्ट है।"
- समस्या के कारण पाने के लिए अब हम क्या कदम उठा सकते हैं?
- क्या अवैध पता या सूचक मूल्य निर्धारित करने का कोई तरीका है जो दुर्घटना का कारण बनता है?
- क्या हम यह पता लगा सकते हैं कि मूल पुस्तकालय कोड समस्या का कारण बन रहा था?
- क्या कोई और डिबगिंग/ट्रेसिंग सक्षम है जिसे हम सक्षम कर सकते हैं?
अद्यतन
- इस WinForms API के पिछले गैर threadsafe उपयोग की वजह से हो सकता है?
पर्याप्त प्रतीकों भी साथ देने के लिए भरी हुई है, तो आप एक डिबगर संलग्न के साथ इस चल की कोशिश की है (db-int32 या NVARCHAR के लिए लंबी (10) जो कम है के लिए एक लंबे में गुजर) एक उपयोगी कॉलस्टैक? –