[C++] क्या लिनक्स के लिए सी ++ जीडीबी जीयूआई है?


Answers

ग्रहण सीडीटी दृश्य स्टूडियो का उपयोग करने के लिए तुलनीय अनुभव प्रदान करेगा। मैं कोड लिखने और स्थानीय और दूरस्थ प्रक्रियाओं को डिबग करने के लिए दैनिक आधार पर एक्लिप्स सीडीटी का उपयोग करता हूं।

यदि आप एक्लिप्स आधारित आईडीई का उपयोग करने से परिचित नहीं हैं, तो जीयूआई का उपयोग थोड़ा सा हो जाएगा। हालांकि, एक बार जब आप जीयूआई विचारों को समझते हैं जो ग्रहण (उदाहरण के लिए एक परिप्रेक्ष्य) के लिए अद्वितीय हैं, तो टूल का उपयोग करना एक अच्छा अनुभव बन जाता है।

सीडीटी टूलींग एक सभ्य सी / सी ++ इंडेक्सर प्रदान करती है जो आपको अपने कोड बेस में विधियों के संदर्भों को त्वरित रूप से ढूंढने की अनुमति देती है। यह एक अच्छा मैक्रो विस्तार उपकरण और सीमित रिफैक्टरिंग समर्थन भी प्रदान करता है।

डीबगिंग के समर्थन के संबंध में, सीडीटी कोर डंप पढ़ने के अपवाद के साथ आपकी सूची में सब कुछ करने में सक्षम है (यह इसका समर्थन कर सकता है, लेकिन मैंने कभी भी इस सुविधा का उपयोग करने की कोशिश नहीं की है)। साथ ही, टेम्पलेट का उपयोग करके डीबगिंग कोड के साथ मेरा अनुभव सीमित है, इसलिए मुझे यकीन नहीं है कि इस संबंध में सीडीटी किस प्रकार का अनुभव प्रदान करेगा।

ग्रहण सीडीटी का उपयोग करके डीबगिंग के बारे में अधिक जानकारी के लिए, आप इन मार्गदर्शकों को देखना चाह सकते हैं:

Question

संक्षेप में: क्या किसी को जीडीबी के लिए जीयूआई पता है जो इसे फीचर सेट के बराबर या करीब लाता है जो आपको विजुअल सी ++ के नवीनतम संस्करण में मिलता है?

विस्तार से: किसी ऐसे व्यक्ति के रूप में जिसने विंडोज़ में बहुत समय प्रोग्रामिंग बिताई है, मुझे जब भी मुझे लिनक्स में सी ++ कोड करना है, तो मुझे लगता है कि एक बड़े ठोकर वाले ब्लॉक में से एक यह है कि कमांडलाइन जीडीबी का उपयोग करके कुछ भी डिबगिंग करने से मुझे कई गुना अधिक समय लगता है विजुअल स्टूडियो, और यह प्रैक्टिस के साथ बेहतर नहीं लग रहा है। कुछ चीजें ग्राफिक रूप से व्यक्त करने के लिए बस आसान या तेज़ हैं।

विशेष रूप से, मैं एक जीयूआई की तलाश में हूं कि:

  • कोडिंग और कोड में कदम उठाने जैसी सभी मूलभूत बातें हैंडल और ब्रेकपॉइंट्स देखें
  • जटिल और घोंसला वाले सी ++ डेटा प्रकारों की सामग्री को प्रदर्शित और प्रदर्शित कर सकते हैं
  • पैरामीटर प्रकार जैसे प्रासंगिक जानकारी प्रदर्शित करते समय भ्रमित नहीं हो जाते हैं और अधिमानतः टेम्पलेट कोड और डेटा संरचनाओं के माध्यम से समझदारी से कदम उठा सकते हैं
  • थ्रेडेड अनुप्रयोगों को नियंत्रित कर सकते हैं और राज्य के माध्यम से कदम या देखने के लिए विभिन्न धागे के बीच स्विच कर सकते हैं
  • जीडीबी में प्रोग्राम शुरू करने के अलावा, पहले से शुरू की गई प्रक्रिया को जोड़ने या कोर डंप पढ़ने से संभाल सकते हैं

यदि ऐसा कोई कार्यक्रम मौजूद नहीं है, तो मैं उन कार्यक्रमों के अनुभवों के बारे में सुनना चाहता हूं जो कम से कम कुछ बुलेट बिंदुओं को पूरा करते हैं। क्या किसी के पास कोई सिफारिश है?

