1. बग

प्रोग्रामरची स्वतःची अपभाषा आहे, जरी बरेच लोक ते तांत्रिक शब्दजाल मानतात. कोणत्याही परिस्थितीत, आपण ते जाणून घेणे टाळू शकत नाही. आपल्याला तपशीलात जाण्याची आवश्यकता आहे. तर चला आत जाऊया.

तुम्हाला कळेल अशा पहिल्या शब्दांपैकी एक म्हणजे " बग ", म्हणजे एक कीटक . सॉफ्टवेअर डेव्हलपमेंटच्या संदर्भात, या शब्दाचा अर्थ प्रोग्राममधील त्रुटी , प्रोग्राम काहीतरी चुकीचे करत असल्याचे किंवा अगदी बरोबर नसल्याची उदाहरणे. किंवा फक्त विचित्र काम.

परंतु जर एखाद्या प्रोग्रामरला असे वाटत असेल की प्रोग्राम, त्याच्या विचित्र वागणुकीनंतरही, त्याला जे अपेक्षित आहे तेच करत आहे, तर तो किंवा ती सहसा "हा बग नाही, हे वैशिष्ट्य आहे" असे काहीतरी घोषित करतो. ज्याने इंटरनेट मीम्सचा एक समूह तयार केला आहे.

सर्वसाधारणपणे, सॉफ्टवेअरच्या दोषाची अनेक कारणे असू शकतात: प्रोग्रामच्या लॉजिकमधील त्रुटी, टायपोज आणि चुकीच्या प्रोग्राम आर्किटेक्चर, कंपाइलरमधील समस्यांपर्यंत काहीही. कोणत्याही परिस्थितीत, प्रोग्रामरना त्यांच्या प्रोग्राममधील वास्तविक बग आणि इतर कोणत्याही "उणिवा" दोन्हीचे निराकरण करणे आवश्यक आहे.

"बग" शब्दाचा इतिहास

"बग" या शब्दाच्या उत्पत्तीची सर्वात सामान्य आवृत्ती ही एक आख्यायिका आहे.

सप्टेंबर 1945 मध्ये, हार्वर्ड विद्यापीठातील शास्त्रज्ञ पहिल्या संगणकांपैकी एक, मार्क II ची चाचणी करत होते. संगणक नीट काम करत नव्हता, आणि सर्व बोर्ड तपासण्याच्या प्रक्रियेत, त्यांना इलेक्ट्रोमेकॅनिकल रिलेच्या संपर्कांमध्ये एक पतंग अडकलेला आढळला.

काढलेला कीटक एका तांत्रिक लॉगमध्ये टेप केला होता, या शिलालेखासह: "बग सापडल्याची पहिली वास्तविक घटना."

ही मजेदार कथा " बग " शब्दाचा वापर त्रुटीच्या अर्थासाठी करण्याची सुरुवात आहे असे मानले जाते आणि " डीबग " हा शब्द दोष दूर करण्यासाठी समानार्थी बनला आहे.


2. प्रोग्राम डीबग करणे

त्यांच्या प्रोग्राम्समधील बग्सचे निराकरण करण्यासाठी, प्रोग्रामर डीबगर नावाचे विशेष प्रोग्राम वापरतात . यापैकी काही प्रोग्रामना मशीन कोड डीबग कसा करायचा हे देखील माहित आहे.

Java प्रोग्रामर त्यांचे प्रोग्राम डीबग करण्यासाठी IDEs वापरतात . जसे की IntelliJ IDEA, Eclipse आणि NetBeans. IntelliJ IDEA हा आतापर्यंतचा सर्वात शक्तिशाली IDE आहे, म्हणून आम्ही त्याचे उदाहरण म्हणून डीबगिंग प्रक्रियेतून पुढे जाऊ.

IntelliJ IDEA तुमचा प्रोग्राम दोन मोडमध्ये चालवू शकतो:

अंमलबजावणी मोड टूलबार चिन्ह हॉटकीज
सामान्य अंमलबजावणी Shift+F10
डीबग मोडमध्ये प्रारंभ करा Shift+F9

