2010-03-26 14 views
16

मुझे कंसोल या विजुअल स्टूडियो के आउटपुट पैनल में कोई आउटपुट नहीं मिला:.NET के Debug.Write() आउटपुट कहां है?

Debug.Write("WriteStatements() was reached") 

आउटपुट कहां जाता है?

+2

यदि आपको विजुअल स्टूडियो की * आउटपुट * विंडो में आउटपुट दिखाई नहीं देता है तो सुनिश्चित करें कि आपने ड्रॉप-डाउन सूची में * डीबग * से आउटपुट दिखाया है। –

उत्तर

15

यह डिफ़ॉल्ट ट्रेस श्रोता, जो आप को चालू करने की आवश्यकता होगी करने के लिए लिखते हैं:

Debug.Write Method

आप इस कंसोल को निर्देश दिया चाहते हैं तो आप का एक उदाहरण से जोड़ना होगा ConsoleTraceListener:

अपने .config फ़ाइल में यह सुनिश्चित आप निम्नलिखित प्रविष्टियाँ:

<configuration> 
    <system.diagnostics> 
    <trace autoflush="false" indentsize="4"> 
     <listeners> 
     <add name="configConsoleListener" 
      type="System.Diagnostics.ConsoleTraceListener" /> 
     </listeners> 
    </trace> 
    </system.diagnostics> 
</configuration> 

आउटपुट को सक्षम करने के लिए अपनी परियोजना को संकलित करते समय आपको यह सुनिश्चित करने की भी आवश्यकता हो सकती है कि आपने /d:TRACE ध्वज शामिल किया है।

+1

कोई डिफ़ॉल्ट श्रोता नहीं? – Ricky

+1

@Ricky एक डिफ़ॉल्ट ट्रेस लिस्टनर (http://msdn.microsoft.com/en-us/library/system.diagnostics.defaulttracelistener.aspx) है, जो स्पष्ट रूप से "Win32 आउटपुटडिबगस्ट्रिंग फ़ंक्शन और डीबगर को संदेश उत्सर्जित करेगा। लॉग विधि। आउटपुटडिबगस्ट्रिंग फ़ंक्शन के बारे में जानकारी के लिए, प्लेटफ़ॉर्म एसडीके या एमएसडीएन देखें ", लेकिन आप इसे कंसोल/आउटपुट विंडो में चाहते थे, जिसे कंसोलट्रेस लिस्टनर की आवश्यकता होती है। –

+0

जब तक मैंने अपना जवाब पोस्ट नहीं किया, तब तक आपकी टिप्पणी नहीं देखी गई, क्षमा करें। –

16

झफ के उत्तर ने आपको पहले से ही Debug.Write के आउटपुट तक पहुंचने का एक तरीका बताया है।

हुड के तहत, Debug.Write के लिए डिफ़ॉल्ट श्रोता, यानी System.Diagnostics.DefaultTraceListener, विंडोज एपीआई फ़ंक्शन OutputDebugString पर कॉल करता है।

उस फ़ंक्शन को पास किया गया कोई भी संदेश डीबगर द्वारा प्रदर्शित किया जा सकता है, उदा। आप Visual Studio के आउटपुट विंडो में आउटपुट देखेंगे।

DebugView देता है कि आप अपने स्थानीय सिस्टम पर डिबग आउटपुट की निगरानी के लिए एक आवेदन है:

Debug.Write और/या Trace.Write के उत्पादन को देखने के लिए एक और काफी आसान तरीका DebugView, Sysinternals से एक उपकरण का उपयोग करने के लिए है , या नेटवर्क पर किसी भी कंप्यूटर कि आप टीसीपी/आईपी के माध्यम से पहुंच सकते हैं। यह दोनों कर्नेल-मोड और Win32 डिबग आउटपुट प्रदर्शित करने में करने में सक्षम है, तो आप डिबग उत्पादन अपने अनुप्रयोग या डिवाइस ड्राइवरों उत्पन्न को पकड़ने के लिए एक डिबगर की जरूरत नहीं करते हैं, और न ही आप करने की जरूरत है अपने अनुप्रयोग या ड्राइवर को संशोधित करना गैर-मानक डीबग आउटपुट API का उपयोग करें।

कृपया ध्यान दें, Debug.Write कथन रिलीज बिल्ड में शामिल नहीं किए जाएंगे, इसलिए आप केवल डीबग बिल्ड में आउटपुट देखेंगे।

+1

डीबग व्यू के लिए +1 :) –

+0

मुझे कहना है कि परीक्षणों को डिबग करने पर यह एक असाधारण उपकरण था। कभी-कभी आपको डीबगर चलने के बिना आउटपुट देखने की आवश्यकता होती है। धन्यवाद Dirk! –

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