संपादित करें:
संभावनाओं को सूचीबद्ध करना बहुत अच्छा है, और मैं जो भी प्राप्त कर सकता हूं वह ले जाऊंगा, लेकिन यदि आप अपने प्रतिक्रियाओं में शामिल हो सकते हैं तो यह और भी उपयोगी होगा:
(ए) क्या आपने वास्तव में इस जीयूआई का उपयोग किया है या नहीं, और यदि हां, तो इसके बारे में आपके पास सकारात्मक / नकारात्मक प्रतिक्रिया क्या है।
(बी) यदि आप जानते हैं, उपर्युक्त सुविधाओं में से कौन सा समर्थित / समर्थित नहीं है

सूचीएं आने में आसान होती हैं, इस तरह की साइटें बहुत अच्छी हैं क्योंकि आप एप्लिकेशन के साथ लोगों के व्यक्तिगत अनुभवों का विचार प्राप्त कर सकते हैं।




गेनी का नवीनतम संस्करण इसका समर्थन करता है (हालांकि केवल लिनक्स पर)




मैंने जीडीबी के लिए कुछ अलग-अलग guis की कोशिश की है और डीडीडी को बेहतर बनाने के लिए पाया है। और जब मैं अन्य पर टिप्पणी नहीं कर सकता, लिनक्स के लिए गैर-जीडीबी प्रसाद मैंने अन्य प्लेटफार्मों पर कई अन्य डिबगर्स का उपयोग किया है।

जीडीबी आपकी इच्छा सूची में मौजूद अधिकांश चीजें करता है। डीडीडी उन पर एक अच्छा मोर्चा रखता है। उदाहरण के लिए थ्रेड स्विचिंग को सरल बना दिया गया है। ब्रेकपॉइंट्स सेट करना उतना आसान है जितना आप उम्मीद करेंगे।

यदि आप कुछ अस्पष्ट करना चाहते हैं तो आपको एक क्ली विंडो भी मिलती है।

डीडीडी की एक विशेषता जो कि मैंने उपयोग किए गए किसी अन्य डीबगर से ऊपर खड़ी है वह डेटा "ग्राफिंग" है। यह आपको खींचने योग्य बक्से के रूप में संरचनाओं, वस्तुओं और स्मृति को प्रदर्शित और व्यवस्थित करने की अनुमति देता है। एक पॉइंटर पर डबल क्लिक करने से पैरेंट को वापस लिंक के साथ संदर्भित डेटा खुल जाएगा।




पिछले 15 महीनों में मैं अंतर्दृष्टि का उपयोग करता हूं (एफसी 6 के साथ आया था)। यह बहुत अच्छा नहीं है, यह टीसीएल / टीके में लिखा गया है, लेकिन यह सरल और उपयोगी है। डीडीडी समान गुणवत्ता / उपयोगिता का है, लेकिन कुछ हद तक उपयोग करना कठिन है (विभिन्न जीयूआई गॉथचास और चूक)। मैंने अपने आईडीई, SlickEdit के साथ जीडीबी को एकीकृत करने की भी कोशिश की। यह ठीक काम करता है (मैंने इसके साथ कुछ 4 घंटे खेले हैं), लेकिन मुझे जीयूआई संदर्भ स्विच पसंद नहीं आया। मुझे डीडीगिंग करते समय अपरिवर्तित रहने के लिए मेरा आईडीई पसंद है; विंडोज़ पर मैं डीडीगिंग के लिए आईडीई और विजुअल स्टूडियो डीबगर के लिए SlickEdit का उपयोग करता हूं। तो 3: अंतर्दृष्टि, डीडीडी और SlickEdit से, अंतर्दृष्टि मेरी पहली पसंद है, मैं इसका उपयोग करता हूं> समय का 9 5%, कमांड लाइन जीडीबी और डीडीडी अन्य 5% बनाते हैं। अगर मुझे मौका मिलता है, तो मैं किसी बिंदु पर ग्रहण को मिटा दूंगा, मेरे काम पीसी में ग्रहण को उचित रूप से चलाने के लिए पर्याप्त रैम (केवल 1 जीबी) नहीं लगता है।

