विश्व स्तर पर क्रैश रिपोर्ट / कोर डंप / स्टैक ट्रेस को कैसे सक्षम करें?


9

क्रैशिंग बग्स सबसे अधिक कष्टप्रद हो सकते हैं, जिससे डेटा हानि, डाउनटाइम और निराश उपयोगकर्ता होते हैं। यह अच्छा होगा यदि एप्लिकेशन कम दुर्घटनाग्रस्त हो जाएं।

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

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

बहुत सारे अनुप्रयोगों के लिए लक्षित ऑडियंस डेवलपर या सिसड्मिन नहीं है, बल्कि घर या काम पर आम जनता है। ऐसे उपयोगकर्ताओं से यह जानने की उम्मीद नहीं की जा सकती है कि क्रैश जानकारी को मैन्युअल रूप से कैसे इकट्ठा किया जाए, या -dbgपैकेजों को स्थापित किया जाए , लेकिन ऐसे उपयोगकर्ताओं से उत्पन्न रिपोर्ट अभी भी उपयोग करने योग्य हो सकती हैं। कुछ अनुप्रयोगों के अपने क्रैश रिपोर्टिंग उपकरण होते हैं , लेकिन मेरे अनुभव में ये शायद ही कभी काम करते हैं , और जब वे रिपोर्ट करते हैं कि वे त्रुटि की रिपोर्ट करने में विफल रहे हैं, तो मैन्युअल रूप से इसे करने के बारे में कोई जानकारी नहीं लगती है (मैंने इसके लिए इसका अवलोकन किया है) फ़ायरफ़ॉक्स और फ्लैश दोनों के हाल के संस्करण)। क्रैश रिपोर्ट की प्रणाली-व्यापी पीढ़ी अच्छी होगी।

क्या किसी प्रकार की क्रैश रिपोर्ट जेनरेशन * है जिसे विश्व स्तर पर सक्षम किया जा सकता है ** बिना -dbgपैकेज के एक टन को स्थापित किए बिना , प्रत्येक एप्लिकेशन के प्रलेखन को पढ़ने, या एक सामान्य मशीन को क्रॉल करने के लिए धीमा करना?

* लॉग, कोर डंप, स्टैक निशान, जो भी हो

** इसके लिए जरूरी नहीं है init, लेकिन कम से कम एक विशिष्ट डेस्कटॉप लिनक्स इंस्टॉलेशन पर चलने वाले एप्लिकेशन के एक महत्वपूर्ण सबसेट के लिए। मेरे अनुभव में GUI एप्लिकेशन शेल अनुप्रयोगों की तुलना में 100+ गुना अधिक बार क्रैश होते हैं, इसलिए GUI एप्लिकेशन स्वाभाविक रूप से फ़ोकस होंगे।


आप उन सभी कोर फ़ाइलों के साथ क्या करेंगे (हाँ, आप विश्व स्तर पर कोर डंप सक्षम कर सकते हैं, लेकिन ऐप्स व्यक्तिगत रूप से उन्हें अक्षम कर सकते हैं)? आप उपयोगकर्ताओं को उनके साथ क्या करना है, उन्हें कैसे साफ़ करें, इसके बारे में शिक्षित करते हैं?
Mat

1
उन्हें डेवलपर्स को भेजें। कम से कम उनमें से अधिकांश को ईमेल अटैचमेंट से परिचित होना चाहिए।
l0b0

1
सुरक्षा के मुद्दों के बारे में क्या? कोर डंप व्यक्तिगत जानकारी से भरा हो सकता है। मुझे क्षमा करें, लेकिन आपने जो प्रस्ताव दिया है, उसमें मैं आमतौर पर व्यावहारिक नहीं दिख रहा हूं।
चटाई

क्रैश रिपोर्ट और स्टैक के निशान, दूसरी ओर, कोई भी व्यक्तिगत जानकारी नहीं होनी चाहिए। यहां तक ​​कि उन लोगों को बहुत सारे अनुप्रयोगों को डिबग करने के लिए पर्याप्त होना चाहिए, अगर वे केवल डिफ़ॉल्ट रूप से उत्पन्न हुए और खोजने में आसान हैं।
l0b0

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

जवाबों:



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