2016-01-12 17 views
11

में एकता/वेबजीएल और asm.js संबंधित क्रैश मेरे पास एक बहुत ही बुनियादी यूनिटी ऐप है जो अनिवार्य रूप से मालिकाना ढांचे के लिए एक परीक्षण दोहन है। यह क्रोम, फ़ायरफ़ॉक्स और सफारी में ठीक है। एज एक अलग कहानी है।एमएस एज

एएसएम.जेएस अक्षम के साथ एज 12 में, बहुत लोड करने में लंबा समय लगता है - लगभग 9 0 सेकंड, अन्य ब्राउज़रों में 15-20 की तुलना में।

एएसएम.जेएस सक्षम के साथ एज 12 या 13 में, यह तेज़ी से लोड हो जाता है, लेकिन यूनिटी ऐप शुरू होने पर तुरंत टैब को क्रैश कर देता है। मैं यह समझने में सक्षम हूं कि "प्रीरन" कॉलबैक कॉल किया जाता है, लेकिन "पोस्टरुन" कॉलबैक नहीं करता है।

मैं यह नहीं समझ सकता कि इसे डिबगिंग कैसे शुरू करें - एज उपकरण एएसएम.जेएस को अक्षम करता है यदि देव उपकरण डीबगर खुला है, और डीबगर को अलग करने से जेएस कंसोल भी अक्षम हो जाता है। मैं यूनिटी डीबगर को अटैच करने में असमर्थ हूं क्योंकि उस बिंदु पर पहुंचने से पहले दुर्घटना होती है।

क्या एज से कुछ प्रकार का लॉग है जहां मुझे दुर्घटना के बारे में कुछ भी मिल सकता है, शायद एक जेएस स्टैक ट्रेस भी?

+2

अपवाद कोड '0xc0000005' एक एक्सेस उल्लंघन है। यह शायद एक शून्य सूचक को कम करने का प्रयास है। यह एज में एक बग की तरह लगता है, और ऐसा कुछ नहीं जिसे आप ठीक कर सकते हैं या वह आपके द्वारा (सीधे) होता है। मुझे लगता है कि अगर आप यह पता लगा सकते हैं कि जेएस क्या कर रहा था तो शायद आप इसके आसपास काम कर सकते हैं, लेकिन यह एकता में कुछ हो सकता है। – Sam

+1

क्या आप कोई भी कोड साझा कर सकते हैं? एज में एएसएम काम के लिए ज़िम्मेदार कुछ इंजीनियरों को इसे पास करने में मुझे खुशी होगी। इसके अलावा, आपका एज संस्करण बहुत पुराना है। यह देखने के लिए विंडोज अपडेट को चलाने का प्रयास करें कि यह अभी भी एज 13 पर होता है (आप 11 पर हैं) – Patrick

+0

@ पैट्रिक - मैं मुख्य रूप से मैक पर काम करता हूं, और वर्तमान में मैं आधुनिक पर जो कुछ भी कर रहा हूं उसकी दया पर हूं।यानी, जो अभी, एक Win10 एंटरप्राइज़ eval है जो समाप्त हो गया है, और मैं उस पर नवंबर अपडेट प्राप्त करने में सक्षम नहीं हूं। मेरे पास 13 सहयोगियों के साथ कुछ सहयोगी हैं जो एक ही चीज़ का अनुभव कर रहे हैं। यदि आपको कोई फर्क नहीं पड़ता है, तो कृपया [email protected] पर मुझसे संपर्क करें और हम यह पता लगा सकते हैं कि उन इंजीनियरों को कौन सा कोड प्राप्त करना है। –

उत्तर

3

यह हमारे asm.js विशेषज्ञता कोड (जिसे मैं स्वामी हूं) में एज में एक बग के कारण है। इस मुद्दे की रिपोर्ट करने के लिए धन्यवाद, मैं जल्द ही इसे ठीक करने के लिए पैच निकालने का प्रयास करूंगा! अगर कोई और asm.js में दुर्घटनाग्रस्त हो रहा है, तो मुझे एक संदेश भेजने में संकोच न करें और मैं एक फिक्स पाने के लिए खुशी से आपके साथ काम करूंगा (और इस दौरान एक कार्यवाही ढूंढ सकता हूं)।

-1

मैं विशेष रूप से आपके प्रश्न का उत्तर देना चाहता हूं - "क्या एज से कुछ प्रकार का लॉग है जहां मुझे दुर्घटना के बारे में कुछ भी मिल सकता है, शायद एक जेएस स्टैक ट्रेस भी?"

मैं वास्तव में आपको stacktrace.js का उपयोग करने का सुझाव देता हूं - यहां उनका Github repo है।

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

एक बात नोट करने के लिए है- आप Javascript Promises का एक छोटा जो ES6 का एक हिस्सा है पता करने की जरूरत है (फिर से सबसे नवीनतम ब्राउज़रों का समर्थन पहले से ही है)।

अपने documentation पर एक नज़र डालें और जो भी आपको उपयुक्त बनाता है उसका उपयोग करें। वे कहते हैं कि यह 5-इन -1 पैकेज है जिसका आप उपयोग कर सकते हैं।

आप त्रुटियों को संभाल जब यह कोड के रूप में सरल जैसे- के साथ होता है

window.onerror = function(msg, file, line, col, error) { 
    // callback is called with an Array[StackFrame] 
    StackTrace.fromError(error).then(callback).catch(errback); 
}; 

और से त्रुटि-

var error = new Error('BOOM!'); 

StackTrace.fromError(error).then(callback).catch(errback) 
=> Promise(Array[StackFrame], Error); 

आशा है कि यह मदद करता है स्टैकट्रेस मिल सकती है। हैप्पी कोडिंग! :)

+0

दुर्भाग्यवश, यह काम नहीं करेगा - जब मैं "क्रैश" कहता हूं, तो मेरा मतलब यह नहीं है कि एक अनचाहे जेएस अपवाद है जो कोड को काम करने से रोकता है। मेरा मतलब है कि टैब चलाने वाली विंडोज प्रक्रिया वास्तव में दुर्घटनाग्रस्त हो जाती है, जिसके परिणामस्वरूप विंडोज इवेंट लॉग में क्रैश रिपोर्ट होती है। मुझे पहले से ही एक "चेतावनी" कॉल के साथ आतंक के लिए एक हैंडलर मिला है, लेकिन यह उस बिंदु तक पहुंचने से पहले दुर्घटनाग्रस्त प्रतीत होता है। उस ने कहा, stacktrace.js बहुत उपयोगी लगता है, और मैं निश्चित रूप से कुछ और विश्वसनीय जेएस त्रुटि रिपोर्टिंग का उपयोग कर सकता हूं, इसलिए इसे जोड़ने के लिए धन्यवाद! –

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