2009-08-13 15 views
7

मैं क्यूटी खिड़कियों पर थोड़ी देर के लिए (पृष्ठभूमि यूनिक्स में/एम्बेडेड) सीखने किया गया है और stderr/stdout कहीं बाहर फेंक दिया (इकाई परीक्षण/घटना लॉगिंग/डिबग) मेरी Win32 क्यूटी जीयूआई app से करना चाहते हैं। यह विंडोज़ और I found this post on stackoverflow में एक लंबा आदेश प्रतीत होता है जो बताता है कि क्यों।qt निर्माता से लॉन्च किए गए एप्लिकेशन से stdout/cout?

मैं अपने आप को सोच क्यों क्यूटी डिबग बनाता है के लिए पोस्ट में सुझाव के कुछ प्रदर्शन करने के लिए एक सरल प्रणाली नहीं है पाते हैं।

ऐसी सुविधा पहले से ही क्यूटी में मौजूद हैं या कर रहा हूँ मैं अपने खुद के रोल करने के लिए (या किसी syslog lib लगता है) छोड़ दिया है?

उत्तर

14

qDebug() और संबंधित कार्यों बात की इस प्रकार की के लिए काम कर रहे हैं - डिबगर के लिए भेजा जाएगा

#include <QDebug> 

qDebug() << "x is: " << x; 
+0

वही है जो मैं ढूंढ रहा था, धन्यवाद! – tim

2

तुम हमेशा शुरू कर सकते हैं (यदि आप क्यूटी निर्माता का उपयोग कर रहे हैं, वह उन आसानी से उठा होगा!) stdout आउटपुट (cmd.exe) देखने के लिए कमांड लाइन से आपके प्रोग्राम। इसके अलावा, पॉल डिक्सन की तरह, qDebug() का उपयोग करके आप डीबगर में आउटपुट देखने में सक्षम होना चाहिए।

#include <QDebug> 
... 
{ 
    ... 
    int x = 5; 
    qDebug() << "x is: " << x; 
} 
+0

कोड स्निपेट के लिए धन्यवाद, यह सहायक था। – tim

2

एक सस्ता तरीका बस stdout/अं फिर से खोलना (अच्छी तरह से Win32 में कम से कम, मैं इसे क्यूटी के साथ भी काम करेंगे संभालने हूँ)

#include <stdio> 

//add this at the beginning of your main 
freopen("c:\\temp\\stdout.txt","w",stdout); 
freopen("c:\\temp\\stderr.txt","w",stderr); 

आप कुछ और अधिक गंभीर ट्रेसिंग की जरूरत है है/लॉगिंग उदाहरण पर विचार करें log4cxx

+0

पॉइंटर के लिए धन्यवाद, मेरे पास अपना खुद का लॉगिंग इंफ्रास्ट्रक्चर है जिसका मैंने आविष्कार किया है कि log4cxx की तरह बहुत कुछ दिखता है। मुझे यह देखने के लिए उस पर नज़र रखना होगा कि मुझे इसके बजाय इसका उपयोग करना चाहिए या नहीं। – tim

0

मैं Tools -> Options -> Build & Run -> [X] Merge stderr and stdout के तहत एक सेटिंग पाया।

इससे दिखाए गए चीजों को दिखाने में मदद मिलेगी।

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