प्रोग्राम क्रैश क्यों होते हैं

प्रोग्राम क्रैश क्यों होते हैं
प्रोग्राम क्रैश क्यों होते हैं

वीडियो: प्रोग्राम क्रैश क्यों होते हैं

वीडियो: प्रोग्राम क्रैश क्यों होते हैं
वीडियो: EP 340: प्लेन क्रैश के बाद 72 दिनों तक खुद को कैसे जिंदा रखा उन खिलाड़ियों ने?, सुने शम्स की ज़ुबानी 2024, नवंबर
Anonim

व्यक्तिगत कंप्यूटरों की मदद से आज हल किए जाने वाले कार्यों की विविधता एप्लिकेशन कार्यक्रमों के एक विशाल सेट के अस्तित्व द्वारा प्रदान की जाती है। सॉफ्टवेयर के साथ काम करने की सुविधा काफी हद तक इसकी विश्वसनीयता पर निर्भर करती है, जो आपातकालीन स्थितियों की अनुपस्थिति में व्यक्त की जाती है। हालांकि, कई प्रोग्राम सबसे अनुचित समय पर क्रैश हो जाते हैं। क्यों?

क्यों
क्यों

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

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

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

निहित त्रुटियों में इनपुट डेटा के अपर्याप्त फ़िल्टरिंग के विभिन्न मामले, सूचक मूल्यों के सत्यापन की कमी, और बहुत कुछ शामिल हैं। ऐसी कमियाँ केवल कुछ मामलों में ही असाधारण स्थितियों की ओर ले जाती हैं।

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

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

सिफारिश की: