2009-08-09 21 views
5

मैंने सी सी सीखी है और मैं ओपन सोर्स सॉफ्टवेयर को बेहतर बनाना शुरू करना चाहता हूं। मैं जीटीके + में एक परेशान बग को हैक करना चाहता हूं। बग देखने के लिए मुझे जीएडिट का उपयोग करने की आवश्यकता है।डीबगिंग कैसे शुरू करें?

मैं जीटीके + और जीएडिट के स्रोत कैसे डाउनलोड कर सकता हूं और उन दोनों को संकलित कर सकता हूं ताकि मैं देख सकूं कि बग कहां है? और मैंने लिनक्स में कभी भी डीबगर का उपयोग नहीं किया है, तो क्या इसके लिए कहीं कोई ट्यूटोरियल है?

उत्तर

8

आप यहाँ डाउनलोड करने और जीएडिट के संकलन के बारे में जानकारी प्राप्त कर सकते हैं: http://projects.gnome.org/gedit/developers.html

मेरे पसंद के डिबगर GDB है: http://www.gnu.org/software/gdb/

GDB एक सांत्वना अनुप्रयोग है कि अभी शुरुआत के लिए संभाल करने के लिए मुश्किल हो सकता है है। ग्रहण की तरह एक आईडीई आज़माएं जो जीडीबी को जीयूआई प्रदान करता है।

+0

+1 मुझे इसे हराया। ;) –

+1

मुझे सीजीडीबी पसंद है। यह जीडीबी के लिए एक ncurses wrapper है। – liori

+0

अंतर्दृष्टि उन लोगों के लिए एक और अच्छा मोर्चा है जो एक जीयूआई पसंद करते हैं। – McPherrinM

3

जानकारी इमारत पर और जीटीके + स्थापित करने के लिए यहाँ होना चाहिए: http://www.gtk.org/development.html

सूत्रों यहाँ होना चाहिए: http://www.gtk.org/download-linux.html

आप gdb की जाँच कर सकते हैं: http://www.gnu.org/software/gdb/ एक सुंदर मानक linux डिबगर है कि। मैं पहले कुछ आसान पर इसके साथ समय बिताता हूं, या एक आईडीई प्राप्त करता हूं जो इसका उपयोग करता है। जीडीबी सीखना हालांकि समय के लायक हो सकता है।

5

लगभग सभी लिनक्स डीबगर्स जीडीबी डीबगर के लिए फ्रंट-एंड के अनुकूल हैं या अनुकूलन हैं। इसलिए आपको पहले इसका उपयोग करना सीखना चाहिए, अधिमानतः अपने स्वयं के निर्माण के छोटे कार्यक्रमों को शुरू करके, विशाल एफओएसएस कोडबेस नहीं। here से उपलब्ध जीडीबी मैनुअल, वास्तव में एक बहुत अच्छा ट्यूटोरियल है।

2

gdb एक डायनासोर है जिसे लंबे समय से विलुप्त कर दिया जाना चाहिए। डिबगिंग एक ऐसा क्षेत्र है जहां (गैसपी!) विंडोज यूनिक्स को धड़कता है। मेरी छाती से निकलने के बाद, मैं आपको Data Display Debugger (DDD) ग्राफिकल फ्रंट एंड gdb से शुरू करने की सलाह देता हूं। हां, जीयूआई विचित्र है, लेकिन से शुरू होने पर आप दूर अधिक उत्पादक, तेज होंगे।

मेमोरी त्रुटियों को ढूंढने और निदान करने के लिए valgrind को अनदेखा न करें। केडीई परियोजना वास्तव में valgrind का उपयोग जरूरी है; मुझे जीनोम के बारे में निश्चित नहीं है।

0

यह संभव है कि यदि आप नवीनतम जीएडिट और gtk + स्रोत डाउनलोड करते हैं तो आपको बग दिखाई नहीं देगा। यह नवीनतम स्रोतों में तय किया जा सकता है या नवीनतम स्रोत आपके बग को ट्रिगर नहीं करने के लिए पर्याप्त भिन्न हो सकते हैं।

आप क्या लिनक्स वितरण चल रहे हैं?

सबसे पहले मैं आपके वितरण के बग डेटाबेस से परामर्श करने का सुझाव देता हूं कि यह देखने के लिए कि किसी ने एक समान बग दायर किया है या नहीं। यदि आपको कुछ भी नहीं मिला है, तो मैं आपके वितरण के टूल का उपयोग करने का सुझाव दूंगा जो कि आपके sytem पर स्थापित बाइनरी से मेल खाता है (उदाहरण के लिए डेबियन या उबंटू पर apt-get source libgtk-2.0)।

इसके अलावा, आपका वितरण एक डीबग पैकेज भी उपलब्ध कर सकता है (उदा। डेबियन पर libgtk2.0-0-dbg) जो आपको उस बाइनरी पर डीबगर चलाने देगा जो आपके पास पहले से ही स्रोत की आवश्यकता के बिना है। हालांकि यह स्रोत रखने के लिए कोई विकल्प नहीं है, यह वालग्रींड चलाने या कोर फ़ाइल से समझने के लिए उपयोगी हो सकता है।

+0

मेरा वितरण उबंटू है। मैंने एक बार बग की सूचना दी और एक साल बाद मैंने सुना कि फिक्स जारी किया गया था। लेकिन मेरे परीक्षणों के अनुसार, बग अभी भी वहां है और मैंने अपने उबंटू को नवीनतम संस्करण में कमांड सूडो एपीटी-अप अपग्रेड द्वारा अपडेट किया है। –

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