2010-07-15 15 views
8

During web searching, मैं निम्नलिखित टिप्पणी पाया: पारंपरिक लिस्प डिबगिंग प्रथाओं अभी भी प्रयोग किया जा सकता है।लिस्प कोड डिबगिंग

  • पारंपरिक डीबगिंग प्रथाओं क्या हैं?
  • आम तौर पर, लिप को डीबग करने के लिए कौन से टूल्स का उपयोग किया जाता है (emacs के साथ/बिना)?
+5

@ rlb.usa मैं न पता है कि "खिलौना भाषा" क्या है, लेकिन अमेरिकी सेना द्वारा कई रसद योजना प्रणाली में लिस्प का उपयोग किया गया है, कई एआई और एआई से संबंधित प्रणालियों में और आईटीए सॉफ्टवेयर के पीछे अंतरिक्ष यान नियंत्रण (और यहां तक ​​कि दूरस्थ रूप से डीबग) पर तैनात किया गया है, सस्ते उड़ानों के लिए खोज इंजन, सिर्फ $ 700M के लिए Google द्वारा खरीदा गया। –

+0

एसएलईएमई सीएल के लिए एक __awesome__ विकास वातावरण है जो Emacs पर चलता है। मैं सीएल के लिए किसी अन्य आरईपीएल का कभी भी उपयोग नहीं करता हूं। – Jyaan

उत्तर

4

मैं नहीं जानता कि विधेयक विशेष रूप से क्या मतलब है, लेकिन IME:

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

जब कोई अपवाद फेंक दिया जाता है (या एक शर्त संकेतित की जाती है, यदि आप शर्तों के साथ बोली में पर्याप्त भाग्यशाली हैं), तो डीबगर आपको स्टैक ट्रेस दिखाएगा और आपको यह तय करने देगा कि कैसे जारी रखना है।

लिस्प और अन्य उच्च स्तरीय संकलित भाषाओं के बीच प्रमुख अंतर यह है कि लिस्प में आप मूल रूप से हमेशा डिबगर संलग्न के साथ कोड लिख रहे है।

0

मूल रूप से केवल मूल्यों को मुद्रित करने के लिए कोड जोड़ने जैसे चीजें जैसे कि यह चलता है ताकि आप देख सकें कि क्या हो रहा है।

+0

लगता है एक सी # प्रोग्रामर .. (यह एक तारीफ है) – Flinkman

3

emacs में edebug-defun चलाएं और आप देखेंगे कि लिस्प जादू है।

4

चूंकि क्लोजर को प्रश्न में टैग किया गया था, इसलिए मैं अपना परिप्रेक्ष्य दूंगा।

क्लोजर कंपाइलर द्वारा उत्पन्न कक्षा फाइलों में लाइन- और विधि-आधारित डीबगिंग जानकारी शामिल है, इसलिए कोई भी जावा डीबगर सीधे ब्रेजपॉइंट्स और ऑब्जेक्ट निरीक्षण सहित क्लोजर कोड के साथ इंटरऑपरेट करेगा।

आप अपने विकास के वातावरण के रूप में Emacs/कीचड़ उपयोग करते हैं, कीचड़ के डिबगर के साथ एकीकरण के हाल ही में शामिल किया गया है। चूंकि दस्तावेज़ीकरण थोड़ा सा स्पैस है, तो संभवतया जीथ्यूब पर समर्थन के दायरे को देखना सबसे अच्छा है।

2

कुछ है कि मैं कहेंगे में एक "लिस्प डिबगिंग तकनीक के पारंपरिक सेट" दृष्टिकोण हैं:

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