2016-03-29 12 views
6

मेरे पास ncurses प्रोग्राम है जो मैं CLION का उपयोग करके इंटरैक्टिव रूप से डीबग करना चाहता हूं। समस्या यह है कि जब मैं इसे डीबग करने के लिए सीएलओएन में प्रोग्राम चलाता हूं, तो इनबिल्ट कंसोल जहां प्रोग्राम चलाया जाता है, ncurses प्रोग्राम के आउटपुट को ठीक से प्रदर्शित नहीं करता है।अलग सिस्टम टर्मिनल में CLion रन प्रोग्राम

मैं प्रोग्राम को अपने सिस्टम टर्मिनल में चलाने के लिए चाहता हूं ताकि मैं प्रोग्राम डीबगर के साथ प्रोग्राम को डीबग करने के दौरान आउटपुट ठीक से देख सकूं।

क्या ऐसा करने का कोई तरीका है?

उत्तर

2

अन्य डिबगर में, आप एक टर्मिनल में ncurses आवेदन चल रहा है, और ncurses का उपयोग कर प्रक्रिया को डिबगर संलग्न द्वारा इस करना होगा।

ऐसा करने से ncurses (जो टर्मिनल I/O मोड में परिवर्तन करता है) और डीबगर की कमांड लाइन के बीच हस्तक्षेप से बचाता है।

देते सुविधा CLions डिबगर के एक हाल ही में जारी की सुविधा है:

अतिरिक्त पठन:

3

सबसे अच्छा तरीका है इसे पूरा करने के लिए अब यह वास्तव में शुरू कर दिया तो बीमार दिखाते हैं कि मैं इसे लिनक्स में पूरा करने के लिए निराशा हो सकती है GDB उपयोग करने के लिए है

  1. एक टर्मिनल खोलने के लिए और अपनी परियोजना डिबग फाइल करने के लिए जाने के लिए और टाइप gdbserver localhost:1234 ./myFile
  2. myFile परियोजना के लिए और ऊपरी दाएँ कोने में आप एक देखना चाहिए खुला Clion सब (या अपनी परियोजनाओं नाम)
  3. तो "दूरस्थ को लक्ष्य" में निर्माण इसे क्लिक करें और करने के लिए "विन्यास संपादित करें"
  4. ऊपरी बाएँ कोने आप के लिए धन चिह्न देखना चाहिए में
  5. जाना है, यह और प्रेस "GDB दूरस्थ डिबग" पर क्लिक करें "पथ मैपिंग" प्लस प्रेस में टाइप tcp:127.0.0.1:1234
  6. अगला और ठीक में दोनों रिमोट और स्थान
  7. प्रेस और ऊपरी दाएँ कोने में /location/to/file/myFile (1 में के रूप में एक ही फाइल) टाइप विन्यास के नाम का चयन है कि आप बस बनाया और प्रेस डीबग

आपको आराम करने की कोशिश करनी पड़ सकती है इस काम के लिए gdbserver एक और बार कला करें, लेकिन यदि आपने ऊपर दिए गए सभी चरणों को किया है तो आपको एक डीबग प्रॉम्प्ट देखना चाहिए और टर्मिनल पर आपको अपनी प्रोजेक्ट चलाना चाहिए।

उदाहरण के लिए कुछ सीमाएं हैं उदाहरण के लिए आपको हमेशा अपने टर्मिनल पर काम करने के लिए gdbserver localhost:1234 ./myFile कमांड चलाने होंगे।

कुछ वीडियो/प्रलेखन है कि मुझे मदद की:

मुझे आशा है कि इस मदद की :)

+0

जब यह एक प्रक्रिया के लिए डिबगर संलग्न करने के लिए वहाँ वैसे भी है शुरू होता है? मैं स्टार्टअप पर एक xterm विंडो में चलाया गया 'ncurses' प्रोजेक्ट चला रहा हूँ। – ZeroPhase

+0

मैं पोर्ट 2159 का उपयोग करने की अनुशंसा करता हूं, जो जीडीबी रिमोट डीबगिंग के लिए आधिकारिक बंदरगाह है। – DBX12

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