2012-06-17 20 views
50

डिबगिंग कॉफीस्क्रिप्ट लाइन-दर-लाइन डीबग करने का कोई तरीका है?कॉफीस्क्रिप्ट लाइन-दर-लाइन

मैं समझता हूं कि यह जावास्क्रिप्ट में संकलित है। लेकिन ऐसा लगता है जैसे यह इसे डीबग करने में दर्द कर सकता है।

+4

चूंकि जेनरेट की गई जावास्क्रिप्ट इंडेंटेशन को संरक्षित करती है, फ़ंक्शंस के नाम और चरबंदी करने वाले चर, जितना अधिक लोग सोचते हैं उतना बुरा नहीं है। इसके अलावा, कॉफी स्रोत में "स्रोत मानचित्र" के लिए समर्थन (अगले संस्करण में) आ रहा है: http://www.coffeescriptlove.com/2012/04/source-maps-for-coffeescript.html –

+1

आप कॉन्फ़िगर कर सकते हैं [जेटब्रेन वेबस्टॉर्म में कॉफ़ीस्क्रिप्ट डिबगिंग] (http://www.youtube.com/watch?feature=player_detailpage&v=Sl1Uk3zT5Fg) –

उत्तर

13

फिलहाल कॉफीस्क्रिप्ट को डीबग करने में काफी दर्द होता है। अधिकांश लोग यूनिट परीक्षणों का उपयोग करते हैं।

कॉफीस्क्रिप्ट के लिए डिबगिंग पर कुछ काम किया जा रहा है, लेकिन संभवतः यह वास्तव में एक अच्छा डीबगर होने से पहले कुछ समय दूर है। एक उदाहरण है http://www.infoq.com/news/2011/08/debug-languages-on-javascript-vm

+15

डरावनी यूनिट परीक्षण खुश कॉल-स्टैक डीबगिंग से बचने के लिए ?? ओह! – Esteban

+0

मैं यहां बगजर छोड़ दूंगा: https://github.com/jkrems/bugger। इसमें कॉफी-स्क्रिप्ट 2.x के लिए चरण-दर-चरण डिबगिंग है। कॉफी-स्क्रिप्ट के लिए 1.x नोड-इंस्पेक्टर का मजबूत लूप-फोर्क है: डीबगर ऑटो कनेक्शन के लिए https://github.com/strongloop/node-inspector –

29

आप टर्मिनल से coffeescript चला रहे हैं लाइन के लिए लाइन node-inspector का उपयोग कर, अपनी स्क्रिप्ट इस तरह से शुरू करने में आप इसे डिबग कर सकते हैं:

coffee --nodejs --debug-brk yourscript.coffee 
+1

मैं 'कॉफी - नोडेज डीबग yourscript.coffee का उपयोग कर रहा हूं ' – dmi3y

33

अद्यतन: वर्तमान की एक redesign है कॉफ़ीस्क्रिप्ट कंपाइलर जो source maps उत्पन्न करता है, जो आपको Google क्रोम के नवीनतम संस्करणों में 18 (ऊपर और मुझे लगता है) में अपनी कॉफ़ीस्क्रिप्ट को डीबग करने में सक्षम होना चाहिए।

मुझे लगता है कि यह अभी तक उत्पादन तैयार नहीं है, लेकिन यह उल्लेखनीय है।

+1

ध्यान दें कि स्रोत मानचित्र केवल क्रोम कैनरी, वेबकिट रात और फ़ायरफ़ॉक्स 23+ के लिए उपलब्ध हैं। बीटीडब्लू, यह क्लाइंट-साइड पर संकलित जावास्क्रिप्ट कोड डीबग करने का सबसे अच्छा तरीका होगा, इसलिए आपके उत्तर के लिए +1;) – Wilk

+0

क्रोमियम 3 में उपलब्ध, उबंटू ट्रस्टी रिपॉजिटरीज़ में वर्तमान संस्करण। और, अच्छी तरह से, "गैर-उत्पादन-तैयारी" विकास के दौरान इसके उपयोग को सीमित नहीं करता है। –

9

हाँ, node-inspector साथ:

npm install -g node-inspector 

अपनी स्क्रिप्ट के स्रोत कोड में बयान debugger डाल करके, आप एक ब्रेकपाइंट सक्षम हो जाएगा।

coffee -c -m myscript.coffee 
node-debug myscript.js 

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

अधिक जानकारी के लिए see this post

+0

यह आकर्षक है लेकिन मैं उसे अपनी 'आवश्यकता' कुछ लेना चाहता हूं। –

संबंधित मुद्दे