2015-08-23 10 views
12

मेरे पास स्टोर में एक ऐप है जो मुझे कुछ सिरदर्द पैदा कर रहा है। मेरे क्लाइंट की सूचना दी, और मैं सत्यापित है कि ऐप्लिकेशन क्रैश/इस परिदृश्य में बंद कर देता है:विंडोज 10 क्रैश व्हाडुनिट

  • ऐप्लिकेशन लॉन्च
  • एप्लिकेशन
  • प्रतीक्षा बंद कम से कम ~ 15 मिनट
  • एप्लिकेशन खोलें

ऐप बंद हो जाएगा क्योंकि स्प्लैश स्क्रीन समाप्त होती है और विस्तारित स्पलैश स्क्रीन शुरू होती है। यह अस्पष्ट है कि इस मुद्दे का कारण क्या है। ऐप बंद/क्रैशिंग जारी रहेगा। ऐप को फिर से काम करना शुरू करने से पहले पूरी तरह से डिस्टॉल किया जाना चाहिए और फिर से इंस्टॉल करना होगा। मैं केवल ऐप के स्टोर संस्करण के साथ इस मुद्दे को पुन: उत्पन्न करने में सक्षम हूं। मुझे इवेंट व्यूअर प्रोग्राम में कोई क्रैश रिपोर्ट नहीं मिल रही है।

मैंने देव पोर्टल से कुछ क्रैश रिपोर्ट डाउनलोड की हैं लेकिन मुझे नहीं लगता कि मैं टाइमस्टैम्प और क्रैश की आवृत्ति के आधार पर उस क्रैश शो को देख रहा हूं।

अतिरिक्त जानकारी: मैं कोई पृष्ठभूमि कार्य नहीं चला रहा हूं, या टाइल अपडेट नहीं कर रहा हूं।

मेरे पास तीन उप-प्रश्न:

  1. अच्छी जगहों क्यों एप्लिकेशन बंद हो रहा है के बारे में अधिक जानने के लिए प्रणाली में देखने के लिए क्या हैं?
  2. क्या मेरे लिए मेरे सिस्टम पर एक स्टोर निर्माण करना संभव है ताकि मैं प्रत्येक बार स्टोर में ऐप सबमिट किए बिना कुछ परीक्षण चला सकूं?
  3. इस तथ्य के आधार पर कि 1) ऐप पहली बार चलता है 2) ~ 15 मिनट या पिछले लॉन्च 3 के भीतर लॉन्च होने पर किसी भी समय चलाता है) पिछले लॉन्च होने पर इसे चलाने पर खुद को बंद कर देगा> 15 मिनट पहले 4) यह केवल स्टोर निर्माण में होता है, क्या किसी के पास कोई विचार है जो इसका कारण बन सकता है?

अद्यतन:

मैं दृश्य स्टूडियो का उपयोग करके ऐप की दुकान संस्करण डिबग करने की कोशिश की और सब मैं देख सकता हूँ निम्नलिखित है:

Exception thrown at 0x00007FFF54D7A1C8 (KernelBase.dll) in App.exe: 0x40080201: WinRT originate error (parameters: 0x000000008000000E, 0x000000000000002C, 0x0000006E46EAE9B0). 
Exception thrown at 0x00007FFF54D7A1C8 (KernelBase.dll) in App.exe: 0x40080201: WinRT originate error (parameters: 0x000000008000000E, 0x0000000000000046, 0x0000006E46EAE630). 
The thread 0x1be8 has exited with code 1 (0x1). 
The thread 0xfa8 has exited with code 1 (0x1). 
The thread 0x115c has exited with code 1 (0x1). 
The thread 0x730 has exited with code 1 (0x1). 
The thread 0xed4 has exited with code 1 (0x1). 
The thread 0x1894 has exited with code 1 (0x1). 
The thread 0x18a0 has exited with code 1 (0x1). 
The thread 0x194c has exited with code 1 (0x1). 
The thread 0x1a3c has exited with code 1 (0x1). 
The thread 0x1988 has exited with code 1 (0x1). 
The thread 0x16ec has exited with code 1 (0x1). 
The thread 0x1584 has exited with code 1 (0x1). 
The thread 0xfd0 has exited with code 1 (0x1). 
The thread 0xd8c has exited with code 1 (0x1). 
The thread 0xcec has exited with code 1 (0x1). 
The thread 0x16b4 has exited with code 1 (0x1). 
The thread 0x12f8 has exited with code 1 (0x1). 
The thread 0x146c has exited with code 1 (0x1). 
The thread 0x36c has exited with code 1 (0x1). 
The thread 0x1854 has exited with code 1 (0x1). 
The thread 0x1ae4 has exited with code 1 (0x1). 
The thread 0xa38 has exited with code 1 (0x1). 
The thread 0x230 has exited with code 1 (0x1). 
The program '[3840] App.exe' has exited with code 1 (0x1). 

