मैं अपवाद कोड के साथ स्टार्टअप पर क्रैश होने वाली .NET विंडोज़ एप्लिकेशन को कैसे ठीक करूं: 0xE0434352?


81

मैंने Visual Studio 2010 में एक .NET विंडोज फॉर्म एप्लीकेशन बनाया है। मैंने विजुअल स्टूडियो 2010 के माध्यम से एक संबंधित सेटअप / इंस्टाल पैकेज भी बनाया है। यह 32-बिट (x86) एप्लिकेशन के रूप में बनाया गया है। (हम तृतीय-पक्ष Windows प्रपत्र नियंत्रण का उपयोग करते हैं जो केवल 32-बिट हैं)।

मैं सेटअप पैकेज को चलाने और अन्य विंडोज 7 64-बिट वातावरण और 32 बिट विंडोज एक्सपी बक्से में सफलतापूर्वक तैनात करने में सक्षम हूं। इंस्टॉल किया गया एप्लिकेशन इन पर ठीक चलता है।

हालाँकि, जब मैं Windows Server 2008 R2 - 64 बिट को चलाने का प्रयास करता हूं , तो एप्लिकेशन स्टार्टअप पर क्रैश हो जाता है। इसे इंस्टॉलर के माध्यम से बिना किसी त्रुटि के सफलतापूर्वक इंस्टॉल किया गया।

एप्लिकेशन लोड करते समय यह दुर्घटनाग्रस्त होता है। मैंने एप्लिकेशन में पहली पंक्ति के रूप में एक संदेश बॉक्स रखा, यह देखने के लिए कि क्या यह पिछले लोड हो रहा है। संदेश बॉक्स दिखाई नहीं देता है, इसलिए मुझे लगता है कि यह एप्लिकेशन के लोडिंग / इनिट के दौरान होता है।

अब तक मुझे बहुत कुछ नहीं मिला। विवरण से मैं निम्नलिखित देखता हूं:

Exception Code: E0434352

मैं चारों ओर मछली मार रहा हूँ / देखने के लिए अगर कुछ स्पष्ट था, लेकिन मैंने कुछ नहीं देखा। मैंने सीएलआर में संभावित स्टैक ओवरफ्लो के कुछ संदर्भ देखे ।

Windows प्रपत्र अनुप्रयोग निम्न संदर्भों के साथ बनाया गया है:

  • DevExpress
  • Infragistics Winforms नियंत्रण करता है
  • ORACLE DataAccess DLL
  • RabbitMQ

मामला क्या है? मैं इसे कैसे समझ सकता हूं? अधिक उपयोगी जानकारी प्राप्त करने के लिए मैं डीबग कैसे करूं?


उन में से कौन सा संदर्भ अप्रबंधित कोड का उपयोग करता है? भागो WinDbg, अपने आवेदन को लोड करें और देखें कि क्या त्रुटि पर कोई जानकारी आउटपुट की गई है।
keyboardP

इसके अलावा, संभवतः संबंधित है अगर यह ओरैकल मॉड्यूल निकला: stackoverflow.com/questions/2100955/…
कीबोर्ड

3
एक संदेश बॉक्स? गंभीर? जाओ System.Diagnostics.Debug पर एक नज़र डालें।
हेंक होल्टरमैन जुआन

Debugger.Launch () Visual Studio डीबगर के लिए अपनी प्रक्रिया को संलग्न करने के लिए संकेत देगा जब वह उस रेखा को चलाता है, इसलिए प्रारंभ पर प्रक्रियाओं को संलग्न करने के लिए अपने प्रवेश बिंदु के पास इसे छड़ी कर सकते हैं।
एमिकेबल

1
कुछ समय हो गया है लेकिन - क्या आपने समस्या को ठीक करने का प्रबंधन किया है? मेरे पास एक ग्राहक है जो इस व्यवहार की रिपोर्ट करता है। यहां एक विकासशील मशीन पर प्रजनन करना कठिन है। कृपया स्वतंत्र महसूस करें और अपना समाधान साझा करें - मुझे लगता है कि यह मूल्य बढ़ाने के लायक है। धन्यवाद!
बधिर

