हम वर्तमान में क्लाइंट मशीनों पर स्थान बचाने और बैंडविड्थ डाउनलोड करने के लिए .pdb फ़ाइलों के बिना WinForms ऐप वितरित कर रहे हैं। जब हमें स्टैक निशान मिलते हैं, तो हमें विधि नाम मिल रहे हैं लेकिन रेखा संख्या नहीं। क्या .pdb फ़ाइलों को वितरित करने के बिना लाइन नंबर प्राप्त करने का कोई तरीका है?मैं पीडीबी के बिना स्टैक ट्रेस में लाइन नंबर कैसे शामिल कर सकता हूं?
उत्तर
आप पीडीबी को बंडल करते समय सीधे अपने आवेदन से लाइन नंबरों के साथ एक स्टैक ट्रेस नहीं प्राप्त कर सकते हैं। हालांकि, यदि आपके पास अपने ग्राहकों को भेजे गए ऐप के उसी संस्करण के लिए पीडीबी फाइलें हैं, और आपको कुछ प्रकाश स्क्रिप्टिंग नहीं है, तो आप .NET स्टैक ट्रेस और आईएल ऑफसेट को वापस चालू कर सकते हैं पंक्ति संख्याएँ।
अपनी निर्माण प्रक्रिया के दौरान, अपने उत्कृष्ट MDbg managed code debugger के हिस्से के रूप में वितरित Mike Stall's pdb2xml converter का उपयोग करें, और उन्हें कुछ स्थान सुरक्षित (उदा।, स्रोत नियंत्रण) स्टोर करें। जब आप क्लाइंट से वापस स्टैक ट्रेस प्राप्त करते हैं, तो आप प्रासंगिक डेटा नंबर निर्धारित करने के लिए XML डेटा से आईएल ऑफ़सेट से पूछ सकते हैं। यदि आपके स्टैक निशान किसी वेबसाइट पर सबमिट किए जाते हैं, तो आप रूपांतरण को स्वचालित भी कर सकते हैं, ताकि डेवलपर्स पहले से ही अपने इनबॉक्स को हिट करते समय पूरी तरह से विस्तृत स्टैक निशान प्राप्त कर सकें।
नहीं। रेखा संख्या डीबगिंग जानकारी का हिस्सा हैं, जो केवल पीडीबी फ़ाइल में संग्रहीत है। यही कारण है कि पीडीबी फाइलें पहले स्थान पर मौजूद हैं।
आपको पीडीबी फ़ाइल को * पीडीबी फाइल * में भेजने की ज़रूरत नहीं है। जब तक आप इसे निर्माण करते समय कहीं दूर ले जाते हैं, तब तक जब आप स्टैक ट्रेस प्राप्त करते हैं तो आप इसका उल्लेख कर सकते हैं। Http://stackoverflow.com/questions/1328836/include-line-numbers-in-stack-trace-without-pdb/1328915#1328915 – tghw
हां, यह सच है। लेकिन आपको यह जानकारी प्राप्त करने के लिए पीडीबी फ़ाइल रखना है - क्योंकि वह संकलक द्वारा संग्रहीत किया जाता है। –
कोई नहीं है। मूल स्रोत फ़ाइल और लाइन नंबर पर आईएल की लाइनों को मैप करने के लिए आवश्यक सभी जानकारी पीडीबी के भीतर संग्रहीत की जाती है। पीडीबी के बिना स्टैक ट्रेस में उस जानकारी को प्राप्त करना संभव नहीं है।
मुझे बहुत यकीन है कि मैं पीडीबी फ़ाइल में उपस्थित होने की तुलना में आईएल ऑफ़सेट के बहुत छोटे संस्करण को लाइन संख्याओं में लिख सकता हूं। – Joshua
आपके प्रश्न का उचित उत्तर नहीं है लेकिन मेरे पास एक सुझाव है। आप लॉगिंग तंत्र को शामिल कर सकते हैं और इन लॉग फ़ाइलों को स्टैक निशान के साथ प्राप्त कर सकते हैं। यदि आप अपने लॉग संदेशों में लाइन नंबर शामिल करते हैं, तो आप लॉगिंग जानकारी को अपने स्टैक ट्रेस के साथ मैन्युअल रूप से जोड़ सकते हैं।
यदि आप अधिक जगह नहीं लेना चाहते हैं तो आप सीमित आकार लॉग फ़ाइलों का उपयोग कर सकते हैं, इस तरह केवल हालिया लॉग संदेश ही रखे जाएंगे।
हम लॉगिंग आवश्यकताओं के लिए लॉग 4नेट लाइब्रेरी का उपयोग करते हैं, मैं आपको एक नज़र डालने की सलाह देता हूं।
- 1. स्टैक ट्रेस
- 2. रिलीज मोड में .NET असेंबली के लिए स्टैक ट्रेस में डिस्प्ले लाइन नंबर
- 3. सी # में, मैं स्टैक ट्रेस खोए बिना InnerException को कैसे पुनर्स्थापित कर सकता हूं?
- 4. फ़ायरफ़ॉक्स में जावास्क्रिप्ट स्टैक ट्रेस कैसे प्राप्त कर सकता हूं?
- 5. जावा में स्टैक ट्रेस के बिना अपवाद
- 6. स्टैक ट्रेस लाइन नंबर से वास्तविक जेएसपी लाइन नंबर प्राप्त करना?
- 7. जीडीबी में फ़ंक्शन नाम के अनुसार मैं स्टैक ट्रेस में फ्रेम पर कैसे जा सकता हूं?
- 8. स्टैक ट्रेस (रिलीज) में गलत रेखा संख्या
- 9. स्टैक ट्रेस
- 10. जावास्क्रिप्ट स्टैक ट्रेस से जावा वास्तविक स्टैक ट्रेस ढूंढना
- 11. स्टैक ट्रेस 3
- 12. मैं रुबी 1.9 प्रक्रिया के रनटाइम स्टैक ट्रेस को कैसे प्रिंट कर सकता हूं?
- 13. प्रिंट पायथन स्टैक ट्रेस उठाए बिना अपवाद
- 14. स्टैक ट्रेस
- 15. चींटी निर्माण द्वारा बनाए गए जार के त्रुटि स्टैक ट्रेस में स्रोत पंक्ति संख्या कैसे प्राप्त कर सकता हूं?
- 16. "स्टैक ट्रेस
- 17. मैं ग्रोवी स्टैक ट्रेस कैसे प्रिंट करूं?
- 18. रिलीज मोड में पीडीबी से लाइन नंबर प्राप्त करना
- 19. मैं पहली बार अपवादों के लिए स्टैक ट्रेस दिखाने के लिए विजुअल स्टूडियो कैसे सेट कर सकता हूं?
- 20. एक स्टैक ट्रेस के बिना पुनरावर्ती अपवाद - रीसेट कैसे करें?
- 21. क्या मैं लाइन नंबर टाइप किए बिना लाइन को छोड़ने के लिए जीडीबी का उपयोग कर सकता हूं?
- 22. मैं पाइथन पीडीबी में वर्तमान लाइन कैसे सूचीबद्ध करूं?
- 23. स्टैक ट्रेस
- 24. गलत लाइन नंबर
- 25. एमएसआई इंस्टॉलर में पीडीबी फाइलों को शेष ऐप के साथ तैनात करने के लिए कैसे शामिल करें?
- 26. मैं जावास्क्रिप्ट में वर्तमान लाइन नंबर कैसे निर्धारित कर सकता हूं?
- 27. मैं टेक्स्ट फ़ाइल में लाइन नंबर से किसी विशिष्ट पंक्ति को कैसे प्रतिस्थापित कर सकता हूं?
- 28. मैं पर्ल में स्रोत लाइन नंबर कैसे प्रिंट कर सकता हूं?
- 29. क्या मैं तुरंत पीडीबी डिबगिंग शुरू कर सकता हूं?
- 30. मुझे अपवादों से बनाए गए स्टैक ट्रेस से कोई लाइन नंबर क्यों नहीं मिलती है?
क्या आप या किसी और ने नेट पर कहीं भी Pdb2Xml.exe डाल दिया है? मुझे लगता है कि यह अप्रबंधित कोड के लिए भी प्रयोग योग्य है, और मेरे पास सी # कंपाइलर नहीं है। लेकिन मुझे केवल स्रोत मिलते हैं। एक महान उपकरण लगता है। –
दुर्भाग्यवश ये लिंक अब काम नहीं करते हैं। – Marc