2013-10-16 10 views
5

पर रुकता है मैंने लिनक्स केवल सी ++ ऐप में एक एचयूपी सिग्नल हैंडलर बनाया है (QT link के अनुसार) और क्यूटी निर्माता 5.1 में काम कर रहा हूं। कोड संकलित करता है तथा क्यूटी निर्माता में ठीक चलाता है, लेकिन जब मैं एक कमांड लाइन से HUP संकेत भेजने, क्यूटी निर्माता एक पॉपअप के साथ बंद हो जाता है: साथक्यूटी निर्माता लिनक्स सिग्नल

"अवर बंद कर दिया है क्योंकि यह ऑपरेटिंग सिस्टम से एक संकेत प्राप्त" एचयूपी संकेत जानकारी के साथ।

यदि मैं डीबग पैनल पर CONTINUE बटन क्लिक करता हूं तो मुझे अपने कोड में मेरे एचयूपी सिग्नल हैंडलर से मेरा qDebug कथन प्रिंटआउट दिखाई देता है। मेरा सवाल है, क्या यह सामान्य व्यवहार है? क्यूटी निर्माता एचयूपी फँस रहा है और मेरा कोड क्यों रोक रहा है, जब मेरा कोड एचयूपी सिग्नल को सही तरीके से संभाला जा रहा है?

+0

शायद क्यूटी निर्माता सामान बॉक्स के बाहर से आने वाले पसंद नहीं है, एक कंसोल से सीधे अपने आवेदन कोशिश करते हैं और नहीं क्यूटी –

+0

हां से - यह ठीक काम करता है। मैं उम्मीद कर रहा था कि क्यूटी निर्माता में कहीं भी एक सेटिंग सिग्नल को नजरअंदाज कर देगी ... – TSG

+0

आईआईआरसी यह क्यूटी निर्माता नहीं है, लेकिन डीबगर इसे कर रहा है। –

उत्तर

8

टूल्स -> विकल्प ... -> डीबगर -> जीडीबी में बस "सिग्नल प्राप्त करते समय एक संदेश बॉक्स दिखाएं" बॉक्स को अनचेक करें।

पीएस बेशक कि क्यूटी निर्माता में केवल एक पॉपअप विंडो से संबंधित है, लेकिन मुख्य भाग एक डीबगर है। यदि आप जीडीबी को सिग्नल नहीं पकड़ना चाहते हैं लेकिन इसे अपने प्रोग्राम में पास करते हैं, तो आपको gdb को निम्न की तरह कमांड देना होगा: handle SIGHUP pass nostop noprint (विंडो देखें -> दृश्य -> ​​डीबगर लॉग या टूल्स -> विकल्प ... -> डीबगर - > जीडीबी -> जीडीबी स्टार्टअप स्क्रिप्ट हेल्पर अनुकूलन डीबगिंग (सिगिनट सिग्नल के लिए नीचे दी गई छवि की तरह))।

enter image description here

+0

मुझे इससे पहले याद आया लेकिन यह सही दिखता है – TSG

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