Clojure:
डीबगर का उपयोग

कैसे:

Clojure Java Virtual Machine (JVM) पर निर्भर करता है, इसलिए बहुत सारी डीबगिंग Java टूल्स के साथ होती है। ऐसा ही एक उपकरण CIDER है, जो Emacs में Clojure डेवलपमेंट के लिए एक शक्तिशाली पैकेज है, जिसमें मजबूत डीबगिंग क्षमताएं हैं। आइए गहराई में जाएँ:

;; पहले, एक Clojure प्रोजेक्ट के अंदर Emacs का उपयोग करके CIDER के साथ jack-in करें
M-x cider-jack-in

;; एक ब्रेकपॉइंट सेट करें
;; अपने Clojure कोड में वह पंक्ति नेविगेट करें जिसे आप निरीक्षण करना चाहते हैं और
;; "C-c M-b" दबाएं या निष्पादित करें:
M-x cider-debug-defun-at-point

;; जब कोड चलता है, आप ब्रेकपॉइंट पर पहुंचेंगे। CIDER आपको निम्नलिखित के साथ संकेत देगा:
;; 1. n को निष्पादन में अगले तार्किक चरण पर जाने के लिए,
;; 2. c को अगले ब्रेकपॉइंट तक निष्पादन जारी रखने के लिए,
;; 3. q को डीबगिंग छोड़ने के लिए।

;; ब्रेकपॉइंट पर स्थानीय चर निरीक्षण करें
;; एक ब्रेकपॉइंट पर रहते हुए, टाइप करें:
locals

;; आपको मिनीबफर में प्रिंट किए गए स्थानीय चरों और उनके मानों की एक सूची दिखाई देगी।

नमूना आउटपुट दिख सकता है:

{:x 10, :y 20, :result 200}

गहराई में जाना

कंप्यूटिंग शब्दावली में, डीबगर एक ऐसा उपकरण है जितना पुराना पहाड़ है। “बग” शब्द को पहले कंप्यूटिंग के दिनों में गढ़ा गया था जब एक वास्तविक कीट ने एक मशीन में सर्किट को शॉर्ट करके एक त्रुटि का कारण बना था।

जबकि CIDER Emacs उत्साहियों के लिए शानदार है, Clojure डीबगिंग के लिए विकल्प भी हैं। उदाहरण के लिए, IntelliJ का उपयोग Cursive प्लगइन के साथ एक अधिक GUI-चालित डीबगिंग अनुभव दे सकता है। इसके अतिरिक्त, डीबगिंग के दौरान प्रोसेस फ्लो को नियंत्रित करने के लिए आप बिल्ट-इन Leiningen या tools.deps का उपयोग कर सकते हैं।

इन डीबगरों के तहत अक्सर बाइटकोड्स को मैनिपुलेट किया जाता है, समर्पित nREPL सत्रों में मूल्यांकन किया जाता है, और स्टैक ट्रेस निरीक्षण की पेशकश की जाती है। वे अंतर्निहित JVM की क्षमताओं का लाभ उठा रहे हैं, Java के डीबगिंग फ्रेमवर्क की विशालता में टैप कर रहे हैं।

देखें