तुम्ही सामान्य अंमलबजावणीशी आधीच परिचित आहात: प्रोग्राम सुरू होतो, चालतो आणि बाहेर पडतो. परंतु डीबग मोडमध्ये तुमच्यासाठी अनेक आश्चर्ये आहेत.

डीबग मोड

डीबग मोड तुम्हाला तुमच्या संपूर्ण प्रोग्राममध्ये स्टेप बाय स्टेप चालू देतो . किंवा अधिक अचूकपणे, ते तुम्हाला ओळीने ओळ हलवू देते . इतकेच काय, तुम्ही प्रोग्रामच्या प्रत्येक पायरीवर (कोडची प्रत्येक ओळ कार्यान्वित केल्यानंतर) व्हेरिएबल्सच्या मूल्यांचे निरीक्षण करू शकता. आणि तुम्ही त्यांची मूल्येही बदलू शकता!

प्रोग्राम डीबगिंगचे अगदी किमान आकलन मिळविण्यासाठी, तुम्हाला तीन गोष्टी शिकण्याची आवश्यकता आहे:

  • ब्रेकपॉइंट्स
  • चरण-दर-चरण अंमलबजावणी
  • व्हेरिएबल्सचे मूल्य तपासत आहे

3. ब्रेकपॉइंट्स

IDE तुम्हाला तुमच्या कोडमध्ये ब्रेकपॉइंट नावाचे विशेष मार्कर ठेवू देते. प्रत्येक वेळी डीबग मोडमध्ये चालणारा प्रोग्राम ब्रेकपॉईंटने चिन्हांकित केलेल्या रेषेपर्यंत पोहोचतो तेव्हा , अंमलबजावणी थांबेल.

विशिष्ट ओळीवर ब्रेकपॉईंट ठेवण्यासाठी , तुम्हाला IDEA मध्ये ओळीच्या डावीकडे क्लिक करावे लागेल. उदाहरण:

ब्रेकपॉइंट्स IntelliJ IDEA

रेषा ब्रेकपॉइंटने चिन्हांकित केली जाईल आणि IntelliJ IDEA ती लाल रंगात हायलाइट करेल:

ब्रेकपॉइंटसह चिन्हांकित

कोडच्या डावीकडील उपखंडावर माऊसचे दुसरे क्लिक ब्रेकपॉइंट काढून टाकेल .

फक्त हॉटकी कॉम्बिनेशनCtrl + वापरून वर्तमान ओळीवर ब्रेकपॉईंट देखील ठेवता येतो F8. आधीपासून ब्रेकपॉइंट असलेल्या ओळीवर Ctrl+ पुन्हा दाबल्याने ते हटवले जाईल.F8


4. डीबग मोडमध्ये प्रोग्राम सुरू करा

Shiftतुमच्‍या प्रोग्रॅममध्‍ये कमीत कमी एक ब्रेकपॉइंट असल्‍यास, तुम्ही + दाबून F9किंवा "बग आयकॉन" वर क्लिक करून डीबग मोडमध्‍ये प्रोग्रॅम चालवू शकता .

डीबग मोडमध्ये सुरू केल्यानंतर, प्रोग्राम नेहमीप्रमाणे चालतो. परंतु ब्रेकपॉईंटने चिन्हांकित केलेल्या कोडच्या ओळीवर पोहोचताच ते थांबेल. उदाहरण:

डीबग मोडमध्ये प्रोग्राम सुरू करा

स्क्रीनशॉटच्या वरच्या अर्ध्या भागात, तुम्हाला दोन ब्रेकपॉइंट्ससह प्रोग्राम कोड दिसेल. प्रोग्रामची अंमलबजावणी 5 व्या ओळीवर थांबली, जी निळ्या ओळीने चिन्हांकित आहे. ओळ 5 अद्याप कार्यान्वित केली गेली नाही: अद्याप कन्सोलवर काहीही आउटपुट केलेले नाही.

स्क्रीनच्या खालच्या भागात, तुम्हाला डीबग पेन दिसतात: डीबगर उपखंड, कन्सोल  उपखंड आणि डीबग मोडसाठी बटणांचा संच.

तुम्ही तुमचा प्रोग्राम अनपॉज करू शकता (म्हणजेच एक्झिक्यूशन सुरू ठेवा) तळाशी डाव्या उपखंडातील रिझ्युम प्रोग्राम बटण दाबून (किंवा दाबा F9).

