वास्तविक लागत को कम करने के लिए वक्तव्य. वास्तविक लागत को कम करने के लिए एक पर्यटक से नमूना दावा


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

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

अनेक प्रोसेसरब्रेकप्वाइंट के लिए हार्डवेयर समर्थन है (आमतौर पर केवल निर्देश ब्रेकप्वाइंट और वॉचपॉइंट के लिए)। ऐसे हार्डवेयर समर्थन के अभाव में, डिबगर्स सॉफ़्टवेयर ब्रेकप्वाइंट का उपयोग करते हैं।

"ब्रेकप्वाइंट" लेख के बारे में एक समीक्षा लिखें

ब्रेकप्वाइंट का वर्णन करने वाला अंश

- और यही मैं आपसे पूछ रहा हूं। यह बात कोई नहीं जानता, यहाँ तक कि स्वयं बोनापार्ट भी नहीं।
बोल्कॉन्स्की ने कंधे उचकाए।
"लेकिन अगर पुल पार कर लिया जाता है, तो इसका मतलब है कि सेना खो गई है: वह कट जाएगी," उन्होंने कहा।
बिलिबिन ने उत्तर दिया, "यही बात है।" - सुनना। जैसा कि मैंने आपको बताया, फ्रांसीसी वियना में प्रवेश कर रहे हैं। सब कुछ बहुत अच्छा है. अगले दिन, यानी कल, सज्जन मार्शल: मूरत लैन और बेलियार्ड, घोड़े पर बैठे और पुल पर गए। (ध्यान दें कि तीनों गैसकॉन्स हैं।) सज्जनों,'' एक कहता है, ''आप जानते हैं कि ताबोर ब्रिज पर खनन और प्रति-खनन किया जाता है, और इसके सामने एक दुर्जेय टेटे डी पोंट और पंद्रह हजार सैनिक हैं, जिन्हें आदेश दिया गया है पुल को उड़ा दो और हमें अंदर न जाने दो।” लेकिन यदि हम इस पुल को ले लें तो हमारे संप्रभु सम्राट नेपोलियन प्रसन्न होंगे। हम तीनों जायेंगे और इस पुल को लेंगे। "चलो चलें," दूसरे कहते हैं; और वे चल पड़े और पुल ले लिया, उसे पार किया और अब डेन्यूब के इस तरफ पूरी सेना के साथ वे हमारी ओर, आपकी ओर और आपके संदेशों की ओर बढ़ रहे हैं।
प्रिंस आंद्रेई ने उदासी और गंभीरता से कहा, "अब और मजाक नहीं करना चाहिए।"
यह खबर प्रिंस आंद्रेई के लिए दुखद और साथ ही सुखद भी थी।
जैसे ही उसे पता चला कि रूसी सेना इतनी निराशाजनक स्थिति में है, उसके मन में यह विचार आया कि रूसी सेना को इस स्थिति से बाहर निकालना उसकी नियति है, कि यहाँ वह टूलॉन है, जो उसे बाहर ले जाएगा। अज्ञात अधिकारियों की श्रेणी और उसके लिए महिमा का पहला रास्ता खोलो! बिलिबिन की बात सुनकर, वह पहले से ही सोच रहा था कि सेना में पहुँचकर, वह सैन्य परिषद में एक राय कैसे प्रस्तुत करेगा कि अकेले ही सेना को बचाया जा सकेगा, और कैसे उसे अकेले ही इस योजना के कार्यान्वयन का काम सौंपा जाएगा।

यह "1C विकास में पहला कदम" श्रृंखला का एक और लेख है। यह पिछले लेख के विषय को जारी रखता है, जो विन्यासकर्ता में काम करने की विशेषताओं के लिए समर्पित है।