मैं कार्यक्रम आम तौर पर कोड 0 के साथ बाहर निकलने लगता है, तो कुछ गलत होना चाहिए। यह देखना मुश्किल है कि अपवाद फेंक दिया गया है।

मैं अपवाद में तोड़ने के लिए और क्या यह खड़ी कर रहा है देखने के लिए पर कदम की कोशिश की लेकिन सब मुझे मिल गया एक और अपवाद था:

Exception thrown at 0x00007FFF54D7A1C8 in App.exe: Microsoft C++ exception: _com_error at memory location 0x000000EE2788E9D0. 

मैं ईस्टर में एक निर्मित के साथ दुकान में एप्लिकेशन का एक संस्करण अपलोड किया अंडे मुझे विस्तारित स्पलैश स्क्रीन में सभी कोड अक्षम करने की इजाजत देता है। यहां तक ​​कि सभी कोड अक्षम भी यह अभी भी दुर्घटनाग्रस्त/बंद हो जाता है।

अद्यतन 2: टाइम-फ्रेम जिसके बाद ऐप स्टार्टअप पर बंद होना शुरू होता है, उस समय से संबंधित है जब यह सिस्टम को हाइबरनेट/नींद में ले जाता है।

+1

यदि आपने ऐसा नहीं किया है, तो मैं विजुअल स्टूडियो के साथ स्टोर निर्माण को डीबग करने का प्रयास करूंगा। वीएस के मेनू में, डीबग -> अन्य डीबग लक्ष्य -> ​​डीबग स्थापित पैकेज –

+0

महान सलाह चुनें। मुझे नहीं पता था कि यह संभव था। मैं जल्द ही कोशिश करूँगा और आपको यह बताएगा कि यह काम करता है या नहीं। यदि हां, तो आपको इसे एक उत्तर देना चाहिए और मैं इसे सही के रूप में चिह्नित करूंगा! –

+0

अद्यतन प्रश्न –

उत्तर

11

मुझे लगता है कि यह ऐप के जीवन चक्र के साथ कुछ करने के लिए हो सकता है।

उपयोगकर्ता द्वारा आपके ऐप को निलंबित करने के बाद, यह संसाधनों की बाधाओं के कारण ओएस द्वारा समाप्त हो सकता है। जब ऐसा होता है, तो आपके ऐप में पिछले सत्र डेटा खो जाएगा। इसलिए यदि आपके पास डेटा को पुनर्स्थापित करने के लिए कोई चेक नहीं है और यदि आपका ऐप स्टार्ट-अप इस डेटा पर निर्भर करता है, तो ऐप क्रैश हो जाएगा और उदाहरण के लिए आपको NullReferenceException एस देगा।

इसे डीबग करने का एक तरीका विजुअल स्टूडियो के लाइफसाइकिल ईवेंट डीबगर का उपयोग करना है। इसे सक्रिय करने के लिए, आपको अपना ऐप चलाने की आवश्यकता है, फिर टास्कबार में लाइफसाइक्ल इवेंट खोलें (नीचे दी गई छवि देखें) और का चयन करें निलंबित करें और बंद करें। ध्यान दें कि इससे ऐप बंद हो जाएगा। अब विजुअल स्टूडियो के साथ ऐप को फिर से लॉन्च करें, और इस बार इसे से मोड से लॉन्च किया गया है।

