2010-04-06 17 views
9

विजुअल स्टूडियो 2008 में, जब ब्रेकपॉइंट मारा जाता है तो मैं मुद्रित होने के लिए एक संदेश निर्दिष्ट कर सकता हूं (ब्रेकपॉइंट पर राइट-क्लिक करके और 'जब हिट ...' चुनकर)। जब प्रोग्राम चलाया जाता है, तो ये संदेश आउटपुट विंडो में दिखाई देते हैं। मैं जानना चाहता हूं, क्या उन्हें फ़ाइल में रीडायरेक्ट करने का कोई तरीका है?मैं विजुअल स्टूडियो डीबगर से आउटपुट कैसे रीडायरेक्ट करूं?

प्रोग्राम के लिए कमांड तर्क के रूप में >file.txt निर्दिष्ट नहीं करता है: यह प्रोग्राम के आउटपुट को रीडायरेक्ट करता है, लेकिन डीबगर नहीं।

उत्तर

4

Windows 2000 के तहत, एक्सपी, सर्वर 2003 और Vista DebugView कब्जा होगा:

  • Win32 OutputDebugString
  • कर्नेल-मोड DbgPrint
  • सभी DbgPrint की कर्नेल-मोड वेरिएंट Windows XP और सर्वर 2003 में लागू

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

कैच है, आउटपुट को कैप्चर करने के लिए डीबीजीवीव के लिए, आपको डीबगर से अटैच किए बिना चलाने की आवश्यकता है। (का प्रयोग करें Ctrl + F5)

+1

डीबगर का उपयोग नहीं करता है, तो उत्पादन breakpoints द्वारा उत्पन्न होता है में बिंदु क्या है? – Karsten

+1

जब आप समय संवेदनशील अनुप्रयोगों को डिबग कर रहे हैं और एप्लिकेशन को रोकने का बहुत ही कार्य एप्लिकेशन की भविष्य की स्थिति को बदल देता है। – Carl

+0

जो मेरा मतलब नहीं है। सवाल यह था कि एक ब्रेकपॉइंट फ़ाइल को उत्पन्न करने वाले पाठ को लॉग करने के लिए डीबगर आउटपुट को कैसे रीडायरेक्ट किया जा सकता है।यदि डीबगर का उपयोग नहीं किया जा सकता है, तो कोई ब्रेकपॉइंट टेक्स्ट उत्पन्न नहीं करेगा। – Karsten

0

मैं एक का पता नहीं है (Fwiw व्यवहार मैं प्राप्त करना चाहते हैं डिबगर प्राप्त करने के लिए बार-बार, एक फाइल करने के लिए एक वेरिएबल का मान मुद्रित करने के लिए नहीं बल्कि printf/अदालत में बयान के साथ अपने कोड peppering से है।) एक वीएस प्लगइन लिखने से कम फ़ाइल में आउटपुट विंडो सामग्री लिखने का तरीका, लेकिन आप आउटपुट विंडो में टेक्स्ट को हाइलाइट कर सकते हैं और इसे क्लिपबोर्ड पर कॉपी कर सकते हैं, फिर इसे टेक्स्ट फ़ाइल में पेस्ट करें।

13
  1. विकल्प सेट तत्काल खिड़की करने के लिए सभी आउटपुट विंडो पाठ पुन: निर्देशित। हम इसे उपकरणविकल्पडिबगिंगसामान्य (अंतिम आइटम तक पांचवां)।

  2. ओपन तत्काल विंडो: Ctrl +Alt + मैं या डीबग→ विंडोजतत्काल खिड़की

  3. तत्काल विंडो में निम्नलिखित की तरह एक आदेश डालें:

    > Tools.LogCommandWindowOutput /on C:\mylogfile.txt 
    
  4. फ़ाइल के लिए लिख रोकने के लिए, तत्काल विंडो में निम्न आदेश दर्ज करें:

    > Tools.LogCommandWindowOutput /off 
    
+0

उत्कृष्ट चाल! –

+0

धन्यवाद, लेकिन तत्काल विंडो में अपना '/ on' कमांड चिपकाए जाने के बाद, मुझे' डिज़ाइन मोड में अभिव्यक्ति का मूल्यांकन नहीं किया जा सकता है। 'कोई विचार? –

+1

तत्काल विंडो में, आदेशों को ">" के साथ उपसर्ग किया जाना चाहिए (अन्यथा, इसे विजुअल स्टूडियो के आदेश की बजाय डीबग प्रक्रिया के संदर्भ में अभिव्यक्ति के रूप में मूल्यांकन किया जाता है) – Ramkumar

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