जवाबों:


71

0xE0434352 सभी .NET अपवादों के लिए अपवाद कोड है, जिससे आपको अधिक जानकारी नहीं मिलेगी। आपको यह अपवाद कोड कैसे मिला? घटना लॉग?

अधिक जानकारी प्राप्त करने के लिए डीबगर का उपयोग करने के लिए आपकी सबसे अच्छी शर्त है। यदि Visual Studio डीबगर आपकी मदद नहीं करेगा, तो आपको SOS के साथ WinDbg की जांच करनी होगी । यहाँ और यहाँ देखेंपरिचय के लिए । इसे अपवाद पर तोड़ने दें, और देखें कि आप क्यों पर अधिक जानकारी प्राप्त कर सकते हैं।

यदि आपको संदेह है कि असेंबलियों को लोड करते समय यह एक समस्या है तो आप फ्यूजन लॉग की जांच कर सकते हैं ।


4
डिबगर्स की कोशिश करने से पहले Tergiver के जवाब की जाँच करें
Rabolf

82

यदि आपको इवेंट व्यूअर से वह त्रुटि मिल रही है, तो आपको स्रोत ".NET रनटाइम" से एक और त्रुटि ईवेंट (कम से कम एक) देखना चाहिए। उस त्रुटि संदेश को देखें क्योंकि इसमें Exceptionजानकारी होगी ।


5
कि वास्तव में मेरी मदद की, धन्यवाद, इस प्रकार मैंने पाया है कि मैं निर्भरता (FileNotFound अपवाद) में से एक को याद कर रहा था
Pavel K

4

मुझे यकीन नहीं है कि यह किसी की मदद करेगा या नहीं, लेकिन चूंकि यह मेरी समस्या थी, इसलिए मैं यह उल्लेख करने योग्य हूं:

मुझे यह त्रुटि मिल रही थी, और यह उस प्लेटफ़ॉर्म के साथ एक समस्या बन गया जिसके लिए EXE का निर्माण किया गया था। हमारे पास x86 के लिए इसका निर्माण था, और परियोजना में Oracle संदर्भ के कारण इसे x64 होना चाहिए। जब हमने वह बदलाव किया, तो समस्या दूर हो गई। इसलिए, देखें कि क्या आपके पास कोई समान संघर्ष है।


4

ऐसा लगता है कि यह त्रुटि 0xe0434352 विभिन्न त्रुटियों के लिए लागू होती है।

यदि यह किसी की मदद करता है, तो मैं इस त्रुटि में भाग गया जब मैं एक नए विंडोज 10 इंस्टॉलेशन पर अपना एप्लिकेशन इंस्टॉल करने का प्रयास कर रहा था। यह अन्य मशीनों पर काम करता था, और ऐसा लगता था कि ऐप मरने से पहले शुरू हो जाएगा। बहुत परीक्षण और त्रुटि के बाद समस्या यह हो गई कि ऐप को DirectX9 की आवश्यकता थी। हालाँकि DirectX का एक बाद का संस्करण मौजूद था लेकिन इसके पास संस्करण 9 होना था। आशा है कि किसी को निराशा से बचाता है।


यह बहुत ही अजीबोगरीब मामला है। निश्चित नहीं कि इस विशेष परिस्थिति का सामना कितने लोग करेंगे।
एनिओला

3

मैं दिन भर इससे लड़ रहा था और अपने उपयोगकर्ताओं से सॉफ्टवेयर के डिबग संस्करण चलाने के लिए कह रहा था। क्योंकि ऐसा लग रहा था कि यह पहली पंक्ति नहीं चला रहा था। बिना जानकारी के बस दुर्घटना।

तब मुझे महसूस हुआ कि यह त्रुटि फॉर्म के InitializeComponent के अंदर थी।