enter image description here

आम तौर पर आप अपने App.xaml.cs में कोड का निम्न भाग देखेंगे। यह आपके पिछले ऐप स्थिति को बहाल करने के लिए एक अच्छी जगह है। एक अच्छा संदर्भ here पाया जा सकता है (ध्यान दें कि यह विंडोज 8 स्टोर ऐप्स के लिए है, लेकिन यह यूडब्ल्यूपी में एक ही अवधारणा है)।

if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) 
{ 
    //TODO: Load state from previously suspended application 
} 

इसके अलावा, मैं दृढ़ता से आप की सलाह देते हैं या तो एक लॉग फ़ाइल के लिए अपने अपवाद लिखने के लिए और एक सर्वर पर स्टोर या, विनम्रता आप को ईमेल करने के लिए उपयोगकर्ताओं पूछना होगा। चूंकि ऐप के अग्रभूमि में दुर्घटना होती है, इसलिए आप इसे पकड़ने में सक्षम होंगे -

public App() 
{ 
    this.UnhandledException += (s, e) => { }; 

आशा है कि इससे मदद मिलेगी और शुभकामनाएँ!

+1

आपके संदेश के लिए धन्यवाद। मुझे कोड पर जाकर और मेरे सिर में डीबग करके समाधान मिला (पोस्ट उत्तर देखें) –

+0

खुशी है कि आपने इसे समझ लिया है। लेकिन क्या आपने सोचा है कि यह ठीक क्यों है जब इसका पहला लोड एन समाप्त हो जाने के बाद दुर्घटनाग्रस्त हो गया? –

+0

मैंने आपको बकाया देने का फैसला किया, भले ही आपने वास्तव में प्रश्न हल नहीं किया था, लेकिन पूरे स्रोत कोड को पोस्ट किए बिना करना असंभव था। धन्यवाद! –

1

क्या यह विंडोज 8.1 स्टोर ऐप विंडोज 10 में पुनः लक्षित है?

  1. आप ऐप क्रैश या किसी अन्य सिस्टम इवेंट लॉगिंग पर विवरण देखने के लिए इवेंट व्यूअर का उपयोग कर सकते हैं। बस W10 में इवेंट व्यूअर की खोज करें।

  2. विज़ार्ड का उपयोग करके स्टोर के लिए एक एप्लिकेशन पैकेज जेनरेट करें। चूंकि विंडोज 10 साइड-लोडिंग ऐप्स की अनुमति देता है, इसलिए आप साइड लोडिंग का उपयोग करके ऐप्स इंस्टॉल और परीक्षण कर सकते हैं। डेवलपर मोड साइड-लोड किए गए ऐप्स का भी समर्थन करता है। आपको सिर्फ sappoading के लिए अपने प्रमाणपत्र के साथ .appx इंस्टॉल करना होगा। https://msdn.microsoft.com/en-us/library/windows/apps/dn706236.aspx

  3. क्या आप लॉगिंग से बाहर निकलने वाले अधिक विवरण साझा कर सकते हैं? उपयोग की जाने वाली क्षमताओं क्या हैं? आसान डिबगिंग/त्रुटि रिपोर्टिंग के लिए आपको एप्लिकेशन अंतर्दृष्टि टेलीमेट्री का उपयोग करने का भी सुझाव है।

+0

देखें लेकिन यह जिस पैकेज को बनाता है वह एक है।appxupload पैकेज। क्या वह sideloading के साथ भी काम करेगा? मैंने ईवेंट व्यूअर का उपयोग किया लेकिन ऐप बंद होने पर कुछ भी दिखाई नहीं दे रहा है। मैं खिड़कियों के नीचे देख रहा हूँ -> अनुप्रयोगों। –

6

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