मैंने नौकरी साक्षात्कार के दौरान 1 हाथ सहित कुल दृश्य के लिए भी बहुत प्रशंसा की है। मैंने 2008 के अंत में हमारी कंपनी के लिए एक eval प्राप्त किया, लेकिन अंत में हम आगे बढ़े क्योंकि जीडीबी हमारी जरूरतों के लिए पर्याप्त था; और यह मुफ़्त और सर्वव्यापी है।




मैं विंडोज विकास के विचार को नफरत करता हूं, लेकिन वीसी ++ डीबगर सबसे अच्छा मैंने देखा है। मुझे एक जीयूआई फ्रंट एंड नहीं मिला है जो वीसी के करीब आता है।

एक बार जब आप वास्तव में इसका उपयोग करते हैं तो जीडीबी बहुत ही बढ़िया है। इसे क्रोध में पर्याप्त प्रयोग करें और आप बहुत कुशल बन जाएंगे। मैं आपके द्वारा सूचीबद्ध सभी चीजों को बिना किसी प्रयास के सूचीबद्ध कर सकता हूं। मैं कुशल होने से पहले एक दूरस्थ सर्वर से एक एसएसएच लिंक पर एक महीने या उससे अधिक पीड़ित था। हालांकि मैं कभी वापस नहीं जाऊंगा।

डीडीडी वास्तव में शक्तिशाली है लेकिन यह काफी छोटी थी। मैंने पाया कि जब यह जीडीबी से संदेश मिला तो यह अक्सर जम गया। यह अच्छा है क्योंकि इसमें एक जीडीबी इंटरफ़ेस विंडो है ताकि आप देख सकें कि क्या हो रहा है और सीधे जीडीबी के साथ भी बातचीत कर रहा है। डीडीडी का उपयोग मेरे पर्यावरण में एक दूरस्थ एक्स सत्र पर नहीं किया जा सकता है (एक वास्तविक समस्या, क्योंकि जब मैं यूनिक्स देव करता हूं तो मैं पतली क्लाइंट पर बैठा हूं) इसलिए यह मेरे लिए बाहर है।

KDevelop ने सामान्य केडीई शैली का पालन किया और उपयोगकर्ता को सबकुछ उजागर किया। मैंने कभी भी केडीवील्ड में गैर केडीवील्ड कार्यक्रमों को डिबग करने का कोई भाग्य नहीं लिया था।

जीएनटी प्रोग्रामिंग स्टूडियो (जीपीएस) वास्तव में जीडीबी के लिए काफी अच्छा अंत है। यह सिर्फ एडीए परियोजनाओं का प्रबंधन नहीं करता है, इसलिए यदि आपको डीबगर की आवश्यकता है तो यह कोशिश करने लायक है।

आप एक्लिप्स का उपयोग कर सकते हैं, लेकिन यह बहुत भारी वजन है और बहुत सी अनुभवी यूनिक्स लोग जिनके साथ मैंने काम किया है (मुझे शामिल है) अपने इंटरफ़ेस के लिए बहुत अधिक परवाह नहीं करते हैं, जो केवल एसटीएफयू नहीं बल्कि आपके रास्ते से बाहर निकल जाएगा। ग्रहण भी बहुत सी जगह लेता है और कुत्ते की तरह दौड़ता है।




ग्रहण जीडीबी फ्रंटएंड के समान ही आरामदायक इमाक्स फ्रंटएंड है, जो एमएसीएस से कसकर बंधे हैं। यदि आप पहले से ही emacs के साथ काम करते हैं, तो आप इसे पसंद करेंगे:

जीडीबी Emacs Frontend




विजुअल स्टूडियो से परिचित किसी व्यक्ति के रूप में, मैंने इसे बदलने के लिए कई ओपन सोर्स आईडीई को देखा है, और केडीवैल कुछ ऐसा होने के लिए निकटतम आईएमओ आता है जो एक दृश्य सी ++ व्यक्ति बस बैठकर शुरू करना शुरू कर सकता है। जब आप डिबगिंग मोड में प्रोजेक्ट चलाते हैं, तो यह जीडीबी का उपयोग करता है लेकिन पूरी तरह से kdevelop पूरी चीज को संभालने में मदद करता है ताकि आपको इसे जीडीबी नहीं पता हो; आप केवल एक चरणबद्ध हैं या चर के लिए घड़ियों असाइन कर रहे हैं।

दुर्भाग्यवश, यह अभी भी विजुअल स्टूडियो डीबगर के रूप में उतना अच्छा नहीं है।




आप उल्लेख नहीं करते कि आप विंडोज या यूनिक्स का उपयोग कर रहे हैं या नहीं।

