सबसे पहले मुझे कहना है कि मैं कर सकते हैं दूरस्थ डिबग दूरस्थ कंप्यूटर पर एक रिहाई निर्माण। मैं set up my release build मेरी डीबग बिल्ड की तरह बहुत अधिक है लेकिन मुझे ज्यादातर यह सुनिश्चित करना था कि डीबग ध्वज सेट नहीं किया गया था। मैंने थोड़ी देर के लिए ऐसा करने का निपटाया है और आखिरकार कोशिश करने का फैसला किया कि मुझे इस माध्यम से क्यों जाना है। मुझे यह भी उल्लेख करना चाहिए कि मेरा रिमोट डीबगिंग अनुभव इस प्रोजेक्ट तक ही सीमित है और सी # प्रोग्राम कुछ महत्वपूर्ण सी ++ libs में मध्यस्थता करने के लिए डी + एल/सीएलआई (निर्मित/क्लियर) का उपयोग करता है। मुझे अंतर्निहित सी ++ libs को डीबग करने की आवश्यकता नहीं है लेकिन मुझे सी ++/सीएलआई कोड डीबग करने की आवश्यकता है। (एक कारण यह है कि मैं इसका उल्लेख करता हूं कि मैं/clr ध्वज का उपयोग करते समय स्थिर रूप से libs को लिंक नहीं कर सकता)।रिमोट सीआरटी का डीबग संस्करण के साथ एक ऐप्लिकेशन डिबगिंग जब वी.एस. रिमोट मशीन पर स्थापित नहीं है
मैंने हाल ही में Dependency Walker खोजा है, इसलिए मैंने यह देखने के लिए उपयोग किया कि क्या हो रहा था। डीबग फ्लैग सेट के साथ बाहर निकलता है, एमएसवीसीआर 100 डी.डीएलएल और एमएसवीसीपी 100 डी.डीएलएल में लिंकर लिंक, जब ध्वज सेट नहीं होता है तो यह "डी" प्रत्यय के बिना फ़ाइलों का उपयोग करता है। अब आम तौर पर मैं उन लोगों के अपने संस्करणों की प्रतिलिपि बना सकता हूं। डीएलएल रिमोट मशीन पर लेकिन एक समस्या है। वीएस -2010 के साथ मेरा देव लैपटॉप एक 64 बिट मशीन है और लक्ष्य मशीन 32 बिट है। इसका मतलब है कि मेरे पास उन डीएलएल का एकमात्र संस्करण 64 बिट है। मैंने रिमोट मशीन पर वीएस -2010 (मुझे 2008 के तहत भी यही समस्या थी) के लिए रिमोट डीबगिंग स्थापित किया है, लेकिन इसमें डीबीएलएल के डीबग संस्करण शामिल नहीं हैं (मुझे यकीन नहीं है कि क्यों, लेकिन मुझे लगता है कि यह है डिज़ाइन)। तो मेरे प्रश्न हैं:
- वीएस -2010 के एक पंजीकृत मालिक के रूप में इनमें से 32 बिट संस्करणों के लिए एक वैध स्रोत है। डीएलएल मैं रिमोट मशीन पर डाल सकता हूं?
- क्या मेरे लिए डीबग समर्थन प्राप्त करने का कोई आसान तरीका है? क्या मैं कुछ अन्य सेटिंग बदल सकता हूं जो वीएस को उन दो डीएलएल के डीबग संस्करण का उपयोग न करने के लिए कहता है? यहां लाभ यह है कि DEBUG प्रतीक सेट किया जाएगा और इसका उपयोग करने वाला कोई सशर्त कोड काम करेगा।
1K धन्यवाद। मैं रनटाइम लाइब्रेरी विकल्प को ध्यान में रखते हुए बेवकूफ की तरह महसूस करता हूं (क्योंकि मैंने एमटी विकल्प को आजमाने के लिए बहुत पॉपअप का उपयोग किया था)। मुझे लगता है कि सुरंग दृष्टि अंधेरे की अजीब तरह। मैंने रिमोट मशीन पर अपने डीबग फ़ोल्डर में गैर-रेडिस्ट संस्करण डालने का विकल्प चुना। मशीन को ग्राहक को भेजने से पहले वह फ़ोल्डर हटा दिया जाएगा और मैं एमएस के अच्छे गुणों में रहूंगा। – Tod
@ टोड: ज़रूर; आपका स्वागत है। वास्तव में यह साइट वास्तव में है। यह मेरे लिए एक अच्छा समाधान की तरह लगता है; मैंने उन परियोजनाओं पर किया है जहां स्थिर लिंकिंग काम नहीं करती है। (मैंने अभी देखा है कि मैंने आपके प्रश्न में उस हिस्से को याद किया जहां आपने समझाया कि आप स्थिर रूप से लिंक क्यों नहीं कर सकते हैं।) –