2008-12-22 13 views
9

के लिए इंटरनेट पर रिमोट डीबगिंग करते समय ब्रेकपॉइंट हिट नहीं हुआ है, मैंने इंटरनेट के माध्यम से उपयोग किए गए विंडो 2003 सर्वर पर दूरस्थ डिबगिंग बैठी है। मेरे पास मेरे एक्सपी देव बॉक्स पर वीएस 2008 एसपी 1 स्थापित है।एएसपी.NET

मैंने दूरस्थ सर्वर पर साइट लॉन्च की और दूरस्थ सर्वर पर सभी w3wp.exe प्रक्रियाओं से जुड़ा हुआ है। मैंने देखा कि .dll प्रतीकों फ़ाइल लोड नहीं किया था। जब मैं अपनी स्थानीय मशीन से संबंधित .pdb फ़ाइल लोड करने का प्रयास करता हूं, तो यह कहता है कि फ़ाइल मेल नहीं खाती है। मेरे पास अनचेक किए गए मूल संस्करण से सटीक मिलान करने के लिए "स्रोत फ़ाइलों की आवश्यकता है"। रिमोट सर्वर पर असेंबली मेरे देव बॉक्स पर एक जैसी है। साइट और .dll को dev boc से दूरस्थ सर्वर पर कॉपी किया गया था और कोड तब से नहीं बदला है। तो मुझे पता है .dll और .pdb फ़ाइलों को मेल खाना चाहिए या कम से कम मुझे मिलान को मजबूर करने की आवश्यकता है।

सवाल:

  1. मैं कैसे .pdb फ़ाइल को लोड करने मिलता है? मुझे पता है कि ब्रेकपॉइंट तब तक ट्रिगर नहीं होंगे जब तक प्रतीकों फ़ाइल लोड नहीं हो जाती। मैंने देखा कि .pdb फ़ाइल दूरस्थ सर्वर पर "अस्थायी एएसपी.NET फ़ाइलें" फ़ोल्डर में मौजूद नहीं है। डीडी करता है।

  2. वीएस के अंदर दूरस्थ रूप से डीबगिंग शुरू करने के लिए उचित अनुक्रम क्या है? (रिमोट सेट अप किया गया है और मैं दूरस्थ प्रक्रिया देख सकता हूं)। वीएस में, मैंने पृष्ठ को रिमोट साइट के यूआरएल के रूप में शुरू किया है। मैं डिबगिंग के बिना शुरू करता हूं और फिर दूरस्थ पर w3wp.exe से संलग्न करता हूं। क्या यही सब है?

उत्तर

4

आप एक वेब साइट या एक वेब अनुप्रयोग चला रहे हैं (यह एक संकलित परियोजना, कि आप के लिए DLL, या कि आप को तैनात aspx की और फ़ाइलों aspx.cs एक संग्रह को तैनात है)?

यदि यह एक वेब अनुप्रयोग है, तो क्या आपने रिलीज बिल्ड, या डिबग बिल्ड को तैनात किया है? रिलीज बिल्ड "डीबगिंग" करते समय आप ब्रेकपॉइंट्स को हिट नहीं कर पाएंगे, क्योंकि कोड काफी हद तक अनुकूलित है।

क्या आपको web.config संकलन अनुभाग में "डीबग = सत्य" सेट मिला है? यदि नहीं, तो, डीबगिंग मुश्किल हो रही है।

अंत में, चरण मैं का उपयोग जब दूरस्थ डीबगिंग हैं: शुरू फ़ाइलों के

  1. तैनात नवीनतम डीबग बिल्ड दूरस्थ सर्वर पर
  2. अनुरोध पृष्ठ के लिए/पुनः आरंभ आवेदन
  3. सुनिश्चित करें कि वी.एस. दूरस्थ डीबगिंग मॉनीटर रिमोट सर्वर पर है और चल रहा है
  4. वीएस में, टूल्स (या डीबग) पर जाएं। प्रक्रिया से जुड़ें ..., सुनिश्चित करें कि रिमोट सर्वर क्वालीफायर में चुना गया है, और सही ऐप-पूल, आदि के लिए w3wp.exe का चयन करें।
  5. अनुरोध पृष्ठ जो ब्रेक पॉइंट को आग लगाएगा।
  6. डीबग!

यदि ब्रेकपॉइंट खोखले (भरे डिस्क की बजाय पतली लाल मंडल) हैं, तो मैं अक्सर यह देखने के लिए वीएस में स्टैक विंडो की जांच करूंगा कि क्या लोड किया गया है और लोड नहीं किया गया है।

+0

यह एक वेब एप्लिकेशन है और वेबसाइट एप्लिकेशन नहीं है। आपके द्वारा उल्लिखित सब कुछ किया गया है। हालांकि मेरा पहला प्रश्न अभी भी खड़ा है। आप लोड करने के लिए .pdb फ़ाइल कैसे प्राप्त करते हैं और वीएस कहां से अपेक्षा करता है? साइट के लॉग को देखते हुए, मुझे डीईबीयूजी कमांड दर्ज नहीं किया जा रहा है। – Abdu

+0

इसके अलावा मुझे% tmp% \ Visual Studio Web Debugger.log फ़ाइल नहीं मिल रही है।मैंने% tmp% फ़ोल्डर में देखा, मैंने दस्तावेज़ों और सेटिंग्स फ़ोल्डर पेड़ और वीएस स्वयं पेड़ के नीचे देखा। क्या इस लॉगिंग को सक्षम करने के लिए वीएस में कोई सेटिंग है? – Abdu

+0

वीएस कैसे निर्धारित करता है कि डीएलएल और .pdb मेल नहीं खाते? मुहर? कुछ सामग्री? उन्हें मेल खाना चाहिए क्योंकि मैं फ़ाइलों को अपनी स्थानीय मशीन से रिमोट सर्वर पर कॉपी कर रहा हूं। – Abdu