2013-09-06 5 views
8

मैं विजुअल स्टूडियो में PHP विकास कर रहा हूं, और मेरे समाधान में PHP, SSRS, और SQL सर्वर (SSDT) ​​के लिए प्रोजेक्ट शामिल हैं। और मैं संस्करण नियंत्रण के लिए टीएफएस का उपयोग कर रहा हूँ। तो मेरे देव पर्यावरण में बहुत कुछ चल रहा है जो "गलत हो सकता है"।विजुअल स्टूडियो 2012 हैंग/लॉकअप को समस्या निवारण कैसे करें

मुझे आमतौर पर 5 मिनट के क्लिप के दौरान इंटरमीटेंट हैंग का अनुभव होता है। विजुअल स्टूडियो मुझे प्रतीक्षा कर्सर देता है, और यदि मैं वीएस में कहीं भी क्लिक करता हूं तो विंडो मंद हो जाती है। और फिर मुझे बस इसे इंतजार करना होगा। कभी-कभी मैं devenv.exe कार्य को समाप्त कर सकता हूं, अन्य बार कार्य को समाप्त करने में कई मिनट लगते हैं। अगर मैं धीरज महसूस कर रहा हूं, तो मैं बस प्रतीक्षा करता हूं और अंततः (लगभग 5 मिनट) वीएस जीवन में वापस आ जाता है। जब मैंने प्रक्रिया को समाप्त किया तब भी मैंने डेटा, स्रोत नियंत्रण मुद्दों आदि का नुकसान कभी नहीं अनुभव किया है।

कभी-कभी ऐसा होता है जब मैं सहेजता हूं। कभी-कभी जब मैं चेक-इन करता हूं। कभी-कभी जब मैं जांच करता हूं। कभी-कभी जब मैं निर्माण करता हूं। मैं व्यवहार के किसी भी प्रकार के पैटर्न को समझने में असमर्थ रहा हूं।

मेरे सभी वर्कस्टेशन संसाधन ठीक हैं- कोई रैम या i/o या नेटवर्क या CPU समस्याएं नहीं हैं।

इस समस्या का निवारण करने के लिए मैं क्या कर सकता हूं? क्या मैं कुछ प्रकार के लॉगिंग मोड में वीएस चला सकता हूं जो मुझे लॉक अप की अवधि के दौरान कितना समय ले रहा है, यह निर्धारित करने की अनुमति देगा?

+0

यह देखने के लिए सुरक्षित मोड में चलाएं कि यह एक ऐड-इन है: 'devenv.exe/SafeMode' –

+0

आप लॉगिंग चालू करने का भी प्रयास कर सकते हैं: denenv.exe/log –

+0

@ ta.speeot.is - अगर मैं दौड़ता हूं सुरक्षित मोड, मैं अपनी परियोजना लोड नहीं कर सकता क्योंकि यह मेरे PHP विकास करने के लिए एक्सटेंशन पर निर्भर है। – Shoeless

उत्तर

9

, दृश्य स्टूडियो में प्रवेश करने चालू करने के लिए चलाएँ: devenv.exe/log

मैं व्यक्तिगत रूप से एक शॉर्टकट के साथ ऐसा होता है।

+3