इस सामग्री में हम एक विशेष उपकरण देखेंगे जो 1C:एंटरप्राइज़ प्लेटफ़ॉर्म पर प्रोग्राम कोड के विकास और डिबगिंग की सुविधा प्रदान करता है, जिसे डिबगर कहा जाता है। लेख का अध्ययन करने के बाद, आप सीखेंगे:

  • डिबगर किसके लिए है और इसका उपयोग कैसे करें?
  • ब्रेकप्वाइंट क्या हैं, उन्हें कैसे और क्यों सेट करें?
  • प्रोग्राम कोड को चरण दर चरण कैसे निष्पादित करें और यह क्यों आवश्यक है?
  • मैं अपने वेरिएबल्स के मूल्यों को कहां देख सकता हूं, साथ ही अभिव्यक्तियों के मूल्यों की गणना भी कर सकता हूं?
  • कॉल स्टैक किसके लिए है और इसे कैसे देखें?
  • कोड को गलती से निष्पादित होने से कैसे रोकें?

प्रयोज्यता

आलेख 1C प्लेटफ़ॉर्म संस्करण 8.3.4.365 पर चर्चा करता है। प्लेटफ़ॉर्म के वर्तमान वर्तमान संस्करण में समृद्ध डिबगिंग तंत्र शामिल हैं, लेकिन यह प्रस्तुत की गई जानकारी को अप्रचलित नहीं बनाता है, क्योंकि आलेख में वर्णित सभी तंत्र और डिबगिंग तकनीकें समान हैं।

1C:Enterprise 8 सिस्टम में डिबगर का उपयोग करना

1C:एंटरप्राइज़ 8 सिस्टम में एक अंतर्निहित प्रोग्राम कोड डिबगर शामिल है।

डिबगर एक विशेष विन्यासकर्ता उपकरण है जो आपको प्रोग्राम कोड के संचालन का विश्लेषण करने की अनुमति देता है। यह आलेख कुछ डिबगर सुविधाओं पर चर्चा करता है जो डेवलपर्स द्वारा सबसे अधिक उपयोग की जाती हैं।

डिबगर का उपयोग करके प्रोग्राम कोड का विश्लेषण करने के लिए, एक विशेष उपकरण कहा जाता है ब्रेकपाइंट.

ब्रेकप्वाइंट वह स्थान है जहां सिस्टम ऑपरेशन प्रोग्राम कोड में रुकता है, जिसे एक विशेष मार्कर (छवि 1) के साथ चिह्नित किया जाता है।

चावल। 1. ब्रेकप्वाइंट

जब एक ब्रेकप्वाइंट ट्रिगर होता है, तो प्रोग्राम कोड का चरण-दर-चरण निष्पादन और चर मानों का विश्लेषण संभव हो जाता है।

ब्रेकप्वाइंट सेट करना

प्रोग्राम कोड की एक विशिष्ट लाइन पर ब्रेकप्वाइंट सेट करना बाएं क्षेत्र में बाईं माउस बटन पर डबल-क्लिक करके किया जाता है सॉफ्टवेयर मॉड्यूल, जिसे ग्रे रंग में हाइलाइट किया गया है।

कमांड के साथ ब्रेकप्वाइंट सेट करना भी संभव है कॉन्फिगरेटर टूलबार पर या क्लिक करके एफ9. मौजूदा ब्रेकप्वाइंट को हटाना उसी तरह से किया जाता है।

किसी प्रक्रिया या फ़ंक्शन के अंत में ब्रेकपॉइंट सेट करने के लिए, आपको ब्रेकपॉइंट सेट करना होगा कीवर्ड अंतिम प्रक्रियाया अंतकार्य.

आप किसी ब्रेकप्वाइंट को अपने कोड से हटाए बिना अस्थायी रूप से अक्षम कर सकते हैं। ब्रेकपॉइंट को अक्षम करने के लिए, कमांड चलाएँ ब्रेकप्वाइंट अक्षम करेंटूलबार पर या कीबोर्ड शॉर्टकट दबाएँ Ctrl+Shift+F9.

