2012-02-16 5 views
5

मेरे पास एक .js फ़ाइल है जो आमतौर पर cscript.exe द्वारा निष्पादित की जाती है (यानी ब्राउज़र में नहीं चलाया जाता है और वहां नहीं चलाया जा सकता है)।विजुअल स्टूडियो (या अन्य जेएस डीबगर) में जावास्क्रिप्ट को डिबग करना

मुझे पता है कि मैं cscript.exe//X पैरामीटर को चुनने के लिए डिबगर के लिए पूछने के लिए फ़ीड कर सकता हूं। ठीक। कोई बात नहीं।

मैं "विजुअल स्टूडियो 2005 डीबगर" का चयन करता हूं, आईडीई आता है, पहली पंक्ति पर निष्पादन बंद हो जाता है। ठीक।

स्क्रिप्ट समाप्त हो जाती है (या मैं इसे समाप्त करता हूं), मैं कुछ संपादित करता हूं और इसे फिर से डीबग करना चाहता हूं।

सरल विचार केवल F5 पर हिट करने और फिर डीबगर चलाने के लिए होगा। लेकिन यह काम नहीं करता है। वीएस बस मुझे बताता है कि cscript.exe: screenshot

अब क्या कोई डिबगिंग प्रतीक नहीं मिला है? प्रत्येक डीबग रन के लिए कमांड लाइन से cscript.exe शुरू करना मेरी राय में काफी बोझिल है।

क्या वीएस के साथ स्क्रिप्ट को डीबग करने का कोई तरीका है? अन्य डिबगिंग टूल के लिए संकेत भी सराहना की जाएगी।


संपादित करें:
t0nyh0 की answer बहुत करीब है। मैं एक डमी कंसोल एप्लिकेशन बनाता हूं, संकलित करता हूं और डीबगर आता है। हालांकि, दो बातें एकदम सही के लिए डिबगर उपयोग करने के लिए (जो वी.एस. के कहने)

  1. cscript.exe हमेशा पूछता नहीं हैं।
    क्या यह कमांड लाइन में सीधे एक निश्चित डीबगर उदाहरण निर्दिष्ट करके दूर किया जा सकता है?

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

+0

2 के संबंध में विजुअल स्टूडियो में बिल्ड इवेंट टैब पर, पोस्ट बिल्ड इवेंट चलाने के लिए आपके पास अलग-अलग विकल्प हैं। कम से कम वीएस 2010 में, आपके विकल्प "हमेशा", "सफल निर्माण पर" और "जब बिल्ड प्रोजेक्ट आउटपुट अपडेट करते हैं"। सुनिश्चित नहीं है कि यह 2005 के लिए समान है या नहीं। – BryanJ

उत्तर

2

वहाँ cscript.exe ही डिबगर संलग्न करने के लिए एक तरह से नहीं हो सकता है, लेकिन आप एक के बाद निर्माण घटना है कि एक बैच फ़ाइल कि cscript.exe //x myScript.js आदेश निष्पादित करता है चलाता है बनाने में सक्षम हो सकती है, इसलिए हर बार जब आप का निर्माण है कि, यह आपके लिए स्वचालित रूप से निष्पादित करता है।

घटनाओं के बाद निर्माण के बारे में अधिक जानकारी के लिए इस देखें: http://msdn.microsoft.com/en-us/library/ke5z92ks(v=vs.80).aspx

+0

+1 यह बहुत करीब है! अद्यतन प्रश्न देखें। – eckes

2

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

मानक ब्राउज़र डिबगिंग टूल (फ़ायरबग या क्रोम इंस्पेक्टर) के साथ, मुझे पता चला है कि मुझे आमतौर पर साफ, परीक्षण, अधिकतर-बग-मुक्त जावास्क्रिप्ट कोड बनाने की आवश्यकता होती है।

0

सर्वश्रेष्ठ जावास्क्रिप्ट डीबगर है राइनो डीबगर http://www.mozilla.org/rhino/debugger.html देखें। यह खुला स्रोत है और आप डीबगर जीयूआई का स्रोत कोड प्राप्त कर सकते हैं। आप इसे इच्छानुसार अनुकूलित कर सकते हैं :-)।

1

मेरे पास सीएसक्रिप्ट नहीं है, लेकिन मुझे लगता है कि आप मैन्युअल रूप से प्रक्रिया में वीएस संलग्न करने का प्रयास कर सकते हैं।

cscript.exe //x myScript.js का उपयोग करके अपने जेएस शुरू करने के बाद, "डीबग - प्रोसेस से अटैचमेंट" पर क्लिक करें, अपनी cscript.exe प्रक्रिया को ढूंढें और उससे संलग्न करें।

मैं भूल जाता हूं कि वीएस2005 में यह फ़ंक्शन है लेकिन वीएस -2008 और वीएस -2010 क्या करते हैं।

यह मूल डीबग क्रिया है कि वीएस डीबग करने के लिए लेता है (चल रही प्रक्रिया से जुड़ा हुआ है)। अगर यह काम नहीं करता है, तो मुझे नहीं लगता कि आप विजुअल स्टूडियो का उपयोग करके ऐसा कर सकते हैं।

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