अपवाद प्राप्त करने का तरीका इस लाइन को हटाना था (या इसे टिप्पणी करना):

System.Diagnostics.DebuggerStepThrough()

एक बार जब आप लाइन से मुक्त हो जाते हैं, तो आपको एक सामान्य अपवाद मिलेगा।


2

मुझे यह तब मिल रहा था जब ऐप को तैनात किया गया था। मेरे मामले में, मैंने प्रोजेक्ट सिक्योरिटी टैब पर "यह एक पूर्ण विश्वास एप्लिकेशन है" चुना, और यह तय किया।


3
यह शायद वास्तविक फिक्स नहीं है: आप अपने ऐप / इसकी सुरक्षा मांगों को सेट करना चाहते हैं, इसलिए यह मध्यम-भरोसे के वातावरण में ठीक से चलता है। लेकिन यह एक उपयोगी शुरुआती बिंदु है - धन्यवाद!
रूप

1

मुद्दा:

.Net अनुप्रयोग कोड अपना निष्पादन शुरू करने से पहले गर्भपात करता है [कंसोल एप्लीकेशन या विंडोज एप्लीकेशन]

त्रुटि प्राप्त हुई: त्रुटि कोड "E0434352" से निरस्त

अपवाद : अज्ञात अपवाद

दृष्टांत 1:

जब कोई एप्लिकेशन पहले ही निष्पादित हो जाती है, जिसने कुछ आश्रित संसाधनों का उपयोग किया है और उन संसाधनों को अभी भी निष्पादित एप्लिकेशन के साथ उपयोग किया जाता है, जब किसी अन्य अनुप्रयोग या उसी exe को किसी अन्य स्रोत से चालू किया जाता है, तो एप्लिकेशन में से एक त्रुटि फेंकता है

परिदृश्य 2:

जब किसी एप्लिकेशन को शेड्यूलर या स्वचालित नौकरियों द्वारा ट्रिगर किया जाता है, तो यह पृष्ठभूमि पर निष्पादन स्थिति में हो सकता है, इस बीच जब आप उसी एप्लिकेशन को फिर से ट्रिगर करने का प्रयास करते हैं, तो त्रुटि ट्रिगर हो सकती है।

उपाय:

एक एप्लिकेशन बनाएं, जब और जहां एप्लिकेशन अपने सभी संसाधनों को जल्द से जल्द पूरा करता है, एप्लिकेशन बंद होने के बाद सभी पृष्ठभूमि प्रक्रिया को मारें एक ही समय में बैच प्रोसेस, टास्क शेड्यूलर और बाहरी टूल जैसे कई स्रोतों से एप्लिकेशन को निष्पादित करने से बचें। अनुप्रयोग और संसाधन निर्भरता के लिए जाँच करें और यदि आवश्यक हो तो कोड को साफ़ करें।


मेरे मामले में एप्लिकेशन फ़ोल्डर या उसमें मौजूद फाइलें लॉक / ओपन थीं - क्योंकि सिस्टम ने इसे नाम बदलने की अनुमति नहीं दी है (चेक करने के लिए सरल परीक्षण फ़ोल्डर और सबफ़ोल्डर मुफ्त या खुला / लॉक है)। सर्वर पर
लॉगऑफ

0

मेरे लिए समस्या को ठीक करने के लिए (जैसे कि कई अनुप्रयोगों ने इस अपवाद को अचानक से फेंकना शुरू कर दिया, उदाहरण के लिए, CorelDraw X6 एक है), मैंने .NET 4.5 रनटाइम की स्थापना रद्द की और .NET 4 रनटाइम स्थापित किया। दो संस्करणों को एक साथ स्थापित नहीं किया जा सकता है, लेकिन वे GAC में समान संस्करण संख्याओं का उपयोग करते हैं । यह समस्याएँ पैदा करता है क्योंकि 4.5 में कुछ कार्यों को अस्वीकार कर दिया गया है।

DLL नरक लौट आया है ...


0