डीबग मोड 3 मध्ये प्रोग्राम सुरू करा

तुम्ही हे बटण (किंवा) दाबल्यास , पुढील ब्रेकपॉईंट समोर येईपर्यंत किंवा संपेपर्यंत F9प्रोग्राम चालत राहील . बटणावर क्लिक केल्यानंतर आपण काय पाहतो ते येथे आहे:

डीबग मोड 4 मध्ये प्रोग्राम सुरू करा

कार्यक्रम दुसऱ्या ब्रेकपॉइंटवर थांबला, आणि शब्द Helloआणि andकन्सोलमध्ये पाहिले जाऊ शकतात. स्क्रीनवर आउटपुट प्रदर्शित करणार्‍या तीन ओळींपैकी फक्त दोनच आम्ही कार्यान्वित केल्याचे हे लक्षण आहे.


5. चरण-दर-चरण अंमलबजावणी

जर तुमचा प्रोग्राम डीबग मोडमध्ये चालत असेल, तर तुम्ही त्याद्वारे देखील पाऊल टाकू शकता: एक पायरी म्हणजे एक ओळ . चरण-दर-चरण अंमलबजावणीसाठी दोन हॉटकी आहेत: F7आणि F8: प्रत्येक कोडची वर्तमान ओळ कार्यान्वित करण्यास कारणीभूत ठरते. परंतु प्रथम, तुम्हाला तुमचा प्रोग्राम ब्रेकपॉइंटसह थांबवावा लागेल .

तुम्‍हाला तुमच्‍या प्रोग्रॅमची ओळ ओळीने चालवायची असेल, तर तुम्‍हाला पध्‍दतीच्‍या सुरूवातीला ब्रेकपॉईंटmain() ठेवावे लागेल आणि ते डीबग मोडमध्‍ये चालवावे लागेल.

जेव्हा प्रोग्राम थांबतो, तेव्हा आपण ते ओळीने कार्यान्वित करणे सुरू करू शकता. की एक दाबल्याने F8एक ओळ चालते.

आमचा प्रोग्राम थांबल्यानंतर असे दिसते आणि आम्ही F8एकदा की दाबतो:

डीबग मोडमध्ये प्रोग्राम सुरू करा.  चरण-दर-चरण अंमलबजावणी

मुख्य पद्धतीची पहिली ओळ आधीच कार्यान्वित केली गेली आहे आणि सध्याची ओळ दुसरी ओळ आहे. आपण स्क्रीनशॉटच्या तळाशी देखील पाहू शकता की Helloस्क्रीनवर शब्द आधीच प्रदर्शित झाला आहे.


6. पद्धतींमध्ये पाऊल टाकून चरण-दर-चरण अंमलबजावणी

जर तुम्ही प्रोग्राममध्ये तुमच्या स्वतःच्या पद्धती लिहिल्या असतील आणि तुम्हाला डीबग मोडमध्ये तुमच्या पद्धतींमध्ये अंमलबजावणी करायची असेल, म्हणजे तुम्हाला "पद्धतीमध्ये पाऊल टाकायचे असेल", तर तुम्हाला त्याऐवजी दाबावे F7लागेल F8.

समजा तुम्ही प्रोग्राममधून पाऊल टाकले आहे आणि आता 4 व्या ओळीवर थांबले आहे. तुम्ही दाबल्यास F8, IDEA फक्त चौथी ओळ कार्यान्वित करेल आणि पाचव्या वर जाईल.

पद्धती 2 मध्ये पाऊल टाकून चरण-दर-चरण अंमलबजावणी

परंतु तुम्ही दाबल्यास F7, IDEA या पद्धतीमध्ये प्रवेश करेल main2():

पद्धती 3 मध्ये पाऊल टाकून चरण-दर-चरण अंमलबजावणी

हे खूप सोपे आहे. एखाद्या पद्धतीमध्ये काय होते किंवा कसे घडते याची आपल्याला खरोखर काळजी नसल्यास, आपण दाबा F8. जर ते महत्वाचे असेल, तर F7त्याचे सर्व कोड दाबा आणि स्टेप करा.