सभी ब्रेकप्वाइंट देखने के लिए आपको मुख्य मेनू कमांड निष्पादित करने की आवश्यकता है डीबग - सूचीब्रेकप्वाइंट या कीबोर्ड शॉर्टकट दबाएं Alt+F9. खुले रूप में ब्रेकप्वाइंटआप ब्रेकप्वाइंट को अस्थायी रूप से अक्षम या हटा सकते हैं (चित्र 2)।

चावल। 2. ब्रेकप्वाइंट की सूची

सभी ब्रेकप्वाइंट को हटाने के लिए, आपको कॉन्फ़िगरेशनकर्ता के मुख्य मेनू में कमांड निष्पादित करना होगा डिबगिंग - सभी ब्रेकप्वाइंट हटाएं.

सशर्त विराम बिंदु

किसी निश्चित स्थिति के ट्रिगर होने पर प्रोग्राम कोड के निष्पादन को रोकने के लिए एक सशर्त ब्रेकप्वाइंट की आवश्यकता होती है।

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

सिस्टम को डिबग मोड में शुरू करने के बाद, ब्रेक की स्थिति पूरी होने पर ब्रेकपॉइंट चालू हो जाएगा। आप फॉर्म का उपयोग करके इसे सत्यापित कर सकते हैं स्कोर बोर्ड(चित्र 3)। प्रपत्र के साथ कार्य करना स्कोर बोर्डनीचे चर्चा की जाएगी.

चावल। 3. एक शर्त और उसके प्रसंस्करण के परिणाम के साथ एक ब्रेकप्वाइंट सेट करना

अपने प्रोग्राम कोड को डीबग करना शुरू करने के लिए, आपको ब्रेकप्वाइंट सेट करने और एप्लिकेशन को डीबगिंग मोड में चलाने की आवश्यकता है। डिबगिंग प्रारंभ करने के लिए आपको कॉन्फ़िगरेशनकर्ता के मुख्य मेनू में कमांड निष्पादित करने की आवश्यकता है डिबगिंग - डिबगिंग प्रारंभ करें(F5).

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

ब्रेकप्वाइंट को डेवलपर द्वारा बनाई गई एक मनमानी प्रक्रिया या फ़ंक्शन में सेट किया जा सकता है। इस मामले में, कोड की एक विशिष्ट पंक्ति से उस प्रक्रिया या फ़ंक्शन को कॉल करने के बाद ब्रेकप्वाइंट मारा जाएगा।

ब्रेकप्वाइंट ट्रिगर होने के बाद, सिस्टम प्रोग्राम कोड निष्पादित करना बंद कर देता है संभव उपयोगविभिन्न डिबगर फ़ंक्शन, जैसे: प्रोग्राम कोड का चरण-दर-चरण निष्पादन, फ़ॉर्म का उपयोग स्कोर बोर्डवगैरह।

चरण-दर-चरण कोड निष्पादन

प्रोग्राम कोड के चरण-दर-चरण निष्पादन के लिए, कमांड का उपयोग किया जाता है जो मेनू में कॉन्फ़िगरेटर के मुख्य मेनू में उपलब्ध होते हैं डिबगिंग. इन आदेशों के लिए हॉटकी का उपयोग करना सुविधाजनक है।

(F11) में कदम रखें. यदि प्रोग्राम कोड का अगला स्टेटमेंट किसी प्रक्रिया या फ़ंक्शन को कॉल करता है, तो उसका चरण-दर-चरण निष्पादन किया जाता है, अन्यथा अगला स्टेटमेंट निष्पादित किया जाता है।

स्टेप ओवर (F10). यदि प्रोग्राम कोड का अगला स्टेटमेंट किसी प्रक्रिया या फ़ंक्शन को कॉल करता है, तो इसे अंदर जाए बिना पूरी तरह से निष्पादित किया जाता है। फिर अगला स्टेटमेंट निष्पादित किया जाता है।

कर्सर पर जाएँ (Shift+F10). ऑपरेटरों को वर्तमान में निष्पादित लाइन से प्रोग्राम कोड की लाइन तक निष्पादित किया जाता है जहां कर्सर स्थित है।