तो .. मैंने इवेंट व्यूअर में देखा था कि यह क्रैश "System.IO.FileNotFoundException" त्रुटि के अनुरूप था।

इसलिए मैंने ProMMon को निकाल दिया और देखा कि प्रोग्राम dlls में से एक vcruntime140 लोड करने में विफल रहा है। इसलिए मैंने बस बनाम 15 रेडिस्ट स्थापित किया और यह काम किया।


0

हमें यह त्रुटि तब हुई जब हमारे डेटाबेस से कनेक्शन स्ट्रिंग गलत थी। यह पता लगाने की कुंजी dotnet blah.dll चल रही थी, जो हमें एक स्टैकट्रेस प्रदान करती है जो दिखाती है कि निर्दिष्ट SQL सर्वर उदाहरण नहीं मिल सका। आशा है कि यह किसी की मदद करता है।


0

मुझे पता है कि यह एक पुराना धागा है, लेकिन मुझे यह समस्या एसी # / WPF ऐप से भी है जो मैं बना रहा था। एप्लिकेशन ने विकास मशीन पर ठीक काम किया, लेकिन परीक्षण मशीन पर शुरू नहीं होगा। इवेंट व्यूअर में अनुप्रयोग लॉग ने System.IO.DirectoryNotFoundException की कुछ अस्पष्ट .NET रनटाइम त्रुटि दी।

मैंने कुछ डिबगिंग सॉफ़्टवेयर का उपयोग करने की कोशिश की, लेकिन ऐप डिबगर को प्रक्रिया में संलग्न करने के लिए लंबे समय तक नहीं रहेगा। एक दिन के लिए अपने डेस्क के खिलाफ मेरे सिर को पीटने के बाद और इस तरह के कई वेब पेजों को देखने के बाद, जो मैं इस समस्या का निवारण करने के लिए कर रहा था, वह था वीएस 2019 को मेरी टेस्ट मशीन पर स्थापित करना। मैंने उसके फ़ोल्डर से .exe फ़ाइल को खींच लिया (यह उपयोगकर्ताओं में गहरा था [user] \ AppData \ Apps \ 2.0 ... फ़ोल्डर) खुले VS2019 उदाहरण के लिए और इसे वहां से शुरू करने के लिए चला गया। इसके तुरंत बाद, यह एक संवाद बॉक्स के साथ आया जो अपवाद और कारण देता है।

मेरे मामले में, जब मैंने किसी एक फॉर्म में एक आइकन जोड़ा था, तो आइकन का पूरा रास्ता सिर्फ आइकन के नाम के बजाय XAML में रखा गया था। मैंने आइकन फ़ाइल को प्रोजेक्ट फ़ोल्डर में कॉपी किया था, लेकिन चूंकि प्रोजेक्ट फ़ोल्डर परीक्षण मशीन पर मौजूद नहीं है, यह त्रुटि का मूल कारण था। मैंने फिर XAML से रास्ता हटा दिया, बस आइकन नाम एक को छोड़ दिया, समाधान को फिर से बनाया और इसे फिर से प्रकाशित किया, और यह अभी परीक्षण मशीन पर ठीक चला। बेशक, मुझे त्रुटि देने के अलावा कई कारण हैं, लेकिन समस्या निवारण की इस पद्धति को त्रुटि के मूल कारण की पहचान करनी चाहिए, क्योंकि विंडोज इवेंट व्यूअर कुछ अस्पष्ट जवाब देता है।

सारांशित करने के लिए, परीक्षण मशीन पर विज़ुअल स्टूडियो को एक प्रकार के डिबगर के रूप में उपयोग करें। लेकिन, इसे सही तरीके से काम करने के लिए, मुझे। Exe फ़ाइल को IDE में खींचना होगा और वहां से प्रारंभ (रन) करना होगा। मुझे विश्वास है कि यह VS2017 के साथ-साथ VS2019 के साथ भी काम करेगा। उम्मीद है कि यह किसी ऐसे व्यक्ति की मदद करता है जो अभी भी इस मुद्दे पर है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.