यूनिक्स सिस्टम पर, KDbg अच्छा है लेकिन मैं KDbg उपयोग करता KDbg क्योंकि इसका उपयोग करना आसान है और KDbg में विकसित न किए गए ऐप्स के साथ भी काम करेगा।

Eclipse दोनों प्लेटफार्मों पर अच्छा है।

विंडोज़ पर, वास्काना डेस्कटॉप डेवलपर नामक एक शानदार पैकेज है जो ग्रहण सीडीटी और मिनजीडब्लू सभी पैक किए गए हैं और न्यूनतम दर्द के लिए अच्छी तरह से पूर्वसंरचित हैं। विंडोज़ पर जीएनयू कोड विकसित करने के लिए मैंने यह सबसे अच्छी चीज पाई है।

मैंने इन सभी डिबगर्स का उपयोग किया है और उनमें से कोई भी एमएस देव स्टूडियो जितना अच्छा नहीं है। ग्रहण / वास्काना शायद निकटतम है लेकिन इसमें सीमाएं हैं जैसे आप डीएलएल में कदम नहीं उठा सकते हैं और यह वैरिएबल की जांच करने के लिए अच्छा काम नहीं करता है।




मैं एक चल रहे प्रोग्राम के माध्यम से कदम करने के लिए एक डीबगर खोज रहा था। कहो: संलग्न करें। कार्यक्रम ग्रहण के साथ बनाया गया था, लेकिन शायद कुछ multithreadding बाधाओं के कारण, कोई स्रोतफाइल जहां शौकीन। जो कुछ।

मैं NetBeans के साथ बहुत परेशान हो गया।

  • [डीबग] मेनू से -> डीगर संलग्न करें ...
  • क्योंकि प्रक्रिया ने डीबग करने के लिए चुना है
  • परियोजना के रूप में [नई परियोजना]

अब खिड़की निराश होती है और आप कुछ भी नहीं देखते हैं। प्रक्रिया से अलग करें। रीड स्क्वायर "स्टॉप" मदद करता है।

  • प्रोजेक्ट से आयात स्रोत जैसे फ़ोल्डर। "... / MyProject / src
  • अब यह आपके प्रोजेक्ट में दिखाई देता है, और आप ब्रेकपॉइंट्स सेट कर सकते हैं।
  • फिर ttach डीबगर
  • डीबग करने की प्रक्रिया का चयन किया।
  • प्रोग्रामर अगले ब्रेकपॉइंट तक पहुंचने पर डीबगर बंद होना चाहिए।

[विंडो] पर जा रहे हैं -> [डीबगिंग] -> क्या आपकी खिड़की परेशानी होगी।




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




क्या आपने cygwin gdb के साथ gdb -w की कोशिश की है। यह एक विंडोज इंटरफ़ेस होने का अनुमान है जो काफी अच्छी तरह से काम करता है।

मुझे मिली एकमात्र समस्या यह है कि मेरी वर्तमान मशीन पर यह तब तक नहीं चला जब तक मैंने डीडी स्थापित नहीं किया। मुझे संदेह है कि इसे tcltk की आवश्यकता है जो स्थापित किया गया था जब मैंने ddd स्थापित किया था।







क्यूटी निर्माता-ऑन-लिनक्स निश्चित रूप से आजकल सी ++ के लिए विजुअल स्टूडियो-ऑन-विंडोज के बराबर है। मैं डीबगर पक्ष पर भी बेहतर कहूंगा।




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

इसके अलावा, अगर आप जीडीबी से जुड़े नहीं हैं और थोड़ी सी नकदी पोनिंग नहीं करते हैं, तो मैं कुल दृश्य का प्रयास करूंगा। इसमें थोड़ी सी सीखने की वक्र है (यह निश्चित रूप से अधिक सहज हो सकती है), लेकिन यह सबसे अच्छा सी ++ डीबगर है जिसे मैंने कभी भी किसी भी प्लेटफ़ॉर्म पर उपयोग किया है और इसे आपके ऑब्जेक्ट्स को कस्टम तरीकों से आत्मनिरीक्षण करने के लिए बढ़ाया जा सकता है (इस प्रकार आप इसे देखने की अनुमति देते हैं वस्तुओं की वास्तविक सूची के रूप में एसटीएल सूची, और भ्रमित आंतरिक डेटा सदस्यों, आदि का एक गुच्छा नहीं)






Links