प्रपत्रों का उपयोग करना स्कोर बोर्डऔर अभिव्यक्ति

फॉर्म का उपयोग वेरिएबल्स के मूल्यों को देखने और प्रोग्राम कोड को रोकते समय अभिव्यक्तियों के मूल्यों की गणना करने के लिए किया जाता है स्कोर बोर्डऔर अभिव्यक्ति.

रूप स्कोर बोर्डविन्यासकर्ता मुख्य मेनू कमांड द्वारा कॉल किया जाता है डिबगिंग - झांकीया कीबोर्ड शॉर्टकट Ctrl+Alt+W. तालिका में आप किसी भी चर के मान रिकॉर्ड कर सकते हैं और विश्लेषण कर सकते हैं कि प्रोग्राम कोड के निष्पादन के दौरान वे कैसे बदलते हैं।

स्कोरबोर्ड में चार टैब उपलब्ध हैं। डिफ़ॉल्ट रूप से, बुकमार्क अक्षम हैं. किसी प्रपत्र में बुकमार्क सक्षम करने के लिए स्कोर बोर्डआपको संदर्भ मेनू को कॉल करने और ध्वज सेट करने की आवश्यकता है बुकमार्क(चित्र 4)।

चावल। 4. शामिल बुकमार्क के साथ "टेबलबोर्ड" फॉर्म

प्रोग्राम कोड बंद होने के समय अभिव्यक्तियों के मूल्यों की गणना करने के लिए, फॉर्म का उपयोग करें अभिव्यक्ति. इस फॉर्म को खोलने के लिए, विन्यासकर्ता के मुख्य मेनू कमांड का उपयोग करें डीबग - गणना करेंअभिव्यक्ति या कुंजीपटल शॉर्टकट शिफ्ट+F9(चित्र 5)।

चावल। 5. "अभिव्यक्ति" रूप

अभिव्यक्ति फ़ील्ड में, अंतर्निहित भाषा में एक अभिव्यक्ति दर्ज करें। अभिव्यक्ति का मूल्य बटन दबाकर प्राप्त किया जा सकता है गणना. क्षेत्र में परिणामअभिव्यक्ति का मान प्रदर्शित होता है. अभिव्यक्ति को बटन पर क्लिक करके डिस्प्ले में प्रदर्शित किया जा सकता है स्कोरबोर्ड में शामिल करें.

किसी संग्रह के मान देखने के लिए (उदाहरण के लिए, मानों की एक तालिका, मानों की एक सूची, एक सरणी), आप कमांड का उपयोग कर सकते हैं दिखाओएक अलग विंडो या कुंजी में मान F2.

कॉल स्टैक देखें

कॉल स्टैक- एक फॉर्म जो आपको प्रोग्राम कोड के निष्पादन के दौरान प्रक्रियाओं और कार्यों की पारस्परिक कॉल को ट्रैक करने की अनुमति देता है। कॉल स्टैक को कॉन्फिगरेटर मुख्य मेनू कमांड द्वारा प्रदर्शित किया जाता है डिबगिंग - कॉल स्टैकया कीबोर्ड शॉर्टकट Ctrl+Alt+C. रूप से कॉल स्टैकआप संबंधित प्रक्रिया या फ़ंक्शन पर जा सकते हैं (चित्र 6)।

आपको फॉर्म पर एक ध्वज लगाना होगा गलती से रुक जाओऔर एप्लिकेशन को डिबग मोड में चलाएं। प्रोग्राम कोड का निष्पादन उस लाइन पर रुक जाएगा जिसमें त्रुटि हुई (चित्र 7)।

इस आलेख में वर्णित डिबगर क्षमताओं का उपयोग करके, एक डेवलपर विश्लेषण कर सकता है आपका अपना प्रोग्राम कोड और मानक समाधानों का प्रोग्राम कोड दोनोंकंपनी "1सी"।

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

