2014-11-06 10 views
7

मैं विजुअल स्टूडियो 2010 में एक सी #/नेट प्रोग्राम डीबग करने की कोशिश कर रहा हूं लेकिन यह समय-संवेदी है इसलिए ब्रेकपॉइंट्स इसे गड़बड़ कर देता है। तो मैं बस कुछ घटनाओं और उनके सापेक्ष समय लॉग करना चाहता हूं और उन्हें देख रहा हूं क्योंकि मेरा प्रोग्राम चल रहा है।विजुअल स्टूडियो डीबग लॉग (एंड्रॉइड में लॉगकैट की तरह)?

क्या विजुअल स्टूडियो (या सी # या .Net) में लॉग फ़ाइल में लिखने की कोई सुविधा है जो विजुअल स्टूडियो डीबग विंडो के रूप में प्रदर्शित हो सकता है?

जब मैं ग्रहण में Android विकास करना मैं उनके प्रवेश वर्ग का लाभ उठाने और लाइनों है कि मेरे कोड में इस तरह दिखता है सम्मिलित कर सकते हैं:

Log.d("Label1", "Hit checkpoint X"); 

और वे LogCat में समय/तारीख टिकटों के साथ दिखाई देंगे खिड़की जो ग्रहण में अन्य खिड़कियों के साथ प्रदर्शित होती है।

विजुअल स्टूडियो 2010 में इसके सबसे नज़दीकी समतुल्य क्या है?

+0

आपके पास विजुअल स्टूडियो –

उत्तर

6

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

कि संवाद से "संदेश प्रिंट करें" और "निष्पादन जारी रखने के लिए"

Dialog screenshot

+0

में त्वरित घड़ी है जहां संदेश दिखाई देते हैं? – user316117

+0

आउटपुट विंडो में (देखें -> आउटपुट) – heavyd

+0

संदेश में स्थानीय चर की सामग्री को एम्बेड या प्रदर्शित करने का कोई तरीका है? – user316117

2

वास्तव में वास्तव में logcat की तरह में निर्मित कुछ भी नहीं है, लेकिन वहाँ प्रवेश चौखटे है कि आप उपयोग कर सकते हैं के बहुत सारे हैं ।

व्यक्तिगत रूप से, मैं NLog का उपयोग करना चाहता हूं और लक्ष्य के सभी लॉगर्स को आगे बढ़ाने के लिए नियम के साथ मेरी कॉन्फ़िगरेशन फ़ाइल में ट्रेसिंग/डिबगिंग के लिए एक यूडीपी लक्ष्य स्थापित करना चाहता हूं। मुझे लगता है कि Log4Net (Log4j का .NET पोर्ट) से NLog का उपयोग करना आसान है। एक बार जब आप ऐसा करते हैं तो आप प्रबंधक से एक लकड़हारा बना सकते हैं और सिर्फ LogCat तरह लकड़हारा फोन एंड्रॉयड में कर सकते हैं:

Logger logger = LogManager.GetLogger("MyClassTag"); 

logger.Trace("Something to log"); 
logger.Debug("Something to log"); 
logger.Info("Something to log"); 
logger.Warn("Something to log"); 
logger.Error("Something bad to log", exception); 
logger.Fatal("Something bad to log", exception); 

यूडीपी प्रवेश पैकेट मैं Log2Console का उपयोग मुझे उन्हें सिर्फ एंड्रॉयड के logcat दर्शक की तरह देखने की अनुमति देता है जो सुनने के लिए ।

+0

मुझे बताएं कि आपको इसे स्थापित करने में कुछ मदद की ज़रूरत है या नहीं। एक बार जब आप इसे प्राप्त कर लेते हैं तो यह बहुत आसान होता है, लेकिन इसमें थोड़ा सीखने की वक्र होती है। – JNYRanger

+0

यह बहुत अधिक काम और ओवरहेड की तरह लगता है, तीसरे पक्ष के औजारों को नियोजित करने और कॉन्फ़िगरेशन फ़ाइल में सामान डालने के लिए। मुझे आश्चर्य है कि विजुअल स्टूडियो और नेट जैसे परिपक्व विकास वातावरण में यह क्षमता अंतर्निहित नहीं है। हेवीड का जवाब मुझे जो चाहिए उसे थोड़ा करीब है, लेकिन मैंने आपको आपके प्रयास के लिए +1 दिया है। – user316117

+0

@ user316117 हाँ यह थोड़ा आश्चर्यजनक है और मैं केवल इतना सीमित होने के कारण हेवीड के जवाब में विधि का बड़ा प्रशंसक नहीं हूं। हालांकि, मैं पूरी तरह से आपका मुद्दा देखता हूं कि इसे थोड़ा भारी हाथ माना जा सकता है, लेकिन इसका पदचिह्न बहुत खराब नहीं है। यह एक बहुत ही अच्छा ढांचा है जो कि एक ही कॉन्फ़िगरेशन फ़ाइल (केवल एक्सएमएल का थोड़ा सा) सेट करने के बाद उपयोग करना बहुत आसान है जो आपको लॉगकैट के साथ ठीक से करने की अनुमति देता है। – JNYRanger

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