google chrome - रथम - गलत लाइन पर मेरी डिबगर ने नेत्रहीन क्यों रोक दिया?
हिंदी सॉफ्टवेयर पैकेज (2)
मै इस्तेमाल कर रहा हूँ
[email protected]
[email protected]
[email protected] (64-bit)
macOS Sierra 10.12.5
[email protected]
[email protected]
हाल ही में, डिबगर गलत लाइनों पर रोकना शुरू कर दिया था, लेकिन केवल नेत्रहीन, ज्यादातर वास्तविक ब्रेकपॉइंट के पीछे 8-14 लाइनों की तरह है।
जैसे
* ऑरेंज बार Google क्रोम में ब्रेकपॉइंट इंगित करता है
सांत्वना आउटपुट:
इसके अलावा, जैसा कि आप देख सकते हैं, कुछ पंक्तियाँ अंधेरे हैं, जिसका अर्थ है कि मैं ब्राउज़र से वहां एक ब्रेकपॉइंट सेट नहीं कर सकता।
वेबस्टॉर्म आंतरिक डीबगर के भीतर व्यवहार समान है इसलिए मुझे लगता है कि यह क्रोम की गलती नहीं है ऐसा लगता है कि स्रोत मानचित्रण टूट गया है। मुझे नहीं पता कि यह वेबस्टॉर्म या उल्का है जो कारण है। इस परिस्थिति में डीबग करना बहुत कठिन है ...
निश्चित रूप से कहना मुश्किल है। एक सरसरी Google खोज पर यह प्रकट होगा कि आप केवल एक ही नहीं देख रहे हैं। जैसा कि @ मास्टेरम ने उल्लेख किया है, संभवतः ट्रांसप्लेशन से स्रोत मानचित्रों की वजह से। मुझे नहीं लगता है कि आप इसके बारे में बहुत कुछ कर सकते हैं, लेकिन आप ब्राउज़र और आईडीई कैश को साफ़ करने का प्रयास कर सकते हैं जो कुछ के लिए काम करते हैं।
जावास्क्रिप्ट दूरस्थ डिबग मोड में एक ब्रेकपॉइंट के बिना किसी लाइन पर रोकता है
यह निश्चित रूप से कहना मुश्किल है, लेकिन ऐसा लगता है कि जिस समस्या का आप अनुभव कर रहे हैं वह एक बग से संबंधित है जो उल्का को गलत स्रोत मैप्स उत्पन्न करने का कारण बनता है।
स्रोत नक्शे
यह आपके ब्राउज़र की "गलती" नहीं है यह बस कोड और स्थिति प्रदर्शित करता है जो आपके प्रोजेक्ट में स्रोत मैप्स द्वारा वितरित की जाती है।
app.js
फ़ाइल और स्रोत नक्शा ( app.js.map
) उल्का निर्माण प्रक्रिया द्वारा उत्पन्न होती है और .meteor/local/build/programs/web.browser/app
निर्देशिका से सेवा की जाती हैं।
.map
फ़ाइल ब्राउज़र को बता रही है कि मूल स्रोत कैसे प्रदर्शित किया जाए, और जेनरेट किए गए app.js
फ़ाइल में कौन सा सेगमेंट को मूल स्रोत कोड में सेगमेंट के लिए मैप किए जाते हैं।
स्रोत नक्शे के तकनीकी पहलुओं के बारे में एक महान स्पष्टीकरण यहां पाया जा सकता है ।
आप अपने स्रोत नक्शे ऑनलाइन विज़ुअलाइज़ कर सकते हैं और देख सकते हैं कि कौन से मानचित्र इस उपकरण का उपयोग कर रहे हैं ( कस्टम ... चुनें और दोनों .js
और .map
फ़ाइलों को खींचें / छोड़ें।
संदिग्ध बग
निर्माण प्रक्रिया के एक हिस्से के रूप में, उल्का babel-compiler
उल्का पैकेज का उपयोग करता है। कुछ बिंदु पर, एक बग ने बैबल परिवर्तनों के बाद अमान्य मैप्स का उत्पादन किया।
बग वर्तमान में GitHub पर नज़र रखता है और उल्का लोग इस कारण में बंद होने लगते हैं
तुम क्या कर सकते हो?
इस समय, कोई त्वरित और आसान तय नहीं है
आप या तो यह कर सकते हैं:
- बग थ्रेड देखें और उसके लिए सोर्स मैप्स के बिना हल करने और डिबग करने के लिए प्रतीक्षा करें (शायद सबसे अच्छा, यदि बग जल्द ही तय हो जाए)।
- प्रासंगिक उल्का संकुल के स्थानीय क्लोनों से दूर रहें (काम कर सकता है, मैंने निर्भरता के मुद्दों में खोदा नहीं है और वास्तव में इसकी सिफारिश नहीं की है, लेकिन यह करने का एक तरीका है )।
- एक ज्ञात अच्छी स्थिति में एक गिट चेकआउट से चलने वाले उल्का को ठीक नहीं किया जाता है।
आखिरी विकल्प यह है कि @ ह्विसन ने एक गिट द्विभाजक के माध्यम से बग को इंगित करने के लिए क्या किया ।
आप Meteor उपकरण को चेकआउट से चलाने की विधि के बारे में विस्तृत जानकारी के लिए उल्का डेवलपर दस्तावेज़ का उल्लेख कर सकते हैं, लेकिन चीजों का सारांश इस प्रकार है:
सबसे पहले, सुनिश्चित करें कि आपका कोड, .meteor/versions
और .meteor/packages
सहित, स्रोत नियंत्रण में जांच की जाती है, क्योंकि आपको उन्हें अस्थायी तौर पर गड़बड़ करने की आवश्यकता होगी और बग ठीक होने पर उन्हें पुनर्स्थापित करना होगा।
-
git clone --recursive https://github.com/meteor/meteor.git
आपकी पसंद की एक निर्देशिका (उदाहरण के लिए,/home/yourname/src/remote
-
cd meteor
-
git checkout 25a89b5
लिए अंतिम ज्ञात अच्छी प्रतिबद्धता प्राप्त करने के लिए। -
git submodule update --init --recursive
यह सुनिश्चित करने के लिए कि चेकआउट के बाद सब कुछ अभी भी सुन्दर है। -
./meteor --help
को चेक आउट संस्करण प्रारंभ करना है - अपनी प्रोजेक्ट में
.meteor/packages
फ़ाइल से संस्करण जानकारी को हटा दें, क्योंकि वे आपके चेकआउट द्वारा प्रस्तुत किए जाने वाले लोगों के साथ असंगत हो जाएंगे। - अपने प्रोजेक्ट डायर में
/home/yourname/src/remote/meteor/meteor run
।
यह चेक आउट किए गए उल्का संस्करण को चलाएगा। आपको एक meteor reset
करने की आवश्यकता हो सकती है (चेतावनी: यह स्थानीय मोंगो डाटाबेस को साफ करता है) या कम से कम कुछ काम करने के लिए .meteor/local
, (उदाहरण के लिए, स्रोत मैप्स) को साफ कर सकते हैं, लेकिन यह अनावश्यक हो सकता है।
यह एक बग के लिए काफी प्रयास है जो मैं मानता हूं कि निकट भविष्य में इसका समाधान होगा, लेकिन मैंने भविष्य में इस जानकारी को आंशिक रूप से शामिल करने का निर्णय लिया ताकि भविष्य के स्रोत मेप से संबंधित मुद्दों के लिए दस्तावेज के रूप में उपयोग किया जा सके।