इसे पढ़ने के लिए, आपको कमांड लाइन में लॉग फ़ाइल नाम भी निर्दिष्ट करना होगा, उदाहरण के लिए: devenv.exe/log c: \ temp \ vs.log (यह भी देखें http://msdn.microsoft.com/en- हमें/लाइब्रेरी/ms241272 (v = vs.110) .aspx) – Shoeless

+1

यहां एक उपयोगी लिंक है ... यह VS2010 को लक्षित करता है, और छवियां टूट जाती हैं, लेकिन यह विषय पर मुझे सबसे अच्छा लेख मिल सकता है: http: // ब्लॉग .msdn.com/b/visualstudio/archive/2010/02/24/समस्या निवारण-साथ-गतिविधि-log.aspx – Shoeless

+0

वीएस लटका। मैंने लॉग को देखा और देखा कि मेरे लेआउट-ओ-राम एक्सटेंशन में त्रुटियों का एक गुच्छा था। मैंने उस एक्सटेंशन को अक्षम कर दिया है, और उसके बाद वीएस लॉक नहीं हुआ है! – Shoeless

4

निरंतर एकीकरण बिल्ड से छोड़ी गई पुरानी टीएफएस वर्कस्पेस परिभाषाओं को हटाने पर विचार करें।

हमें एक बड़ी टीम फाउंडेशन सर्वर प्रोजेक्ट पेड़ के साथ यही समस्या थी। कभी-कभी, लेकिन हमेशा नहीं, विजुअल स्टूडियो 2010 या विजुअल स्टूडियो 2012 में एक समाधान खोलने से ऊपर वर्णित ठीक उसी तरह लटका होगा। वीएस 2010 सबसे कमजोर था; वीएस 2012 कम कमजोर लग रहा था, लेकिन यह अभी भी लटका होगा।

हम टीएफएस सर्वर मशीन और अंतर्निहित SQL सर्वर मशीन पर सर्वर गतिविधि की निगरानी करके कुछ सुराग प्राप्त करने में सक्षम थे। एक निश्चित क्वेरी संग्रहित प्रक्रिया SQL सर्वर में अत्यधिक CPU समय का उपयोग कर रही थी। हमने इस संग्रहीत प्रक्रिया नाम को फ़ाइलों के लिए अन्य उपयोगकर्ता के चेकआउट के लिए टीएफएस वर्कस्पेस परिभाषाओं को स्कैन करने में शामिल एक टीएफएस ऑपरेशन को ट्रैक किया।

हमारे टीएफएस पर्यावरण का उपयोग 3 से अधिक वर्षों से किया जा रहा है, और हम टीएफएस बिल्ड एजेंट होस्ट के रूप में डेवलपर वर्कस्टेशंस की "ज़ोंबी सेना" का उपयोग करके निरंतर एकीकरण निर्माण परिभाषाओं का उपयोग कर रहे हैं। हम प्रमुख रिलीज के लिए नई टीएफएस शाखाएं भी बनाते हैं। प्रत्येक शाखा में अपनी खुद की बिल्ड परिभाषाओं के साथ लगभग 20 अलग-अलग विजुअल स्टूडियो समाधान होते हैं।

समय के साथ, हमने प्रत्येक डेवलपर वर्कस्टेशन पर लगभग 2,000 टीएफएस कार्यक्षेत्र परिभाषा जमा की थी। हमारे पास अपनी परिभाषाओं के साथ एक समय में लगभग 10 कार्यस्थान थे।

tf कार्यस्थानों/संग्रह: tfservername \ collectionname/मालिक:

दृश्य स्टूडियो कमान खिड़की का उपयोग करना और एक TFS व्यवस्थापक के रूप में चल रहा है, हम अपने "का निर्माण उपयोगकर्ता" द्वारा बनाई गई सभी कार्यस्थानों पहचान करने के लिए इस आदेश का उपयोग किया जाता > ourbuilduser c: \ tf_ws_del।बल्ले

हम तो वैश्विक विकल्प और Notepad ++ संपादक मैक्रो रिकॉर्डर इस्तेमाल किया इस प्रपत्र में प्रत्येक परिणाम लाइन कन्वर्ट करने के लिए:

tf कार्यक्षेत्र/हटाने/संग्रह: tfservername \ collectionname workspacename; ourbuilduser < c: \ yes.txt

जहां C: \ yes.txt "y" की एक पंक्ति निहित

हम भी हमारे सबसे हाल TFS शाखा के लिए नामित किया गया कार्यस्थानों के लिए विलोपन लाइनों को हटाने के लिए कुछ मानव निर्णय किया करते थे।

फिर हमने उसी दृश्य स्टूडियो कमांड विंडो में उस c: \ tfs_ws_del.bat स्क्रिप्ट को चलाया और इसे पूरा करने के लिए धैर्यपूर्वक इंतजार किया।

अंतिम परिणाम: हमारे विजुअल स्टूडियो समाधान बहुत जल्दी खुलते हैं। स्रोत नियंत्रण एक्सप्लोरर में फ़ोल्डर पदानुक्रम ब्राउज़ करने से भी काफी बढ़ोतरी हुई है।

चेतावनी: कार्यक्षेत्रों की एक बड़ी संख्या के लिए विलोपन संचालन अंतर्निहित SQL सर्वर पर बड़ी मात्रा में TempDB का विस्तार कर सकता है। एसक्यूएल सर्वर मशीन पर अंतरिक्ष की निगरानी के लिए अपने डीबीए के साथ समन्वय। ग्राफ़िकल TFS व्यवस्थापक कंसोल टूल के माध्यम से TFS संग्रह को रोकना और पुनरारंभ करना उस TempDB स्पेस में से कुछ को पुनः प्राप्त करने में मदद करता है और इसे अपनी आंतरिक "मुक्त ब्लॉक" सूची में वापस लाता है।

0

यह तब भी हो सकता है जब आपके डीबग विकल्पों में निर्दिष्ट प्रतीक सर्वर नीचे या पहुंच योग्य नहीं हैं ... यह वास्तव में इस मामले में लटका नहीं होगा, लेकिन ऐसा लगता है कि प्रत्येक फ़ाइल एक्सेस के लिए यह समय लगता है।

अस्थायी रूप से इस समस्या को हल करने के लिए नीचे दिए गए प्रतीक सर्वर को अनचेक करें।

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