2012-04-03 8 views
6

मैं निम्नलिखित ट्यूटोरियल http://msdn.microsoft.com/en-us/library/ms731835%28v=vs.100%29.aspx कर रहा हूं और कार्यक्रम पूरी तरह से ठीक काम कर रहा है। सेवा और ग्राहक दोनों अलग-अलग समाधानों में हैं। मैं एक दृश्य स्टूडियो से सेवा शुरू कर सकता हूं और फिर क्लाइंट प्रोग्राम को सफलतापूर्वक चला सकता हूं। हालांकि मैं डिबगिंग करना चाहता हूं। मैं ग्राहक कोड से सेवा कोड में कदम उठाना चाहता हूं। जब मैं ऐसा करने का प्रयास करता हूं, तो मुझे निम्न त्रुटि मिलती है।डब्ल्यूसीएफ शुरुआती ट्यूटोरियल - डीबग करने में असमर्थ (चरण में)

"सर्वर में स्वचालित रूप से कदम उठाने में असमर्थ। सर्वर प्रक्रिया से जुड़ना असफल रहा। एक डीबगर पहले ही संलग्न है।"

ग्राहक और सर्वर दोनों कंसोल अनुप्रयोग हैं और सेवा स्लीफ होस्ट की जाती है। मैंने क्लाइंट की app.config फ़ाइल में डीबग = सत्य को सक्षम करने का भी प्रयास किया।

धन्यवाद

वरुण

उत्तर

3

वहाँ क्या आप प्राप्त करना चाहते हैं के लिए कई संभावित विकल्प हैं: ऐसा इसलिए है क्योंकि, ग्राहक डिबगर सर्वर प्रक्रिया के लिए अनुलग्न नहीं कर सकते

  1. त्रुटि को निर्दिष्ट के रूप में पहले से ही एक डीबगर मिला है। डीबगर के बिना सर्वर प्रक्रिया शुरू करने का प्रयास करें।
  2. एक ही समाधान में क्लाइंट और सर्वर कोड लाना और फिर आरएमसी का उपयोग कर -> डीबग -> नया उदाहरण आपके सर्वर और ग्राहक पर शुरू परियोजनाओं डीबगर के साथ
  3. चल रहा है सर्वर प्रक्रिया और उसके बाद का उपयोग कर "डीबग -> प्रक्रिया को संलग्न .. "क्लाइंट कोड से संलग्न करने के लिए (इसे डीबगर के साथ नहीं चलाया जाना चाहिए)

मैं उन दोनों को डीबगिंग उद्देश्यों के लिए एक ही समाधान में रखने की सिफारिश करता हूं (कम से कम समय के लिए)। एकल कार्यक्षेत्र में काम करना आसान है।

+0

दूसरा दृष्टिकोण काम करता है लेकिन मेरा लक्ष्य यह हासिल नहीं करना है। मैं उन्हें दो अलग-अलग दृश्य स्टूडियो में क्लाइंट और सर्वर चाहता हूं। जब मैं पहले दृष्टिकोण का उपयोग करता हूं तो मुझे निम्न नई त्रुटि मिलती है - "सर्वर में स्वचालित रूप से कदम उठाने में असमर्थ। दूरस्थ प्रक्रिया को डीबग नहीं किया जा सका। यह आमतौर पर इंगित करता है कि सर्वर पर डीबगिंग सक्षम नहीं किया गया है।" मुझे यकीन नहीं है कि तीसरे लक्ष्य को कैसे प्राप्त किया जाए। – VVV

+0

क्या आप डीबग मोड में निर्मित सर्वर प्रक्रिया चला रहे हैं? तीसरे के बारे में, आप सामान्य (एफ 5) जैसे विजुअल स्टूडियो से सर्वर प्रक्रिया शुरू करते हैं, फिर एक्सई फाइल से क्लाइंट प्रक्रिया शुरू करते हैं और फिर सर्वर विजुअल स्टूडियो में मेनू डीबग -> प्रक्रिया में संलग्न करें .. और अपने क्लाइंट एक्सई प्रक्रिया का चयन करें। –

+0

क्षमा करें मैंने जो कहा वह मैंने किया। F5 दबाकर सेवा शुरू की। क्लाइंट प्रोग्राम (Ctrl + F5) चला गया था। लेकिन फिर जब मैंने सर्वर दृश्य स्टूडियो से क्लाइंट प्रक्रिया को जोड़ने का प्रयास किया, तो यह अक्षम है। मैं इसे संलग्न नहीं कर सकता। कमांड लाइन से चल रहे क्लाइंट प्रोग्राम में कोई भी बिंदु नहीं है क्योंकि यह 1 सेकंड से भी कम समय में खत्म हो जाएगा। सेवा के लिए बस एक समारोह कॉल है। मुझे क्लाइंट प्रोग्राम में ब्रेकपॉइंट डालना होगा। – VVV

3

आपको ग्राहक को सेवा संलग्न करनी चाहिए। वीएस इंस्टेंस में जहां सेवा चल रही है, debug->Attach->(devenv.exe of the VS instance where the Client is running) पर जाएं और फिर क्लाइंट प्रारंभ करें।

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