सावधान रहें जब एकाधिक उपयोगकर्ता सिमस्टोर.एक्सई का उपयोग उसी प्रतीक स्टोर के खिलाफ सीधे करते हैं। इस विषय पर माइक्रोसॉफ्ट के श्वेत पत्र इसे ध्वनि बनाते हैं जैसे कि आप बस एक शेयर बनाते हैं और विंडोज़ के लिए डीबगिंग टूल्स के हिस्से के रूप में वितरित SYMSTORE.EXE प्रोग्राम के माध्यम से सभी को अद्यतन करते हैं। श्वेत पत्रों ने आपको सलाह दी है कि यह प्रत्येक निर्माण द्वारा किया जाए।
और यह एकल उपयोगकर्ताओं के साथ बहुत अच्छा काम करता है या एक ऐसे व्यक्ति के माध्यम से सभी अद्यतनों को फ़नल करता है जो टीम के लिए प्रतीक सर्वर अपडेट कर रहा है।
दुर्भाग्यवश, कुछ सफेद कागजात के नीचे "ठीक प्रिंट" कहता है कि केवल एक उपयोगकर्ता symstore.exe चल रहा है, सामग्री को तोड़ने के बिना साझा प्रतीक सर्वर को एक ही समय में अपडेट कर सकता है।
(उदाहरण: http://msdn.microsoft.com/en-us/library/ms681417(VS.85).aspx पर, माइक्रोसॉफ्ट का कहना है: "नोट सिमस्टोर एकाधिक उपयोगकर्ताओं से एक साथ लेनदेन का समर्थन नहीं करता है। यह अनुशंसा की जाती है कि एक उपयोगकर्ता को प्रतीक स्टोर के" व्यवस्थापक "को नामित किया जाए और सभी एड और डेल लेनदेन के लिए जिम्मेदार हो। ")
तो प्रतीक स्टोर के अपडेट को क्रमबद्ध करने के लिए कोई अंतर्निहित तंत्र नहीं है। ऐसा प्रतीत होता है कि प्रतीक स्टोर को अपडेट करने के कई, एक साथ प्रयास प्रतीक स्टोर और/या इसकी अनुक्रमणिका को तोड़ सकते हैं।
हम अपने पूरे बहु-हज़ार व्यक्ति, अंतर्राष्ट्रीय निगम के लिए किसी भी स्थान पर एक व्यक्ति के माध्यम से समन्वय पर निर्भर सभी समय क्षेत्र के लिए निर्माण नहीं कर सकते हैं।
उन श्वेत पत्रों के आधार पर, मैंने मार्च 200 9 में माइक्रोसॉफ्ट के साथ इस मुद्दे को उठाया; जिन्होंने पुष्टि की कि यह एक संभावित मुद्दा था। उस चर्चा के बाद, हमने एक प्रतीक अद्यतन सेवा को लागू करना चुना जो प्रत्यक्ष विंडोज डिबगिंग उपकरण एसडीके DbgEng.DLL SymbolSrvStoreFile() एपीआई कॉल के माध्यम से अद्यतनों को क्रमबद्ध करता है, इसलिए एक ही समय में प्रतीकों के उसी क्षेत्र के खिलाफ दो एक साथ अपडेट की संभावना नहीं होती है । उपयोगकर्ताओं के पास एक बिल्ड एक्शन है जो सीधे प्रतीक स्टोर को अपडेट करने के बजाय सेवा के माध्यम से अपने प्रतीकों को कतारबद्ध करता है। सेवा फिर यह सुनिश्चित करने के लिए अद्यतनों को क्रमबद्ध करती है कि सही समवर्ती अद्यतन प्रयास कभी नहीं होते हैं।
उस समय SymSrvStoreFile का उपयोग करने के बारे में उपलब्ध सीमित दस्तावेज बहुत स्पष्ट नहीं था। मुझे यह काम मिल गया। उम्मीद है कि तब से इसमें सुधार हुआ है। यदि नहीं, तो सबसे महत्वपूर्ण मुद्दा यह था कि इनपुट पथ को _NT_SYMBOL_PATH के समान प्रारूप में निर्दिष्ट किया जाना चाहिए। तो उदाहरण के लिए, इनपुट पथ के रूप में "सी: \ डेटा \ MyProject \ bin" का उपयोग करके, आप इसके बजाय "srv * c: \ data \ MyProject \ bin" निर्दिष्ट करेंगे।
हमारी सेवा अब डेटाबेस के माध्यम से अद्यतन लॉग भी करती है। डेटाबेस दोनों प्रतीक स्टोर में बैकअप के रूप में कार्य करता है (यदि यह कभी भी दूषित हो जाता है और उसे पुनर्निर्मित किया जाना चाहिए) और यह एक रिपोर्टिंग पॉइंट भी बनाता है ताकि प्रबंधकों और लोगों को यह पता चल सके कि वास्तव में उनके प्रतीकों को कौन बचा रहा है और कौन नहीं है। हम एक साप्ताहिक "प्रतीक चेक-इन" रिपोर्ट उत्पन्न करते हैं जो हितधारकों को ऑटो-ईमेल किया जाता है।
संदर्भ: 1. http://msdn.microsoft.com/en-us/library/b8ttk8zy.aspx 2. http://msdn.microsoft.com/en-us/library/ms680693(v = vs.85)।एएसपीएक्स 3. http://www.stackhash.com/blog/post/Setting-up-a- सिंबल- सेवर.एएसपीएक्स 4. http://entland.homelinux.com/blog/2006/07/06/ सेटिंग-अप-ए-प्रतीक-सर्वर/ 5. http://msdn.microsoft.com/en-us/windows/hardware/gg462988 6. http://support.microsoft.com/kb/311503 7 https://developer.mozilla.org/en/Using_the_Mozilla_symbol_server –
क्या होगा यदि आप इसे आईआईएस के साथ वेबडाव-सक्षम फ़ाइल शेयर पर सेट करते हैं? हो सकता है कि एमएस क्या करे। –
तो शायद यह करने के लिए एक टीसीपी कनेक्शन मॉनीटर को हुक अप करें और यह देखने के लिए कि यह क्या और कैसे करता है, यातायात को http://dl.microsoft.com पर जा रहा है। जेम सिटी से –