जैसा ऊपर बताया गया है, डिबगिंग तंत्र था एक महत्वपूर्ण तरीके सेमंच के बाद के संस्करणों में विस्तार किया गया। उन लोगों के लिए जो परिचित होना चाहते हैं विस्तृत विवरणइन नवाचारों के लिए, हम स्वयं प्लेटफ़ॉर्म डेवलपर्स के ब्लॉग पर प्रासंगिक सामग्री पढ़ने की सलाह देते हैं।

निष्कर्ष में, हम ध्यान दें कि कॉन्फिगरेटर एक पूर्ण और, हाल तक, 1C:एंटरप्राइज़ 8 प्लेटफ़ॉर्म पर एकमात्र एप्लिकेशन डेवलपमेंट वातावरण है। इसमें बहुत समृद्ध कार्यक्षमता है जो डेवलपर को उसके दैनिक कार्यों को हल करने में मदद करने के लिए डिज़ाइन की गई है।

संस्करण 8.3 में, विन्यासकर्ता ने डेवलपर के लिए कई छोटी उपयोगिताएँ जोड़ीं। और अगले लेख में हम निश्चित रूप से उनके बारे में जानेंगे।

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

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

अनेक प्रोसेसरब्रेकप्वाइंट के लिए हार्डवेयर समर्थन है (आमतौर पर केवल निर्देश ब्रेकप्वाइंट और वॉचपॉइंट के लिए)। ऐसे हार्डवेयर समर्थन के अभाव में, डिबगर्स सॉफ़्टवेयर ब्रेकप्वाइंट का उपयोग करते हैं।


विकिमीडिया फ़ाउंडेशन.

2010.

संपादक की पसंद
मूल्य वर्धित कर कोई पूर्ण शुल्क नहीं है. कई व्यावसायिक गतिविधियाँ इसके अधीन हैं, जबकि अन्य को वैट से छूट दी गई है...

"मैं दुख से सोचता हूं: मैं पाप कर रहा हूं, मैं बदतर होता जा रहा हूं, मैं भगवान की सजा से कांप रहा हूं, लेकिन इसके बजाय मैं केवल भगवान की दया का उपयोग कर रहा हूं...

40 साल पहले 26 अप्रैल 1976 को रक्षा मंत्री आंद्रेई एंटोनोविच ग्रेचको का निधन हो गया था. एक लोहार का बेटा और एक साहसी घुड़सवार, आंद्रेई ग्रीको...

बोरोडिनो की लड़ाई की तारीख, 7 सितंबर, 1812 (26 अगस्त, पुरानी शैली), इतिहास में हमेशा महानतम में से एक के दिन के रूप में बनी रहेगी...
अदरक और दालचीनी के साथ जिंजरब्रेड कुकीज़: बच्चों के साथ बेक करें। तस्वीरों के साथ चरण-दर-चरण नुस्खा। अदरक और दालचीनी के साथ जिंजरब्रेड कुकीज़: इसके साथ बेक करें...
नए साल का इंतजार करना सिर्फ घर को सजाने और उत्सव का मेनू बनाने तक ही सीमित नहीं है। एक नियम के रूप में, 31 दिसंबर की पूर्व संध्या पर प्रत्येक परिवार में...
आप तरबूज के छिलकों से एक स्वादिष्ट ऐपेटाइज़र बना सकते हैं जो मांस या कबाब के साथ बहुत अच्छा लगता है। मैंने हाल ही में यह नुस्खा देखा...
पैनकेक सबसे स्वादिष्ट और संतुष्टिदायक व्यंजन है, जिसकी रेसिपी परिवारों में पीढ़ी-दर-पीढ़ी चली जाती है और इसकी अपनी अनूठी विशेषता होती है...
ऐसा प्रतीत होता है कि पकौड़ी से अधिक रूसी क्या हो सकता है? हालाँकि, पकौड़ी केवल 16वीं शताब्दी में रूसी व्यंजनों में आई। मौजूद...